b09a8248af
Add font enumeration hardening, document.fonts protection, Client Hints stripping, and WebGL parameter normalization
...
- Font enumeration: seeded noise on offsetWidth/Height, scrollWidth/Height, clientWidth/Height
- document.fonts: check() returns false, size returns 0, forEach is no-op
- Client Hints: strip Sec-CH-UA/Full-Version-List, override Platform/Mobile per container
- WebGL: merge PARAM_OVERRIDES into getParameter (MAX_TEXTURE_SIZE, attribs, etc.)
- Clean up dead code in WebGL extended section
- Test page: add Font DOM, document.fonts, and Client Hints test sections
- README: update vector table (18 vectors), add about:config and testing docs
2026-03-01 15:49:40 -06:00
0c370240c2
Bump version to 0.3.0
2026-03-01 15:31:21 -06:00
ed9355ced6
Add HTTP header spoofing, fix timezone overrides, and expand fingerprint coverage
...
- Spoof User-Agent and Accept-Language HTTP headers per container via
webRequest.onBeforeSendHeaders, eliminating JS/HTTP header mismatch
- Wrap Intl.DateTimeFormat constructor to inject spoofed timezone
- Pre-create timezone formatters outside exportFunction callbacks to
avoid cross-compartment issues with Date.toString/toTimeString
- Fix WebRTC relay-only config to use JSON serialization across
Firefox compartment boundaries
- Add new fingerprint vector protections: speechSynthesis.getVoices(),
matchMedia screen dimension queries, performance.now() precision
reduction, navigator.storage.estimate(), WebGL extension normalization
- Add comprehensive fingerprint test page (test/fingerprint-test.html)
covering all 17 vectors with per-container comparison support
2026-03-01 15:22:21 -06:00
264a401cef
Add coherent device profiles and User-Agent spoofing
...
Device archetypes ensure platform, GPU, resolution, and UA all match
(e.g. Linux profile gets Mesa renderers and X11 UA string). Spoofs
navigator.userAgent, appVersion, and oscpu per container.
2026-03-01 00:50:30 -06:00
a371859273
Add data_collection_permissions for AMO submission
2026-03-01 00:27:51 -06:00
1e7327e9df
Bump version to 0.2.0
2026-02-28 23:48:01 -06:00
93dee6f756
Update README with options page, vector controls, and whitelist docs
2026-02-28 23:44:50 -06:00
ba6449c5b0
Add options page with vector controls, whitelist, and container management
...
- Options page (open_in_tab) with 4 sections: fingerprint vector toggles,
domain whitelist, container table with delete, and bulk actions
- Per-vector spoofing control: 12 independent toggles (canvas, WebGL,
audio, navigator, screen, timezone, WebRTC, fonts, clientRects,
plugins, battery, connection)
- Domain whitelist bypasses containerization entirely
- Delete individual containers from options UI
- Remove dead code (tabOrigins, getContainerDomain)
- Refactor profile registration into buildProfileAndRegister helper
2026-02-28 23:43:12 -06:00
246933599f
Fix cross-domain navigation staying in wrong container
...
Tabs now switch to the correct container when navigating to a different
domain (e.g. clicking a search result on DDG). User-created containers
outside ContainSite are left alone.
2026-02-28 23:27:11 -06:00
077a3d0d1b
Add README and GPL-3.0 license
2026-02-28 23:27:11 -06:00
a058d78c20
Initial release — per-site container isolation with unique device fingerprints
...
Automatic per-domain containers with hardened fingerprint spoofing:
canvas, WebGL, audio, navigator, screen, timezone, WebRTC, fonts,
ClientRects, plugins, battery, and connection APIs.
2026-02-28 22:59:46 -06:00