Commit Graph

451 Commits

Author SHA1 Message Date
daijro 1c5eaaa52b Update sponsor image (2) 2026-01-21 07:49:25 -06:00
daijro 39aed6dd68 Refresh README & add sponsor
Remove old documentation, added stealth explanation, & added Thordata sponsor
2026-01-21 07:43:28 -06:00
icepaq 7adc6dc17a Fix Linux Builds (#4) (#447)
* Fix Linux ARM Builds (#4)

* linux fix

* platform specific sqlite dependency

* linux symlink

---------

Co-authored-by: Ubuntu <ubuntu@ip-172-31-25-90.us-east-2.compute.internal>

* symlinks for all linux archs

---------

Co-authored-by: Ubuntu <ubuntu@ip-172-31-25-90.us-east-2.compute.internal>
FF146-BETA
2026-01-07 16:16:56 -05:00
icepaq e4fb69e729 Update README with Firefox v146 platform support info
Added a note about platform support for Firefox v146.
2026-01-07 08:48:27 -05:00
icepaq 11e02fdfea beta testing guide (#444)
* beta install guide

* Update README.md
2026-01-06 13:09:32 -05:00
icepaq ba29159b62 Merge pull request #441 from CloverLabsAI/main
Firefox 146
2026-01-05 19:42:46 -05:00
Anton 4a8e9ad1ab Update README.md 2026-01-05 00:04:44 -05:00
Anton a5836b9383 version upgrade notice + sponsor banner 2026-01-05 00:01:01 -05:00
icepaq 33b0e0ebcc Build improvements (#3)
* fix asets.car issue

* dist folder issue bruh
2026-01-04 23:26:32 -05:00
icepaq dfa62f7070 Juggler fixes (#2)
* fix: migrate Services import to lazy loading pattern and disable dark theme to prevent XPIProvider crash

- Changed Services from ChromeUtils.defineLazyGetter to ChromeUtils.defineESModuleGetters with lazy object
- Updated all Services references to lazy.Services throughout Juggler.js
- Added re-copying of additions and settings after git reset in patch.py
- Removed juggler components.conf copy logic from patch.py (now handled by copy-additions.sh)
- Disabled dark theme preference in camoufox.cfg to

* fix: revert Services import to direct ESM import and re-enable dark theme preference

- Changed Services from lazy loading pattern back to direct ChromeUtils.importESModule()
- Removed lazy object wrapper and ChromeUtils.defineESModuleGetters usage
- Updated all lazy.Services references to Services throughout Juggler.js
- Re-enabled dark theme preference in camoufox.cfg (extensions.activeThemeID)
- Removed XPIProvider crash prevention comment as issue is resolved

* fix: remove redundant Services import as it's available globally in XPCOM component context

- Removed ChromeUtils.importESModule imports for XPCOMUtils, ComponentUtils, and Services
- Added comment explaining Services is available as a global in XPCOM component context
- Services.scriptloader.loadSubScript call continues to work with global Services reference

* fix: correct JugglerFrameChild.sys.mjs path by removing duplicate content directory

- Changed esModuleURI from 'chrome://juggler/content/content/JugglerFrameChild.sys.mjs' to 'chrome://juggler/content/JugglerFrameChild.sys.mjs'
- Removes erroneous duplicate 'content' directory in the child actor module path

* fix: add ESM module entries and correct JugglerFrameChild.jsm path in jar.mn

- Added JugglerFrameParent.sys.mjs entry to juggler.jar manifest
- Added JugglerFrameChild.sys.mjs entry to juggler.jar manifest
- Fixed JugglerFrameChild.jsm path from 'content/content/JugglerFrameChild.jsm' to 'content/JugglerFrameChild.jsm' removing duplicate content directory

* fix: remove redundant Services lazy getter as it's available globally in content process context

- Removed ChromeUtils.defineLazyGetter for Services in main.js
- Added comment explaining Services is available as a global
- Services reference continues to work with global availability in content process

---------

Co-authored-by: Nirupam Bhowmick <48842933+heydryft@users.noreply.github.com>
2026-01-04 11:40:05 -05:00
Anton 38311cab23 Revert "fix assets.car requirement"
This reverts commit b636d19d83.
2026-01-04 11:34:23 -05:00
Anton 44cc8c69b0 Revert "esm import fixes"
This reverts commit 261a047825.
2026-01-04 11:34:20 -05:00
Anton 3cceb0f4f5 Revert "bring back camoufox branding"
This reverts commit 3258fca5b2.
2026-01-04 11:34:17 -05:00
Anton 3258fca5b2 bring back camoufox branding 2026-01-03 22:33:16 -05:00
Anton 261a047825 esm import fixes 2026-01-03 19:17:46 -05:00
Anton b636d19d83 fix assets.car requirement 2026-01-02 19:43:38 -05:00
icepaq 94c7eb2e1f Merge pull request #1 from CloverLabsAI/firefox-146
Firefox 146
2026-01-02 15:20:57 -05:00
Nirupam Bhowmick 357f2f5441 fix: replace defensive null check with graceful error handling for missing sandbox directory paths on macOS
- Replaced macos-sandbox-init-fix patch with macos-sandbox-crash-fix patch
- Changed MOZ_CRASH to NS_WARNING when GetRepoDir() or GetObjDir() fail in CacheSandboxParams()
- Made testingReadPath3 and testingReadPath4 optional - only set if directory paths are successfully retrieved
- Addresses root cause: cross-compiled builds may not populate development-specific plist keys
- Updated README
2025-12-31 02:21:00 +00:00
Nirupam Bhowmick f48f3ffab2 fix: add defensive null check for macOS sandbox initialization to prevent content process crash
- Added null safety check in ContentParent::AppendSandboxParams() before accessing sMacSandboxParams
- Initializes sMacSandboxParams if unexpectedly null during content process launch
- Added NS_WARNING to log when fallback initialization is triggered
- Prevents KERN_INVALID_ADDRESS segfault at 0x0000000000000000 on macOS
- Created macos-sandbox-init-fix.README.md documenting the fix purpose, problem, solution
2025-12-31 01:01:54 +00:00
Nirupam Bhowmick 52916f8ae7 fix: migrate JugglerFrame actors from JSM to ESM for Firefox 146 compatibility
- Created JugglerFrameParent.sys.mjs with ESM exports replacing .jsm version
- Created JugglerFrameChild.sys.mjs with ESM exports replacing .jsm version
- Updated Juggler.js to reference .sys.mjs files instead of .jsm files for both parent and child actors
- Changed ChromeUtils.import() to ChromeUtils.importESModule() in both actor files
- Replaced EXPORTED_SYMBOLS with export keyword for JugglerFrameParent and Juggler
2025-12-30 21:23:35 +00:00
Nirupam Bhowmick 99d4253dea chore: remove completed TASK.md file after Firefox 147 patch migration
- Deleted TASK.md containing patch update task list and progress tracking
- File documented migration from Firefox 135.0.1 to 147.0b3
- Tracked 45 total patches with 25 broken and 20 working patches
- Included upstream sync details for LibreWolf and Playwright patches
- Contained execution plan and time estimates for patch updates
2025-12-30 19:50:01 +00:00
Nirupam Bhowmick e194be8d70 fix: update windows-theming-bug-modified.patch to remove header comments and add Assets.car conditional copy
- Removed LibreWolf patch header comments including author, description, last updated date, and license information
- Removed explanatory comments about --with-app-name=librewolf issue
- Updated diff context lines to match Firefox 146 codebase (line numbers changed from @@ -31,7 +31,7 @@ to @@ -23,7 +23,7 @@)
- Added conditional copy for Assets.car file in macOS build process using test comman
2025-12-30 05:54:47 +00:00
Nirupam Bhowmick 03c12302b0 fix: migrate Juggler modules from JSM to ESM for Firefox 146 compatibility
- Converted ChannelEventSink from JSM to ESM (.sys.mjs)
- Changed ChromeUtils.import() to ChromeUtils.importESModule() across all modules
- Updated .jsm file extensions to .sys.mjs for system module imports
- Replaced EXPORTED_SYMBOLS with export keyword in Helper.js, NetworkObserver.js, SimpleChannel.js, TargetRegistry.js, and JugglerFrameParent.jsm
- Updated EventEmitter import from resource://gre/modules/EventEmitter.jsm to .
2025-12-30 05:13:18 +00:00
Nirupam Bhowmick 387494bef5 fix: migrate Juggler component from JSM to ESM for Firefox 146 compatibility
- Changed ChromeUtils.import() to ChromeUtils.importESModule() for all module imports
- Updated .jsm file extensions to .sys.mjs for system modules
- Changed moduleURI to esModuleURI in JugglerFrame actor configuration
- Replaced EXPORTED_SYMBOLS with export keyword for Juggler and JugglerFactory
- Updated components.conf to use "esModule" instead of "jsm"
- Added SimpleChannel.js preload using Services.scriptloader.loadSubScript
-
2025-12-30 05:08:00 +00:00
Nirupam Bhowmick 5098e46bc1 fix: change Juggler component from type to constructor-based registration for Firefox 146 compatibility
- Changed Juggler component registration from "type": "nsICommandLineHandler" to "constructor": "JugglerFactory"
- Required for updated component registration system in Firefox 146
2025-12-30 04:43:54 +00:00
Nirupam Bhowmick ce42d6c468 fix: remove GetDocument() override declaration from WorkerPrivate.h for Firefox 146 compatibility
- Removed Document* GetDocument() const override declaration from WorkerPrivate class
- Removed blank line following the declaration
- Required for font fingerprinting protection to work with updated WorkerPrivate interface in Firefox 146
2025-12-30 03:26:02 +00:00
Nirupam Bhowmick b1db7f357c fix: add required includes to FontSpacingSeedManager.cpp for Firefox 146 compatibility
- Added mozilla/dom/BrowsingContext.h include
- Added mozilla/dom/Document.h include
- Added nsDocShell.h include
- Added nsPIDOMWindow.h include
- Required for font fingerprinting protection functionality in Firefox 146
2025-12-30 03:10:03 +00:00
Nirupam Bhowmick 8222a18351 fix: add GetDocument() method to FontVisibilityProvider interface and implementations for Firefox 146 compatibility
- Added pure virtual GetDocument() method to FontVisibilityProvider base class
- Implemented GetDocument() in OffscreenCanvas returning owner window's document
- Implemented GetDocument() in nsPresContext returning Document()
- Changed WorkerPrivate::GetDocument() to override keyword
- Added GetDocument() to FONT_VISIBILITY_PROVIDER_OVERRIDES macro
- Required for font fingerprinting protection to
2025-12-30 02:50:11 +00:00
Nirupam Bhowmick f5ab2103d8 fix: change Unused << rv to (void)rv for unused variable suppression in nsExternalHelperAppService.cpp
- Updated unused result variable handling from Unused << rv to (void)rv
- Consistent with Firefox 146 codebase style for suppressing unused variable warnings
2025-12-30 02:25:39 +00:00
Nirupam Bhowmick 362596f5cf fix: update SynthesizeMouseEventData initialization to use Construct() for optional fields in Firefox 146
- Changed mButtons and mClickCount to use Construct() wrapper for optional field initialization
- Removed mozilla/Unused.h include from nsExternalHelperAppService.cpp
- Changed Unused << rv to (void)rv for unused variable suppression
- Required for compatibility with updated SynthesizeMouseEventData structure in Firefox 146
2025-12-30 02:18:57 +00:00
Nirupam Bhowmick b4d7da1bd8 fix: implement SendJugglerMouseEvent and add minimal Location stub for Firefox 146 compatibility
- Implemented SendJugglerMouseEvent using SynthesizeMouseEvent API instead of removed SendMouseEventCommon
- Added widget and presShell retrieval with null checks
- Populated SynthesizeMouseEventData and SynthesizeMouseEventOptions structures
- Added minimal Location class stub in third_party/libwebrtc/api/location.h
- Removed verbose comments from Location stub implementation
2025-12-30 01:59:11 +00:00
Nirupam Bhowmick de84b95fa3 fix: update SendJugglerMouseEvent implementation for Firefox 146 compatibility
- Added isPWDragEventMessage boolean flag declaration in nsContentUtils.cpp
- Added handling for custom Playwright drag event messages (pwdragstart, pwdragover, pwdrop)
- Updated SendJugglerMouseEvent to return NS_ERROR_NOT_IMPLEMENTED with TODO comment
- Removed SendMouseEventCommon call that is not available in Firefox 146
- Added jugglerEventId parameter to mouseOrPointerEvent initialization
2025-12-30 01:48:24 +00:00
Nirupam Bhowmick 965a5f752e fix: add mozilla/Unused.h include to nsExternalHelperAppService.cpp for Firefox 146 compatibility
- Added mozilla/Unused.h include alongside mozilla/ErrorNames.h
- Required for Unused<> template usage in download handling code
- Added blank line after includes for consistent formatting
2025-12-30 01:26:01 +00:00
Nirupam Bhowmick f8cf07a856 fix: add WebRTC namespace alias and gfxPlatform include to screencast files for Firefox 146 compatibility
- Added rtc namespace alias pointing to webrtc namespace in ScreencastEncoder.cpp
- Added gfxPlatform.h include to nsScreencastService.cpp
- Required for compatibility with WebRTC API changes and platform graphics functionality
2025-12-30 01:16:54 +00:00
Nirupam Bhowmick 99fa20409e fix: add BasePrincipal.h include to nsMathMLChar.cpp for Firefox 146 compatibility
- Added mozilla/BasePrincipal.h include alongside existing mozilla/OriginAttributes.h
- Required for BasePrincipal::Cast() usage in font fingerprinting protection code
- Resolves missing symbol errors when accessing principal casting functionality
2025-12-30 01:13:33 +00:00
Nirupam Bhowmick 22b93f1097 fix: update patch line numbers and context for Firefox 146 compatibility
- Updated line numbers in config.patch for browser/installer/package-manifest.in (260→250, 228→235)
- Updated line numbers in fingerprint-injection.patch across multiple files
- Changed nsScreen::GetAvailRect() to use GetTopWindowInnerRectForRFP() instead of GetWindowInnerRect()
- Updated line numbers in rust-gentoo-musl.patch (404→412)
- Adjusted context lines to match Firefox 146 codebase structure
2025-12-30 00:55:14 +00:00
Nirupam Bhowmick 7106903bb0 fix: add binary flag to patch command for line ending preservation
- Added --binary flag to preserve line endings (CRLF vs LF)
- Removed -F3 (fuzz factor) flag
- Helps with cross-platform patching where line endings may differ
2025-12-30 00:40:12 +00:00
Nirupam Bhowmick acba61d7aa fix: improve patch command flexibility with whitespace and fuzz tolerance
- Changed --fuzz=3 to -F3 for consistent short option format
- Added -l flag to ignore whitespace differences when applying patches
- Maintains --forward flag to skip already applied patches
2025-12-30 00:30:18 +00:00
Nirupam Bhowmick ee997d1518 make patching more lenient 2025-12-29 23:37:39 +00:00
Nirupam Bhowmick 03ca85c5dd fix: add webrtc namespace alias to HeadlessWindowCapturer.h for Firefox 146 compatibility
- Added rtc namespace alias pointing to webrtc namespace
- Required for compatibility with code using rtc:: prefix for WebRTC types
- Placed after includes and before class declarations
2025-12-29 23:08:46 +00:00
Nirupam Bhowmick 5133906b17 fix: add missing WebRTC header includes to HeadlessWindowCapturer.h for Firefox 146 compatibility
- Added api/scoped_refptr.h include for scoped_refptr template
- Added rtc_base/ref_counted_object.h include for ref counting support
- Required by WebRTC API changes in Firefox 146
2025-12-29 21:44:56 +00:00
Nirupam Bhowmick 4408a8f266 fix: add stub webrtc::Location header for Firefox 146 compatibility
- Created third_party/libwebrtc/api/location.h stub header
- Added minimal Location class implementation with Current() static method
- Required by api/task_queue/task_queue_base.h for task posting debugging
- Header was missing in Firefox 146's WebRTC implementation
2025-12-29 02:41:53 +00:00
Nirupam Bhowmick 993aed4174 fix: disable per-realm timezone overrides in Realm.cpp for Firefox 146 compatibility
- Removed conditional logic for per-realm timezone overrides in getDateTimeInfo()
- Added comment explaining that per-realm timezones are disabled in favor of global timezone overrides via JS::SetTimeZoneOverride()
- Simplified getDateTimeInfo() to always return nullptr since DateTimeInfo was refactored to use std::string instead of RefPtr<TimeZoneString>
2025-12-29 00:27:56 +00:00
Nirupam Bhowmick cdb4f92c06 fix: refactor timezone override from RefPtr to std::string in DateTime.cpp for Firefox 146 compatibility
- Changed timeZoneOverride_ from RefPtr<JS::TimeZoneString> to std::string
- Updated all timeZoneOverride_ checks from pointer comparisons to empty() calls
- Replaced timeZoneOverride_->chars() with timeZoneOverride_.c_str() for string access
- Removed updateTimeZoneOverride() method and replaced with internalSetTimeZoneOverride()
- Removed DateTimeInfo constructor that took RefPtr<JS::TimeZone
2025-12-28 23:24:44 +00:00
Nirupam Bhowmick 0c0a358a58 fix: remove duplicate timeZoneOverride_ declaration in playwright patch for Firefox 146 compatibility
- Removed duplicate timeZoneOverride_ member variable declaration from DateTimeInfo class
- Firefox 146 already has this member variable defined, causing redefinition errors
- Kept the original timeZoneOverride_ declaration that was already present in the base code
2025-12-28 21:46:20 +00:00
Nirupam Bhowmick 0e7cef4ca9 fix: update timezone-spoofing.patch for Firefox 146 compatibility
- Updated line numbers and context in intl/components/moz.build
- Changed TimeZone::TryCreate parameter from char16_t to char in TimeZone.cpp
- Added explicit reinterpret_cast for zoneID assignment to match new char-based API
2025-12-28 20:15:48 +00:00
Nirupam Bhowmick 194fa03576 fix: update CritScope references to webrtc::CritScope in playwright patch for Firefox 146 compatibility 2025-12-28 19:05:52 +00:00
Anton 48f9cec812 Merge pull request #437 from daijro/fingerprint-per-context
Fingerprint per context
2025-12-28 13:53:15 -05:00
Anton 86dea9b439 Merge pull request #434 from CloverLabsAI/fingerprint-per-context
Webrtc and Font spacing fingerprinting per context
2025-12-28 13:40:10 -05:00
Nirupam Bhowmick c367710d54 fix: add explicit uint8_t casts to ShaderPrecisionFormat initialization in webgl-spoofing.patch 2025-12-27 23:51:11 +00:00