The current stealth system (added in #58 / #59) is insufficient against stricter anti-bot services like archive.ph. The NewInteractiveBrowser (Chromium) successfully loads archive.ph, but NewBrowser (Firefox, used by mort's summary system) gets HTTP 429 blocked.
Investigation reveals several architectural gaps:
Aspect
NewInteractiveBrowser (WORKS)
NewBrowser (FAILS)
Browser engine
Chromium (explicit)
Firefox (default)
Viewport
1280×720 (explicit)
None set
Stealth args
--disable-blink-features applied
Not applied (Firefox ignores Chromium args)
New headless mode
Channel: "chromium" applied
Not applied (Firefox)
The 12 stealth init scripts were written exclusively for Chromium but are injected unconditionally into all browser engines including Firefox. Firefox receives scripts that reference window.chrome, Chrome PDF plugins, HeadlessChrome UA stripping, etc. — all are no-ops or actively suspicious on Firefox. Meanwhile, Firefox-specific headless detection vectors are completely unaddressed.
Additionally, every browser session has identical static fingerprint values (WebGL renderer, plugin list, connection stats), making fingerprint-based detection trivial across sessions.
Sub-tasks
#69 — Add Firefox-specific stealth and split browser-conditional init scripts
#70 — Set default viewport for NewBrowser and align User-Agent with browser engine
#71 — Randomize static fingerprint values across browser sessions
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
The current stealth system (added in #58 / #59) is insufficient against stricter anti-bot services like archive.ph. The
NewInteractiveBrowser(Chromium) successfully loads archive.ph, butNewBrowser(Firefox, used by mort's summary system) gets HTTP 429 blocked.Investigation reveals several architectural gaps:
NewInteractiveBrowser(WORKS)NewBrowser(FAILS)--disable-blink-featuresappliedChannel: "chromium"appliedThe 12 stealth init scripts were written exclusively for Chromium but are injected unconditionally into all browser engines including Firefox. Firefox receives scripts that reference
window.chrome, Chrome PDF plugins,HeadlessChromeUA stripping, etc. — all are no-ops or actively suspicious on Firefox. Meanwhile, Firefox-specific headless detection vectors are completely unaddressed.Additionally, every browser session has identical static fingerprint values (WebGL renderer, plugin list, connection stats), making fingerprint-based detection trivial across sessions.
Sub-tasks
NewBrowserand align User-Agent with browser enginePrior Art
steve/mortsummary system blocked by archive.ph (HTTP 429)Starting work on #69 (split browser-conditional init scripts and add Firefox-specific stealth). This is the first sub-task of this epic.
Starting work on #70 (default viewport and engine-aligned User-Agent). This is the second sub-task of this epic, building on #69 (completed in #72).