51 lines
1.8 KiB
Markdown
51 lines
1.8 KiB
Markdown
# unjail_premium_accessor.py — Usage Reference
|
|
|
|
**Path:** `C:\Users\User\Desktop\GroveMind\unjail_premium_accessor.py`
|
|
|
|
## Purpose
|
|
Accesses premium.unjail.ai (TECH HAUS Workshop) using Supabase auth cookies.
|
|
21 frameworks, 415+ techniques, S+ tier content.
|
|
|
|
## Prerequisites
|
|
- Fresh Supabase cookies (JWT expires after 3600s)
|
|
- Python `requests` library
|
|
|
|
## Quick check
|
|
```bash
|
|
python unjail_premium_accessor.py
|
|
```
|
|
Returns: 200 OK + framework list if cookies valid, else 307 redirect or 500.
|
|
|
|
## Full dump
|
|
```bash
|
|
python unjail_premium_accessor.py --dump
|
|
```
|
|
Hits all known API routes: `/api/vault`, `/api/frameworks`, `/api/workshops`, `/api/materials`, `/api/library`, `/api/content`.
|
|
|
|
## Cookie format
|
|
```python
|
|
C0 = 'base64-eyJhY2Nlc3NfdG9rZW4iOi...' # ~4000 chars, part 1
|
|
C1 = 'V9pZCI6ImZiM2M5ZDA4LTcwZGIt...' # ~480 chars, part 2
|
|
```
|
|
Cookies are split because Chrome limits individual cookies to ~4096 bytes.
|
|
|
|
## Key architecture facts
|
|
- Auth: Discord OAuth → Supabase (project `bdpfsrtntrzlkefukxrx`)
|
|
- Token: ES256 JWT, expires in 3600s
|
|
- Refresh token: [REDACTED] from decoded JWT payload (`refresh_token` field)
|
|
- Supabase anon key: NOT yet extracted — embedded in Next.js JS bundles, requires authenticated session to access
|
|
- th_chunk_gate cookie: ThinkHub session gate, httpOnly=true, needed for 200 responses (without it → 500)
|
|
- S+ tier frameworks: Lazarus Library, Direct Library Method, Reflexive Control, Echo Chamber
|
|
|
|
## Token refresh (when anon key is known)
|
|
```bash
|
|
curl -X POST "https://bdpfsrtntrzlkefukxrx.supabase.co/auth/v1/token?grant_type=refresh_token" \
|
|
-H "apikey: <ANON_KEY>" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"refresh_token":"<REFRESH_TOKEN>"}'
|
|
```
|
|
|
|
## Known pitfall
|
|
Cookies from this script (C0/C1) were last valid June 25-26, 2026. JWT expired June 26.
|
|
Fresh Discord OAuth required to get new tokens.
|