Experimental support to execute in the main world. Usage: `page.evaluate("mw:<script>")`
Has only been implemented to pass JSON serializable objects to/from the main world (Isolated worlds are still the default, and should be used unless necessary).
- Added `voices` parameter, which takes a list maps for each voice to add. Example:
`[ {"isLocalService": true, "isDefault": true, "voiceUri": "Ting-Ting", "name": "Ting-Ting", "lang": "zh-CN" } ... ]`
- Added `voices:blockIfNotDefined` has been added to block system voices
- Added `voices:fakeCompletion: bool` and `voices:fakeCompletion:charsPerSecond: double` to set a fake playback speed.
- Update upstream Firefox version to 132.0.
- Updated Playwright patches and Juggler to FF132 (+1 version above current parent Playwright branch)
- Removed upstream DNS leak patch (has been added natively)
- Added WebGL context attribute "forceSoftwareRendering"
- Fixed some memory enhancement prefs not setting correctly.
- Bfcache is now completely disabled. This should improve memory, but kills Playwright's page.go_back() and page.go_forward(). To re-enable this, set `browser.sessionhistory.max_entries` to the amount of pages you want to remember.
- Moved SanitizeOnShutdown policy to preferences instead. This unlocks clearOnShutdown preferences. #47
- Added experimental memorysaver property that clears all of the memory after each page.goto navigation. Helpful for datacenters running Camoufox, but could potentially break things.
- Cursor now starts in a random position on the screen
- Fixed screenshots not capturing the full window when a viewport is set by window.innerWidth and window.innerHeight.
- Added ability to spoof webgl2 supported extensions
- Added ability to block parameters that aren't defined in config
- Passing null in config will block the value
- Added more parameters to the demo site
Experimental WebGL fingerprint injection.
- Allows the ability to set all WebGL parameters, supported extension list, shader precision formats, & context attributes.
- Added a demo website under scripts/examples/webgl.html that can be used to generate Camoufox config data
- Add back frame execution contexts. Fixes leaks by using an isolated context. #3#6
- Fixed other small errors in Juggler (viewport size & error message stack)
- Add debugging functionality to Juggler
- Add launcher argument to write stderr to a log file
- Bumped to v130.0-beta.5
- Merged new July 25th changes into Juggler
- Retrofit playwright patches to the latest version
- Removed Nvidia Wayland fix backport
- Updated bootstrap patch from LibreWolf
Juggler will no longer notify content-document-global-created.
This patch also reverses the _Runtime domain rename fix due to Playwright breakage.
This was causing leaks with some WAFs.
- Use GetEnvironmentVariableW to get CAMOU_CONFIG in UTF-16 instead of ANSI on Windows. Prevents data loss.
- Added ability to pass in CAMOU_CONFIG in multiple environment variables
- Split environment variables into 2047 character chunks on Windows
- Use github.com/goccy/go-json for faster JSON encoding
- Fix Windows not finding relative camoufox.exe file
- Heavy changes to Makefile. Now uses aria2c to download the Firefox release tarball
- New features in developer UI to make patch editing much easier
- Modified Playwright's Juggler patches to run on Firefox release v128.0.3
- Bump Playwright Juggler module to June 2th patches
- Fix viewport-hijacker and xmas-modified patches for new Firefox release