From 7ac981cccfc1d7b8985238698fd52693c2622146 Mon Sep 17 00:00:00 2001 From: sturq <81992095+sturq@users.noreply.github.com> Date: Sun, 17 May 2026 04:31:56 +0200 Subject: [PATCH] fix(gumroad, girlslife): force Accept-Encoding: identity Both modules advertised "gzip, deflate, br, zstd" in Accept-Encoding, but httpx ships only gzip/deflate decoders out of the box. When the upstream server honored the header and replied with brotli or zstd, response bodies came back as raw compressed bytes, so the nonce regex in girlslife and response.json() in gumroad fell over with parse and exception errors. Switching to identity keeps the response uncompressed, no extra deps required. Confirmed locally with brotli/zstandard NOT installed (httpx decoders limited to identity, gzip, deflate): both modules return Registered / Not Registered cleanly. --- user_scanner/email_scan/creator/gumroad.py | 4 ++-- user_scanner/email_scan/entertainment/girlslife.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/user_scanner/email_scan/creator/gumroad.py b/user_scanner/email_scan/creator/gumroad.py index de1c53dc..5f4fcc5d 100644 --- a/user_scanner/email_scan/creator/gumroad.py +++ b/user_scanner/email_scan/creator/gumroad.py @@ -11,7 +11,7 @@ async def _check(email: str) -> Result: headers1 = { 'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36", 'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", - 'Accept-Encoding': "gzip, deflate, br, zstd", + 'Accept-Encoding': "identity", 'sec-ch-ua': '"Not(A:Brand";v="8", "Chromium";v="144", "Google Chrome";v="144"', 'sec-ch-ua-mobile': "?0", 'sec-ch-ua-platform': '"Linux"', @@ -45,7 +45,7 @@ async def _check(email: str) -> Result: headers2 = { 'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36", 'Accept': "text/html, application/xhtml+xml", - 'Accept-Encoding': "gzip, deflate, br, zstd", + 'Accept-Encoding': "identity", 'Content-Type': "application/json", 'sec-ch-ua-platform': '"Linux"', 'x-csrf-token': csrf_token, diff --git a/user_scanner/email_scan/entertainment/girlslife.py b/user_scanner/email_scan/entertainment/girlslife.py index 1834802b..6468195b 100644 --- a/user_scanner/email_scan/entertainment/girlslife.py +++ b/user_scanner/email_scan/entertainment/girlslife.py @@ -9,7 +9,7 @@ async def _check(email: str) -> Result: headers = { 'User-Agent': "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36", 'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8", - 'Accept-Encoding': "gzip, deflate, br, zstd", + 'Accept-Encoding': "identity", 'sec-ch-ua': '"Brave";v="147", "Not.A/Brand";v="8", "Chromium";v="147"', 'sec-ch-ua-mobile': "?1", 'sec-ch-ua-platform': '"Android"',