Skip to content

Add Waterfox support#42

Open
to-olga wants to merge 1 commit into
ulyngs:mainfrom
to-olga:feat/waterfox-support
Open

Add Waterfox support#42
to-olga wants to merge 1 commit into
ulyngs:mainfrom
to-olga:feat/waterfox-support

Conversation

@to-olga

@to-olga to-olga commented Jul 3, 2026

Copy link
Copy Markdown

Closes #39

Adds support for Waterfox (a Firefox fork) across all ReDD Blocker subsystems. Waterfox uses the same WebExtension API as Firefox, so the ReDD Focus extension works identically - no changes to the extension itself.

Changes

Backend

File What
profile_scan.rs Scans Waterfox/Profiles/ on both platforms. Reuses Firefox's profile parsing logic via shared scan_firefox_like() function.
native_host_install.rs Adds BrowserTarget::Waterfox. Writes native messaging manifest to the same Mozilla/NativeMessagingHosts directory on macOS (Waterfox reads from there); HKCU\Software\BrowserWorks\Waterfox\NativeMessagingHosts\ on Windows.
blocking_method.rs Treats Waterfox as extension-only (never Automation) on macOS — critical fix, without it the enforcer silently skips Waterfox.
enforcer.rs Detects Waterfox/waterfox.exe process and routes through extension compliance checking.
extension_install.rs Enterprise policy install for Waterfox on both platforms (macOS policies.json, Windows registry). Shared helpers to avoid code duplication with Firefox.
commands/browser_ext.rs open_browser_extension_settings and open_url_in_browser now handle the waterfox key.

Frontend

File What
app.js ~30 locations updated: BROWSER_STORE_LINKS, MIGRATION_BROWSER_ORDER, compliance checks, extension URL mapping, diagnostics, enforcer copy, macOS howto, uninstall callout, Waterfox icon (official Waterfox logo).

Docs

File What
README.md Waterfox row in both macOS and Windows browser support tables. Features bullet updated. Permissions section updated.

Key findings during implementation

  • macOS: Waterfox G6 reads native messaging manifests from ~/Library/Application Support/Mozilla/NativeMessagingHosts/ (same as Firefox), not a Waterfox-specific directory.
  • Windows: Registry vendor path is BrowserWorks\Waterfox\, not straight Waterfox\.
  • The waterfox_app_installed() and waterfox_app_present() functions are public so native_host_install can gate manifest writes on Waterfox being installed.

Testing

  • Native messaging manifest written and correct on macOS
  • Website blocking works in Waterfox with ReDD Focus extension
  • Enforcer detects Waterfox as a running browser and checks extension compliance
  • Waterfox appears in the browser setup UI
  • Open Extension Settings button opens about:addons in Waterfox
  • cargo check passes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Waterfox support

1 participant