Commit graph

55 commits

Author SHA1 Message Date
daijro
3bf91de311 feat: Support for passing certificates & cert files 2025-03-15 04:30:23 -05:00
daijro
cf28f78658 Merge latest Playwright patches #230 2025-03-07 16:28:53 -06:00
daijro
c75baab79b Workaround to restore custom match media without disabling HiDPI 2025-03-04 02:52:49 -06:00
daijro
c2b5eb14ba Fix devPixelsPerPx cfg value 2025-03-04 00:50:43 -06:00
daijro
3484b7c4be Fix WebRTC IP leaks in SDP log #184 2025-03-04 00:17:58 -06:00
daijro
3c2621d5c0 Disable hidpi by default 2025-03-03 22:30:43 -06:00
daijro
2a250720a6 Add the disableTheming property to config map #179 2025-02-06 20:58:10 -06:00
daijro
8a1abfb9a5 Disable OOPIFs without disabling COOP #150 2025-02-05 16:51:54 -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
b3e7636378 Cleanup pref file
Reverted certain config related to offline caching restrictions, better organization, removed non essential prefs, etc.
2025-01-24 13:48:00 -06:00
Karim shoair
e01c2d6476 Increase process count for perfomance boost while keeping it a realistic number
Using 16 is to balance process isolation and resource use as using 60000 as PlayWright is impractical and may cause instability.
2025-01-24 21:30:09 +02:00
Karim shoair
499fcd5442 Enable clipboard Events
Websites can check if clipboard events are turned off, this hurts stealth
2025-01-24 21:23:25 +02:00
daijro
e1fc678719 Do not underline links 2025-01-23 21:50:47 -06:00
daijro
9b8eed1d24 Use Skia azure backend by default 2024-12-09 05:24:27 -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
31963aa83b pythonlib: Update WebGL sample database 2024-12-04 00:38:12 -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
3e524aa2ea Include jvv validator file in packaging 2024-12-01 23:26:09 -06:00
daijro
ad807b2ffe Bump to FF133 beta.18 2024-12-01 05:27:18 -06:00
daijro
045877746d jsonvv: Less restrictive property groups for BrowserForge 2024-11-27 23:28:41 -06:00
daijro
31b5c0fceb jsonvv: Add Camoufox config validator #90
Added a Camoufox jsonvv property file to allow users to check if their passed config is incomplete/may cause leaks.

This will also validate WebGl types and fix the crashing issue presented in #90.
2024-11-27 23:11:14 -06:00
daijro
c5cad3040c Bump to beta.17 2024-11-21 16:45:40 -06:00
daijro
85eb40aee4 Leak fixes #90 2024-11-21 01:59:01 -06:00
daijro
ed87adf6fe Update properties & release beta.16 2024-11-19 03:00:00 -06:00
daijro
1e8e667641 Memory optimization fixes #87 2024-11-18 22:04:20 -06:00
daijro
e126cf379c Update uBlock Origin assets & updater 2024-11-04 03:13:23 -06:00
daijro
cc01ab2088 Remove privacy.clearOnShutdown config #69 2024-11-04 02:59:36 -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
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
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
595828a446 Update Makefile & add navigation debugging 2024-10-09 20:48:58 -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
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
bf20ab8546 Fix missing devtools.selfxss.count 2024-09-22 21:55:54 -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
9c3e6918cf Fix context menu UI on light mode #9 2024-09-19 06:02:17 -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
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
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
86155b3c81 Re-disable cross process iframes & bfcache 2024-08-17 21:09:40 -05:00
daijro
8aadd3e1f2 Load default addons through launcher
- Default addons are now downloaded through the launcher to avoid redownloading when new profiles are created
- Updated README
2024-08-13 22:14:43 -05:00
daijro
0be654bbe9 Auto pin extensions 2024-08-13 21:19:26 -05:00
daijro
e155a3285e Add back security div in navbar
Adds back the security/identity div in the urlbar.
Also disables the notification deck.
2024-08-13 06:27:27 -05:00