# NodeLoc Cookie Format ## Required cookies | Cookie | Type | Domain | HttpOnly | Secure | Session | Purpose | |--------|------|--------|----------|--------|---------|---------| | _forum_session | session | www.nodeloc.com | yes | yes | yes | Main auth session | | _t | persistent | www.nodeloc.com | yes | yes | no | Long-lived token (~1 year) | | __stripe_mid | persistent | .www.nodeloc.com | no | yes | no | Stripe tracking | | __stripe_sid | persistent | .www.nodeloc.com | no | yes | no | Stripe session | | _bypass_cache | session | www.nodeloc.com | no | no | yes | Cache bypass flag | ## Extraction from browser Export cookies from browser (EditThisCookie extension or similar JSON format), then map to Python dict: ```python NODELOC_COOKIES = { "_forum_session": "", "_t": "", "__stripe_mid": "", "__stripe_sid": "", "_bypass_cache": "true", } ``` Values are URL-encoded (e.g. `%2B` for `+`, `%2F` for `/`). Do NOT decode — pass as-is. ## Expiration - `_forum_session` — session cookie, dies when browser closes - `_t` — expires ~1 year from issue (check `expirationDate` in JSON) - `__stripe_mid` — ~1 year - `__stripe_sid` — ~30 days ## Format in scanner.py ```python NODELOC_COOKIES = { "__stripe_mid": "2f6ae8f0-...", "__stripe_sid": "dc820df4-...", "_bypass_cache": "true", "_forum_session": "UFIeORa2dELV...", "_t": "fBq98ACHkgbd...", } ``` Then used as: `session.get(url, cookies=NODELOC_COOKIES, ...)`