├── LICENSE ├── README.md └── user.js /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 zJohnWick. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CLEANFOX Firefox Config 2 | user.js for clean, fast, private Firefox. 3 | - Tested this user.js on Firefox, Firefox Nightly, Firefox ESR. 4 | 5 | ## Getting started 6 | *If you don't have firefox already: [Get Firefox](https://www.mozilla.org/en-US/firefox/all/#product-desktop-release)* 7 | 8 | 1) Download the user.js file [here](https://github.com/zJohnWick/Cleanfox-Config/raw/main/user.js) (Or download source > [Click Here](https://github.com/zJohnWick/CLEANFOX-CONFIG/archive/refs/heads/main.zip)) 9 | 2) Open Firefox. In the URL bar, type `about:profiles` and press **Enter**. 10 | 3) For the profile you want to use (or use default), click **Open Folder** in the **Root Directory** section. 11 | 4) Move the `user.js` file into the folder. 12 | 5) Done. 13 | 14 | ## Difference with Betterfox Config. 15 | * Changed a few things in Betterfox. 16 | 17 | | Fox Type | Line # | Description | Status | 18 | | :---: | :---: | :---: | :---: | 19 | | `Peskyfox.js` | 274 | Pinned Shortcuts on New Tab | On | 20 | | `Securefox.js` | 192 | Battery status tracking | Off | 21 | 22 | * Following things added based on personal preference. 23 | 24 | | Code | Description | 25 | | :---: | --- | 26 | | `browser.urlbar.speculativeConnect.enabled` | Disable URL bar, making speculative connections | 27 | | `ui.key.menuAccessKeyFocuses` | Disable menu popping up when press ALT key | 28 | | `browser.tabs.warnOnClose` | Ask confirmation when closing a window with multiple tabs | 29 | | `browser.urlbar.openViewOnFocus` | Disable address bar popping out | 30 | 31 | ## Note 32 | > [!IMPORTANT] 33 | > There are a few extra things available at the bottom of the user.js file. Enable them if you need. 34 | 35 | ## Recommended Addons 36 | 1) [uBlock Origin](https://addons.mozilla.org/blog/ublock-origin-everything-you-need-to-know-about-the-ad-blocker/) - Adblocker | [Recommended filters](https://t.me/jCloud1/470) 37 | 2) [Enhancer for YouTube™](https://addons.mozilla.org/en-US/firefox/addon/enhancer-for-youtube/) - Additional features for YouTube 38 | 3) [Privacy Badger](https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/) - Automatically learns to block invisible trackers 39 | 4) [Sessionic](https://addons.mozilla.org/en-US/firefox/addon/sessionic/) - Save, manage and restore sessions 40 | 4) [Duplicate Tab Shortcut](https://addons.mozilla.org/en-US/firefox/addon/duplicate-tab-shortcut/) - Press Alt+Shift+D to duplicate the current tab 41 | 42 | ## Additional Readings 43 | * [Check what information your device exposes to the web](https://personaldata.info/#about) 44 | * [Firefox Hardening Guide](https://brainfucksec.github.io/firefox-hardening-guide) 45 | * [archlinux article about Firefox configuration](https://wiki.archlinux.org/title/Firefox/Privacy#Configuration) 46 | 47 | ## Credit 48 | * Many thanks to the [Betterfox](https://github.com/yokoffing/Betterfox) team for the base config. 49 | 50 |
53 | -------------------------------------------------------------------------------- /user.js: -------------------------------------------------------------------------------- 1 | // 2 | /* You may copy+paste this file and use it as it is. 3 | * 4 | * If you make changes to your about:config while the program is running, the 5 | * changes will be overwritten by the user.js when the application restarts. 6 | * 7 | * To make lasting changes to preferences, you will have to edit the user.js. 8 | */ 9 | 10 | // You can identify the features I've disabled in Betterfox by searching for the [#$] keyword. 11 | 12 | /***************************************************************************** 13 | * CLEANFOX * 14 | * "zJohnWick" * 15 | * version: 1.7 * 16 | * url: https://github.com/zJohnWick/CLEANFOX-CONFIG * 17 | ****************************************************************************/ 18 | 19 | /**************************************************************************** 20 | * SECTION: FASTFOX * 21 | ****************************************************************************/ 22 | /** GENERAL ***/ 23 | user_pref("content.notify.interval", 100000); 24 | 25 | /** GFX ***/ 26 | user_pref("gfx.canvas.accelerated.cache-size", 512); 27 | user_pref("gfx.content.skia-font-cache-size", 20); 28 | 29 | /** DISK CACHE ***/ 30 | user_pref("browser.cache.disk.enable", false); 31 | 32 | /** MEDIA CACHE ***/ 33 | user_pref("media.memory_cache_max_size", 65536); 34 | user_pref("media.cache_readahead_limit", 7200); 35 | user_pref("media.cache_resume_threshold", 3600); 36 | 37 | /** IMAGE CACHE ***/ 38 | user_pref("image.mem.decode_bytes_at_a_time", 32768); 39 | 40 | /** NETWORK ***/ 41 | user_pref("network.http.max-connections", 1800); 42 | user_pref("network.http.max-persistent-connections-per-server", 10); 43 | user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); 44 | user_pref("network.http.pacing.requests.enabled", false); 45 | user_pref("network.dnsCacheExpiration", 3600); 46 | user_pref("network.ssl_tokens_cache_capacity", 10240); 47 | 48 | /** SPECULATIVE LOADING ***/ 49 | user_pref("network.dns.disablePrefetch", true); 50 | user_pref("network.dns.disablePrefetchFromHTTPS", true); 51 | user_pref("network.prefetch-next", false); 52 | user_pref("network.predictor.enabled", false); 53 | user_pref("network.predictor.enable-prefetch", false); 54 | 55 | /** EXPERIMENTAL ***/ 56 | user_pref("layout.css.grid-template-masonry-value.enabled", true); 57 | 58 | /**************************************************************************** 59 | * SECTION: SECUREFOX * 60 | ****************************************************************************/ 61 | /** TRACKING PROTECTION ***/ 62 | user_pref("browser.contentblocking.category", "strict"); 63 | user_pref("browser.download.start_downloads_in_tmp_dir", true); 64 | user_pref("browser.helperApps.deleteTempFileOnExit", true); 65 | user_pref("browser.uitour.enabled", false); 66 | user_pref("privacy.globalprivacycontrol.enabled", true); 67 | 68 | /** OCSP & CERTS / HPKP ***/ 69 | user_pref("security.OCSP.enabled", 0); 70 | user_pref("security.pki.crlite_mode", 2); 71 | 72 | /** SSL / TLS ***/ 73 | user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true); 74 | user_pref("browser.xul.error_pages.expert_bad_cert", true); 75 | user_pref("security.tls.enable_0rtt_data", false); 76 | 77 | /** DISK AVOIDANCE ***/ 78 | user_pref("browser.privatebrowsing.forceMediaMemoryCache", true); 79 | user_pref("browser.sessionstore.interval", 60000); 80 | 81 | /** SHUTDOWN & SANITIZING ***/ 82 | user_pref("browser.privatebrowsing.resetPBM.enabled", true); 83 | user_pref("privacy.history.custom", true); 84 | 85 | /** SEARCH / URL BAR ***/ 86 | user_pref("browser.urlbar.trimHttps", true); 87 | user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true); 88 | user_pref("browser.search.separatePrivateDefault.ui.enabled", true); 89 | user_pref("browser.urlbar.update2.engineAliasRefresh", true); 90 | user_pref("browser.search.suggest.enabled", false); 91 | user_pref("browser.urlbar.quicksuggest.enabled", false); 92 | user_pref("browser.urlbar.groupLabels.enabled", false); 93 | user_pref("browser.formfill.enable", false); 94 | user_pref("network.IDN_show_punycode", true); 95 | 96 | /** PASSWORDS ***/ 97 | user_pref("signon.formlessCapture.enabled", false); 98 | user_pref("signon.privateBrowsingCapture.enabled", false); 99 | user_pref("network.auth.subresource-http-auth-allow", 1); 100 | user_pref("editor.truncate_user_pastes", false); 101 | 102 | /** MIXED CONTENT + CROSS-SITE ***/ 103 | user_pref("security.mixed_content.block_display_content", true); 104 | user_pref("pdfjs.enableScripting", false); 105 | 106 | /** EXTENSIONS ***/ 107 | user_pref("extensions.enabledScopes", 5); 108 | 109 | /** HEADERS / REFERERS ***/ 110 | user_pref("network.http.referer.XOriginTrimmingPolicy", 2); 111 | 112 | /** CONTAINERS ***/ 113 | user_pref("privacy.userContext.ui.enabled", true); 114 | 115 | /** SAFE BROWSING ***/ 116 | user_pref("browser.safebrowsing.downloads.remote.enabled", false); 117 | 118 | /** MOZILLA ***/ 119 | user_pref("permissions.default.desktop-notification", 2); 120 | user_pref("permissions.default.geo", 2); 121 | user_pref("geo.provider.network.url", "https://beacondb.net/v1/geolocate"); 122 | user_pref("browser.search.update", false); 123 | user_pref("permissions.manager.defaultsUrl", ""); 124 | 125 | /** TELEMETRY ***/ 126 | user_pref("datareporting.policy.dataSubmissionEnabled", false); 127 | user_pref("datareporting.healthreport.uploadEnabled", false); 128 | user_pref("toolkit.telemetry.unified", false); 129 | user_pref("toolkit.telemetry.enabled", false); 130 | user_pref("toolkit.telemetry.server", "data:,"); 131 | user_pref("toolkit.telemetry.archive.enabled", false); 132 | user_pref("toolkit.telemetry.newProfilePing.enabled", false); 133 | user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); 134 | user_pref("toolkit.telemetry.updatePing.enabled", false); 135 | user_pref("toolkit.telemetry.bhrPing.enabled", false); 136 | user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); 137 | user_pref("toolkit.telemetry.coverage.opt-out", true); 138 | user_pref("toolkit.coverage.opt-out", true); 139 | user_pref("toolkit.coverage.endpoint.base", ""); 140 | user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); 141 | user_pref("browser.newtabpage.activity-stream.telemetry", false); 142 | 143 | /** EXPERIMENTS ***/ 144 | user_pref("app.shield.optoutstudies.enabled", false); 145 | user_pref("app.normandy.enabled", false); 146 | user_pref("app.normandy.api_url", ""); 147 | 148 | /** CRASH REPORTS ***/ 149 | user_pref("breakpad.reportURL", ""); 150 | user_pref("browser.tabs.crashReporting.sendReport", false); 151 | 152 | /** DETECTION ***/ 153 | user_pref("captivedetect.canonicalURL", ""); 154 | user_pref("network.captive-portal-service.enabled", false); 155 | user_pref("network.connectivity-service.enabled", false); 156 | 157 | /**************************************************************************** 158 | * SECTION: PESKYFOX * 159 | ****************************************************************************/ 160 | /** MOZILLA UI ***/ 161 | user_pref("browser.privatebrowsing.vpnpromourl", ""); 162 | user_pref("extensions.getAddons.showPane", false); 163 | user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); 164 | user_pref("browser.discovery.enabled", false); 165 | user_pref("browser.shell.checkDefaultBrowser", false); 166 | user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); 167 | user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); 168 | user_pref("browser.preferences.moreFromMozilla", false); 169 | user_pref("browser.aboutConfig.showWarning", false); 170 | user_pref("browser.aboutwelcome.enabled", false); 171 | user_pref("browser.profiles.enabled", true); 172 | 173 | /** THEME ADJUSTMENTS ***/ 174 | user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); 175 | user_pref("browser.compactmode.show", true); 176 | user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS 177 | 178 | /** FULLSCREEN NOTICE ***/ 179 | user_pref("full-screen-api.transition-duration.enter", "0 0"); 180 | user_pref("full-screen-api.transition-duration.leave", "0 0"); 181 | user_pref("full-screen-api.warning.timeout", 0); 182 | 183 | /** URL BAR ***/ 184 | user_pref("browser.urlbar.unitConversion.enabled", true); 185 | user_pref("browser.urlbar.trending.featureGate", false); 186 | 187 | /** NEW TAB PAGE ***/ 188 | // user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); [#$] 189 | user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); 190 | 191 | /** POCKET ***/ 192 | user_pref("extensions.pocket.enabled", false); 193 | 194 | /** DOWNLOADS ***/ 195 | // user_pref("browser.download.manager.addToRecentDocs", false); [#$] 196 | 197 | /** PDF ***/ 198 | user_pref("browser.download.open_pdf_attachments_inline", true); 199 | 200 | /** TAB BEHAVIOR ***/ 201 | user_pref("browser.bookmarks.openInTabClosesMenu", false); 202 | user_pref("browser.menu.showViewImageInfo", true); 203 | user_pref("findbar.highlightAll", true); 204 | user_pref("layout.word_select.eat_space_to_next_word", false); 205 | 206 | /**************************************************************************** 207 | * SECTION: CLEANFOX * 208 | ****************************************************************************/ 209 | 210 | // From Betterfox----------------------- 211 | user_pref("dom.battery.enabled", false); 212 | 213 | // Personal Preferences----------------------- 214 | user_pref("browser.urlbar.speculativeConnect.enabled", false); 215 | user_pref("ui.key.menuAccessKeyFocuses", false); 216 | 217 | // Ask for confirmation when closing a window with multiple tabs 218 | user_pref("browser.tabs.warnOnClose", true); 219 | 220 | // Disable address bar popping out 221 | user_pref("browser.urlbar.openViewOnFocus", false); 222 | 223 | // Disable tab previews when hovering over them 224 | user_pref("browser.tabs.hoverPreview.enabled", false); 225 | 226 | // Try Yourself----------------------- 227 | // PREF: disable all DRM content 228 | // user_pref("media.eme.enabled", false); 229 | 230 | // PREF: disable Firefox Sync 231 | // user_pref("identity.fxaccounts.enabled", false); 232 | // user_pref("dom.push.enabled", false); 233 | // user_pref("dom.push.connection.enabled", false); 234 | // user_pref("browser.tabs.firefox-view", false); 235 | 236 | // PREF: disable using the OS's geolocation service 237 | // user_pref("geo.provider.ms-windows-location", false); // [WINDOWS] 238 | // user_pref("geo.provider.use_corelocation", false); // [MAC] 239 | // user_pref("geo.provider.use_gpsd", false); // [LINUX] broken on Linux? 240 | // user_pref("geo.provider.use_geoclue", false); // [FF102+] [LINUX] 241 | 242 | 243 | /**************************************************************************** 244 | * END CLEANFOX * 245 | ****************************************************************************/ 246 | --------------------------------------------------------------------------------