59 lines
2.3 KiB
Markdown
59 lines
2.3 KiB
Markdown
# 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:
|
|
```python
|
|
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)
|
|
```python
|
|
# 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
|