Files

2.3 KiB

Comet Cookie Extraction — All Known Methods

Method 1: F12 DevTools (MOST RELIABLE)

User presses F12 → Application tab → Cookies → premium.unjail.ai → copy values.

  • Works while browser is running
  • Gets httpOnly cookies too
  • Requires user interaction (10 seconds)

Method 2: Close Comet, read SQLite

  1. User closes Comet completely (taskkill /f /im comet.exe)
  2. Read cookies from disk:
import sqlite3
db = r"C:\Users\User\AppData\Local\Comet\User\Default\Network\Cookies"
conn = sqlite3.connect(f"file:{db}?mode=ro", uri=True)
cur = conn.execute("SELECT host_key, name, value FROM cookies WHERE host_key LIKE '%unjail%' OR host_key LIKE '%supabase%'")
for row in cur.fetchall():
    print(f"{row[1]}={row[2]}")
conn.close()
  • Gets ALL cookies including httpOnly
  • Disruptive (browser must close)

Method 3: document.cookie via JS injection (PARTIAL)

# Via Win32 SendKeys into address bar
shell.SendKeys("javascript:void{(}{(}document.body.innerText=document.cookie{)}{)}")
  • Only gets non-httpOnly cookies
  • Supabase auth-token cookies are httpOnly=false → WORKS
  • th_chunk_gate is httpOnly=true → INVISIBLE

Method 4: Comet CDP (DOES NOT WORK)

Comet (Perplexity build) does NOT support --remote-debugging-port.

  • 0 TCP listening ports confirmed via netstat -ano
  • Playwright MCP → ECONNREFUSED
  • DO NOT waste time trying CDP with Comet

Database locations

  • C:\Users\User\AppData\Local\Comet\User\Default\Network\Cookies — main profile
  • C:\Users\User\AppData\Local\Comet\UserData\Default\Network\Cookies — alternate (same data)
  • Both locked while Comet runs (15 Perplexity cookies only on disk)
  • No WAL file — journal is 0 bytes

unjail.ai specific cookies needed

sb-bdpfsrtntrzlkefukxrx-auth-token.0  — Supabase JWT part 1 (httpOnly: false)
sb-bdpfsrtntrzlkefukxrx-auth-token.1  — Supabase JWT part 2 (httpOnly: false)
th_chunk_gate                          — ThinkHub session gate (httpOnly: true)

Token structure

  • Supabase project: bdpfsrtntrzlkefukxrx
  • Auth: Discord OAuth → Supabase ES256 JWT
  • Token split across 2 cookies (~4000 + ~480 bytes) due to 4096-byte browser limit
  • Cookie values are raw base64 (NOT base64url) with base64- prefix on cookie 0
  • JWT payload contains: access_token, refresh_token, user metadata, Discord identity
  • Expiry: 3600 seconds from issue