Commit graph

66 commits

Author SHA1 Message Date
daijro
3484b7c4be Fix WebRTC IP leaks in SDP log #184 2025-03-04 00:17:58 -06:00
daijro
ae7263428e Add an allowAddonNewtab toggle #188 2025-02-11 12:22:08 -06:00
daijro
8a1abfb9a5 Disable OOPIFs without disabling COOP #150 2025-02-05 16:51:54 -06:00
daijro
0fea201d83 Add theming toggle #179 2025-02-05 15:54:19 -06:00
daijro
cf269d6b60 feat: Force system principal scope access (forceScopeAccess)
A workaround to restore some original Playwright functionality.

Forces Playwright to run in "God mode", allowing it to bypass CORS restrictions, access shadow roots (with element.shadowRootUnl), access undocumented JS browser methods, modify DOM without `allowMainWorld`, & restore some unsupported Playwright functionality.

Note: `forceScopeAccess` is not detectable/visible to the page unless the dom is directly modified (elements are added or removed).
2025-02-03 20:49:42 -06:00
daijro
33085c90f3 Merge with Playwright a121f85
Merges patches with the latest commit: a121f85ce9
2025-01-24 18:20:07 -06:00
daijro
841f7399a2 Fix screen hijacker for FF134 2025-01-22 03:35:43 -06:00
daijro
c36915b497 Bump to FF134
Updates patches for Firefox 134.0.1
2025-01-22 01:10:32 -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
8781015338 Remove night sky theme background GIF #123 2024-12-09 01:18:48 -06:00
daijro
5dbecfdf20 Fix PW overriding custom screen width/height #89 2024-12-03 18:36:22 -06:00
daijro
ad807b2ffe Bump to FF133 beta.18 2024-12-01 05:27:18 -06:00
daijro
90c3cd6c78 Load addons without debug server #90
- A list of addons can now be passed with the `addons` property
- Merged all browser-init patches into one
- Removed the remote cue disabler patch to warn the user if a debug server is enabled
2024-11-21 16:22:05 -06:00
daijro
50bf1a0e90 Https upgrade telemetry should default to not initialized 2024-11-19 01:55:19 -06:00
daijro
9eab67e5ca feat: Media device count spoofing
Spoof the amount of microphones (default is 3), cameras (1), and speakers (1) on the device.
2024-11-19 01:06:14 -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
d279ed0cf0 Add font spacing seed #38
Adds fonts:spacing_seed to control the spacing of rendered text.
2024-11-03 23:04:20 -06:00
daijro
c70886fbcd Fix typo in background tasks bugfix patch name 2024-11-02 06:31:22 -05:00
daijro
00f126729b Fix bug in FF132 that causes MacOS builds to fail
Without --enable-backgroundtasks, macOS fails seem to fail after this change:
https://phabricator.services.mozilla.com/D219834

This commit patches the broken code in nsAppRunner.
2024-11-02 03:34:41 -05:00
daijro
b5b00d650c Add dbus name patch 2024-11-01 00:54:22 -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
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
0ff90fc750 Version range control, multi locale usage, etc
- Python library now constrains the supported Camoufox version, and will force an update if you are out of date.
- Added support patch for multiple accepted languages #37
- Added pysocks #43
- Added README deprecation notices
- Added public launch_options command
- Bumped python library to 0.3.0
- Full support for beta.12
2024-10-19 23:10:51 -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
1532d7bb31 Consistent naming of webgl properties
Always use "webgl:" instead of "webGl:"
2024-10-14 04:36:01 -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
df755def7f feat: AudioContext spoofing
Added the following properties:
- AudioContext:sampleRate
- AudioContext:outputLatency
- AudioContext:maxChannelCount
2024-10-12 03:21:55 -05:00
daijro
a8e9ffaa64 README: Add debug flow chart
Added more information for anyone interested in building/debugging Camoufox.
2024-10-10 05:07:13 -05:00
daijro
595828a446 Update Makefile & add navigation debugging 2024-10-09 20:48:58 -05:00
daijro
49cea6eca8 Fix headless leak #26 beta.11
Forces the default pointer value to a mouse-type pointer, fixing the detection issues on headless browsers.
2024-10-09 04:16:37 -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
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
5263cb6305 Add locale spoofing #16 beta.8
Spoof the Intl API, headers, and system locale values.
Added the following properties:
- locale:language
- locale:region
- locale:script
2024-09-28 17:09:22 -05:00
daijro
8385561b19 Add timezone spoofing #5
Adds "timezone" property to set a custom tz identifier (ex: "America/Chicago").
Also changes Date() properties to return the local time.
2024-09-22 22:00:58 -05:00
daijro
917c159d57 Add geolocation spoofing
Adds the following:
- geolocation:latitude
- geolocation:longitude
- geolocation:accuracy

If accuracy is not provided, it will be automatically calculated based on the decimal precision of the given latitude and longitude.
2024-09-22 08:30:40 -05:00
daijro
d0ea1a297b Make common ChromeUtils patch 2024-09-22 08:26:38 -05:00
daijro
9dfb15d371 Add upstream DNS leak fix #10 2024-09-16 00:49:28 -05:00
daijro
d32f76fb0e feat: Instant CSS animations
Sets all css animations to run instantly. Creates less delay with Playwright when waiting for elements to appear.
2024-09-14 08:36:14 -05:00
daijro
bc2f591844 LibreWolf: Fix bootstrap
Merges fix 70ad9466cb
2024-09-11 04:59:26 -05:00
daijro
4df16b4a84 Malformed patch fix
Patch file broke during merge.
2024-09-11 04:20:16 -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
393e53ce3d Fix search engine patch for v130.0 2024-09-09 18:47:59 -05:00
daijro
af24266697 Port Playwright desktop capturing to FF v130.0
- Add counted capture methods to DesktopCaptureImpl
- Fixes compile errors
2024-09-09 18:26:59 -05:00
daijro
ff43c62ddc Fix forced colors & reduced motion overrides 2024-09-09 17:54:18 -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
a2cb02df8a Add config type validator
- Validates property types passed in --config.
- Types are stored in properties.json.
2024-08-18 05:14:20 -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
e8126c6819 Add WebRTC IP spoofing
Implement WebRTC IP spoofing at the protocol level by modifying ICE candidates and SDP before they're sent.
2024-08-18 02:56:40 -05:00
daijro
d3f5e4e833 Fix screen.width/height leaking with matchMedia
Overrides the screen area on a lower level to avoid the true screen size from leaking with matchMedia.
2024-08-17 05:26:19 -05:00
daijro
6002ed4bdd Fix window.innerHeight
Unsets the flex css property on .browserStack
2024-08-17 01:01:42 -05:00