Commit graph

32 commits

Author SHA1 Message Date
daijro
33085c90f3 Merge with Playwright a121f85
Merges patches with the latest commit: a121f85ce9
2025-01-24 18:20:07 -06:00
daijro
a8e0855639 [Closed] feat: Canvas anti-fingerprinting beta.19
Added undetectable Canvas shape & line fingerprint rotation by modifying the Skia rendering pipeline. This bypasses all known Canvas pixel integrity tests.

Note: Due to this repository being monitored, the source for this patch is closed. All GitHub releases will still have this patch included in it. However, this patch will not be included in local builds of Camoufox.
2024-12-09 02:47:32 -06:00
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