{"id":24270678,"url":"https://github.com/etircopyh/fox-hax","last_synced_at":"2026-05-18T02:32:23.875Z","repository":{"id":272536443,"uuid":"215598676","full_name":"etircopyh/fox-hax","owner":"etircopyh","description":"Firefox Browser hacks and tweaks","archived":false,"fork":false,"pushed_at":"2026-02-08T00:12:06.000Z","size":2032,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-08T09:01:04.379Z","etag":null,"topics":["appearance","configuration","firefox","interface","styling","userjs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/etircopyh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-10-16T16:51:18.000Z","updated_at":"2026-02-08T00:12:09.000Z","dependencies_parsed_at":"2025-01-15T04:39:40.813Z","dependency_job_id":"db7149ac-a352-4709-bde0-f1c681757e3c","html_url":"https://github.com/etircopyh/fox-hax","commit_stats":null,"previous_names":["etircopyh/fox-hax"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/etircopyh/fox-hax","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etircopyh%2Ffox-hax","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etircopyh%2Ffox-hax/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etircopyh%2Ffox-hax/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etircopyh%2Ffox-hax/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/etircopyh","download_url":"https://codeload.github.com/etircopyh/fox-hax/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/etircopyh%2Ffox-hax/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33162610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"online","status_checked_at":"2026-05-18T02:00:06.436Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appearance","configuration","firefox","interface","styling","userjs"],"created_at":"2025-01-15T16:54:23.473Z","updated_at":"2026-05-18T02:32:23.870Z","avatar_url":"https://github.com/etircopyh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fox-hax\n\n![Repo logo][logo]\n\n[logo]: /firefox-logo.webp \"Repo Logo\"\n\n\u003e Privacy-focused, performance-optimized Firefox configuration for Firefox 146-147 (and later)\n\n## 📋 Overview\n\n`fox-hax` is a comprehensive Firefox customization suite that enhances privacy, security, and performance while maintaining excellent user experience. It includes:\n\n- **`user.js`**: 800+ carefully tuned preferences for modern Firefox\n- **Optimized for**: Firefox 146-147+ (includes 2024-2025 features)\n\n## ✨ Key Features\n\n### Privacy \u0026 Security\n- ✅ **Phase 2 Anti-Fingerprinting** (FF145+) - Reduces trackability by 50%\n- ✅ **HTTPS-First Mode** (FF136+) - Automatic HTTPS upgrades with smart fallback\n- ✅ **Bounce Tracking Protection** (FF133+) - Blocks sneaky tracker cookies\n- ✅ **Cookie Banner Handling** (FF124+) - Auto-dismisses cookie consent popups\n- ✅ **Total Cookie Protection** - Network partitioning enabled\n- ✅ **Post-Quantum Crypto** (FF146+) - ML-KEM support\n- ✅ **Telemetry Disabled** - Comprehensive blocking of all data collection\n\n### Performance\n- ✅ **Hardware Acceleration** - WebGPU, VA-API video decoding, GPU process isolation\n- ✅ **Memory Optimization** - Tuned cache sizes and tab unloading\n- ✅ **Network Optimization** - HTTP compression dictionaries (FF147+), optimized connection pooling\n- ✅ **Fission Site Isolation** - Security with minimal overhead\n- ✅ **Smooth Scrolling** - Natural scroll physics for high-refresh displays\n\n## 🚀 Installation\n\n### Step 1: Copy to Firefox Profile Directory\n\n1. **Find your Firefox profile directory**:\n   - **Linux**: `~/.mozilla/firefox/xxxxxxxx.default-release/`\n   - **Windows**: `%APPDATA%\\Mozilla\\Firefox\\Profiles\\xxxxxxxx.default-release\\`\n   - **macOS**: `~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default-release/`\n\n2. **Copy files**:\n   ```bash\n   # Copy everything to your profile directory\n   cp -r user.js chrome ~/.mozilla/firefox/xxxxxxxx.default-release/\n   ```\n\n3. **Enable userChrome/userContent**:\n   - Open `about:config`\n   - Set `toolkit.legacyUserProfileCustomizations.stylesheets` to `true`\n\n### Step 2: Restart Firefox\n\nAll changes take effect after restarting Firefox completely (not just closing the window).\n\n## 📁 File Structure\n\n```\nfox-hax/\n├── user.js                           # Main Firefox preferences (800+ lines)\n├── chrome/\n│   ├── userContent.css               # Main userContent entry\n│   └── import/\n│       └── userContent/             # Web content styling\n│           └── dark-preload.css      # Dark about:blank pages\n```\n\n## ⚙️ Configuration Options\n\n### Dark Theme\n\nDark theme is controlled by these `user.js` preferences:\n```javascript\nuser_pref('browser.in-content.dark-mode', true);      // Firefox dark mode\nuser_pref('ui.systemUsesDarkTheme', 1);             // Use system dark theme\nuser_pref('ui.prefersReducedMotion', 1);            // Reduced animations\nuser_pref('widget.chrome.allow-gtk-dark-theme', true); // Linux GTK dark theme\n```\n\n## 🔧 User.js Sections\n\n### General (Lines 5-65)\n- Update disabled, telemetry disabled\n- UI density, zoom, clipboard settings\n- Pocket, VPN, messaging system disabled\n- Safe browsing disabled\n\n### Appearance (Lines 81-92)\n- UserChrome/userContent enabled\n- SVG context properties enabled\n- Tab width settings\n- Dark mode configuration\n\n### Performance (Lines 312-424)\n- WebRender, GPU process, hardware video decoding\n- Fission site isolation enabled\n- Tab unloading on low memory\n- Cache optimization (memory + disk)\n- Network optimization (HTTP/3, connections, pacing)\n\n### Security (Lines 425-700)\n- HTTPS-First mode enabled\n- TLS 1.2/1.3 enforced\n- Post-quantum crypto (ML-KEM)\n- OCSP settings\n- Safe browsing disabled\n- Captive portal disabled\n\n### Privacy (Lines 476-551)\n- Phase 2 fingerprinting protection enabled\n- Cookie banner handling enabled\n- Bounce tracking protection enabled\n- HTTPS-Only mode in private browsing\n- Container tabs enabled\n\n### Telemetry (Lines 552-595)\n- All telemetry disabled\n- Health reports disabled\n- Experiments disabled\n- Extension recommendations disabled\n\n### Anti-Fingerprinting (Lines 651-683)\n- Resist fingerprinting enabled (block mozAddonManager)\n- Hardware concurrency spoofed\n- Resource timing disabled\n- Device sensors disabled\n- WebGL disabled (privacy)\n\n\n### Firefox Versions\n- ✅ **Minimum**: Firefox 136 (for HTTPS-First)\n- ✅ **Recommended**: Firefox 146-147+\n- ✅ **Tested on**: Firefox 146-147\n- ⚠️ **Not tested**: ESR versions\n\n### Platforms\n- ✅ **Linux**: Fully tested and optimized\n- ✅ **Windows**: Should work (may need GTK-specific tweaks)\n- ⚠️ **macOS**: Not tested (may need platform-specific adjustments)\n\n## 🐛 Troubleshooting\n\n### Firefox Doesn't Start After Applying\n\n**Cause**: Syntax error in `user.js` or CSS file\n\n**Solution**:\n1. Check `about:config` for any preferences with red warnings\n2. Remove files one at a time to identify the culprit\n3. Check browser console for errors (F12 → Console)\n\n### CSS Not Applying\n\n**Check**:\n1. ✅ `toolkit.legacyUserProfileCustomizations.stylesheets` is `true` in `about:config`\n2. ✅ Files are in the correct profile directory\n3. ✅ File names match exactly (`userChrome.css` not `userchrome.css`)\n\n## 🔒 Privacy Trade-offs\n\n### Enabled by Default (Recommended)\n- **WebGL disabled** - Breaks some 3D sites/games, but prevents fingerprinting\n- **Safe browsing disabled** - Better privacy, but no phishing/malware warnings\n- **Telemetry disabled** - Privacy, but no crash reports to Mozilla\n- **Location disabled** - Privacy, but breaks geolocation features\n\n### Optional (Can Comment/Uncomment)\n- **DRM** - Commented out; enable if you watch Netflix/Prime Video\n- **First Party Isolation** - Commented out; more private but breaks some logins\n- **Strict Cookie Blocking** - Commented out; more private but breaks site functionality\n\n## 📊 Feature Comparison\n\n| Feature | Default Firefox | fox-hax | Impact |\n|----------|-----------------|----------|--------|\n| Telemetry | Enabled | ✅ Disabled | +Privacy |\n| Fingerprinting Protection | Basic | ✅ Enhanced Phase 2 | +Privacy +50% |\n| HTTPS-Only | Off | ✅ HTTPS-First | +Security |\n| Cookie Banners | Manual | ✅ Auto-dismiss | +UX |\n| WebGL | Enabled | ✅ Disabled | +Privacy / -3D sites |\n| Hardware Acceleration | Default | ✅ Optimized | +Performance |\n| Fission | Default | ✅ Enabled | +Security |\n| Dark Theme | Optional | ✅ Forced | +UX (if you prefer dark) |\n\n## 🔄 Updating\n\n### When Firefox Updates\n\nMost settings are future-proof. After Firefox updates:\n1. Check that CSS still applies (UI changes rarely break compatibility)\n2. Verify about:config for new/removed preferences\n3. Test key features (tabs, URL bar, context menu)\n\n### When This Repo Updates\n\nPull latest changes and compare with your local modifications:\n```bash\ncd fox-hax\ngit pull\n# Review changes in user.js and chrome/\ngit diff user.js\ngit diff chrome/\n```\n\n\n\n## ⚖️ License\n\nMIT License - Do whatever you want with this configuration.\n\n## 🔗 Resources\n\n- [Firefox Release Notes](https://www.mozilla.org/en-US/firefox/releases/)\n- [about:config Documentation](https://support.mozilla.org/en-US/kb/about-config-editor-firefox)\n- [Arkenfox user.js](https://github.com/arkenfox/user.js/) - Reference for advanced hardening\n- [Firefox 145+ Phase 2 Fingerprinting](https://blog.mozilla.org/en/firefox/fingerprinting-protections/)\n\n## 📌 Notes\n\n- **Last updated**: Firefox 146-147 (January 2026)\n- **Maintained**: Periodically updated for Firefox releases\n- **Tested**: Mainly on Linux (KDE Plasma/GNOME)\n- **Philosophy**: Privacy-first, performance-optimized, UX-friendly (no breakage)\n\n---\n\n**Enjoy your privacy-focused, fast, and customized Firefox!** 🦊\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetircopyh%2Ffox-hax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fetircopyh%2Ffox-hax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fetircopyh%2Ffox-hax/lists"}