How daijro/browserforge works
BrowserForge generates statistically realistic HTTP headers and browser fingerprints, then can apply fingerprints to browser-automation contexts or pages. The principal workflow is constrained generation: header options feed Bayesian sampling, fingerprint generation adds screen and browser properties, and injector adapters configure automation engines. The README also documents locale, HTTP-version and screen constraints, User-Agent-based generation, and optional WebRTC/slim behavior. Edges are limited to relationships shown in excerpts or the source index; the remaining fingerprint and injector internals were not inspected.
Main entry points: headers/generator.py Header generator · fingerprints/generator.py Fingerprint generator · utils.py Injection utilities · injector.py Playwright adapter
Components 12
Generation
- Header generator
browserforge/headers/generator.py - Header utilities
browserforge/headers/utils.py - Fingerprint generator
browserforge/fingerprints/generator.py
Sampling
- Bayesian sampler
browserforge/bayesian_network.py
Browser injection
- Injection utilities
browserforge/injectors/utils.py - Playwright adapter
browserforge/injectors/playwright/injector.py - Pyppeteer adapter
browserforge/injectors/pyppeteer/injector.py - Undetected adapter
browserforge/injectors/undetected_playwright/injector.py
Other components
- Library user
- Playwright browser
- Pyppeteer browser
- Undetected browser
Connections 18
- Library user → Header generator: requests headers
README.md - Header generator → Library user: returns headers
README.md - Library user → Fingerprint generator: requests fingerprint
README.md - Fingerprint generator → Library user: returns fingerprint
README.md - Header generator → Bayesian sampler: samples constraints
browserforge/headers/generator.py - Fingerprint generator → Bayesian sampler: samples properties
browserforge/fingerprints/generator.py - Fingerprint generator → Header generator: generates headers
browserforge/fingerprints/generator.py - Header generator → Header utilities: uses utilities
browserforge/headers/generator.py - Library user → Playwright adapter: creates context
browserforge/injectors/playwright/injector.py - Playwright adapter → Injection utilities: builds injection
browserforge/injectors/playwright/injector.py - Playwright adapter → Playwright browser: configures context
browserforge/injectors/playwright/injector.py - Library user → Pyppeteer adapter: creates page
browserforge/injectors/pyppeteer/injector.py - Pyppeteer adapter → Injection utilities: builds injection
browserforge/injectors/pyppeteer/injector.py - Pyppeteer adapter → Pyppeteer browser: configures page
browserforge/injectors/pyppeteer/injector.py - Library user → Undetected adapter: creates context
browserforge/injectors/undetected_playwright/injector.py - Undetected adapter → Injection utilities: builds injection
browserforge/injectors/undetected_playwright/injector.py - Undetected adapter → Undetected browser: configures context
browserforge/injectors/undetected_playwright/injector.py - Injection utilities → Fingerprint generator: generates if absent
browserforge/injectors/utils.py