Commit graph

30 commits

Author SHA1 Message Date
daijro
d11cbe4dee Handle list and dict types from main world 2024-12-03 17:54:22 -06:00
daijro
4305385f0b feat: Main world JS evaluation
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).
2024-12-03 06:36:31 -06:00
daijro
ad807b2ffe Bump to FF133 beta.18 2024-12-01 05:27:18 -06:00
daijro
74d016e9a9 feat: Voice spoofing
- 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.
2024-11-04 02:52:10 -06:00
daijro
1adc258fd8 Allow Playwright's defaultViewportSize 2024-11-03 05:08:09 -06:00
daijro
8ed8a97ae9 Don't block setViewport
When window.innerWidth or window.innerHeight is not provided, allow Juggler's setViewport to still work.
2024-11-03 01:38:44 -05:00
daijro
2539e60a79 Bump to FF132 beta.14
- 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"
2024-11-01 00:50:26 -05:00
daijro
dc3c0bde16 Misc fixes beta.13
- 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.
2024-10-24 01:32:47 -05:00
daijro
711b5b4550 Backwards compatibility with <0.3.0
Change ALL webgl keys to webGl. This keeps backwards compatibility with <0.3.0 versions of the Python library.
2024-10-20 00:46:53 -05:00
daijro
5bfc3ee026 Further improved WebGL spoofing beta.12
- 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
2024-10-14 20:31:58 -05:00
daijro
02bc15161a feat: WebGL fingerprint spoofing
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
2024-10-14 02:12:13 -05:00
daijro
3b996534d8 feat: Add humanize:minTime
Set the minimum time of the cursor movement.
2024-10-12 00:21:38 -05:00
daijro
3f9863211a Fix C++ default_random_engine seed not compiling in macOS 2024-10-02 22:34:03 -05:00
daijro
80b084a9b3 feat: Add human-like cursor movement & cursor highlighter #19 beta.10
All info in README.
2024-10-02 21:15:46 -05:00
daijro
782a2157bd Juggler: fix Playwright default viewport
Fixes a bug that prevents Playwright's default viewport from loading.
Caused by function not getting renamed when refactoring chromeutil.patch
2024-10-02 06:19:29 -05:00
daijro
7598704d79 Fix swapped rect properties
Fixed a logical bug in MaskConfig swapped some screen and document.body properties.

- document.body.clientTop <--> document.body.clientWidth
- screen.availTop <--> screen.availLeft
- screen.availWidth <--> screen.availHeight
2024-09-30 01:49:05 -05:00
daijro
752a36c9c2 Fix viewport hijacking beta.9
Fixes Playwright's setDefaultViewport overriding Camoufox viewport data.
2024-09-30 00:38:47 -05:00
daijro
ea0a0363fa Add Heap.collectGarbage, bump to v130.0.1
- Juggler: Add method to force garbage collection: f2a974b045s
- Bumped to v130.0.1
2024-09-19 05:40:00 -05:00
daijro
021b2f895d Juggler: Add logging & fix frame execution issues #3 #6
- 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
2024-09-11 04:06:05 -05:00
daijro
f25c39749d Bump to v130.0
- Merged new July 25th changes into Juggler
- Retrofit playwright patches to the latest version
- Removed Nvidia Wayland fix backport
- Updated bootstrap patch from LibreWolf
2024-09-09 17:43:41 -05:00
daijro
c5356e9e41 Cleanup & bump to v129.0-beta.4
- Rename /dom/mask -> /camoucfg
- Rename auto-pin-extensions.patch -> pin-addons.patch
- Remove redundant comment in juggler/content/FrameTree.js
2024-08-18 04:30:45 -05:00
daijro
f8f868307a Fix frame execution contexts leak
- Prevents the creation of execution contexts in frames on content-document-global-created.
- Also fixes input events not working in Playwright
2024-08-17 21:08:43 -05:00
daijro
834aa5a2c3 Juggler: Set default color scheme to dark 2024-08-17 05:50:27 -05:00
daijro
b9d1503487 Fix viewport hijacking
Do not allow Juggler to set its default viewport size if Camoufox set it first
2024-08-17 00:24:50 -05:00
daijro
2f57040710 Experimental observer leak fix
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.
2024-08-13 06:24:53 -05:00
daijro
85e92ecbf4 Experimental Runtime detection bypass
Renames the Juggler protocol "Runtime" -> "_Runtime"
2024-08-11 01:16:10 -05:00
daijro.dev@gmail.com
0448ea1c20 Launcher fixes for Windows
- 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
2024-08-06 05:40:54 -05:00
daijro
717aa9db36 Fix JSON format failures when packaging 2024-08-01 20:28:07 -05:00
daijro
bd12f3c46e Many changes, bump to v128.0.3-1
- 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
2024-08-01 04:41:03 -05:00
daijro.dev@gmail.com
1090f6a212 Initial release v128.0-1 2024-07-26 06:49:20 -05:00