diff --git a/README.md b/README.md index a502450..af00cb9 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,6 @@ o:/browser/app/profile/firefox.js ### Summary of Parameters - | Parameter | Required | Purpose | Example | | ----------- | ---------- | ------------------------------------- | ------------------------------------- | | `i:` | Yes | Specifies the input file path. | `i:/browser/app/profile/firefox.js` | diff --git a/patches/fastfox.patch b/patches/fastfox.patch new file mode 100644 index 0000000..ee29329 --- /dev/null +++ b/patches/fastfox.patch @@ -0,0 +1,20 @@ +t:pref +i:/browser/app/profile/firefox.js +o:/browser/app/profile/firefox.js + ++pref("nglayout.initialpaint.delay", 5); // formerly 250 ++pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s) ++pref("gfx.canvas.accelerated.cache-items", 4096); // default=2048; Chrome=4096 ++pref("gfx.canvas.accelerated.cache-size", 512); // default=256; Chrome=512 ++pref("gfx.content.skia-font-cache-size", 20); // default=5; Chrome=20 ++pref("media.memory_cache_max_size", 65536); // default=8192; AF=65536 ++pref("network.http.max-connections", 1800); // default=900 ++pref("network.http.max-persistent-connections-per-server", 10); // default=6 ++pref("network.http.pacing.requests.enabled", false); ++pref("network.dns.disablePrefetch", true); ++pref("network.ssl_tokens_cache_capacity", 10240); // default=2048 ++pref("layout.css.grid-template-masonry-value.enabled", true); ++pref("dom.enable_web_task_scheduling", true); ++pref("media.cache_readahead_limit", 7200); // 120 min; default=60 ++pref("media.cache_resume_threshold", 3600); // 60 min; default=30 ++pref("image.mem.decode_bytes_at_a_time", 32768); // default=16384 diff --git a/patches/no-bs.patch b/patches/no-bs.patch new file mode 100644 index 0000000..3c4eac1 --- /dev/null +++ b/patches/no-bs.patch @@ -0,0 +1,43 @@ +t:pref +i:/browser/app/profile/firefox.js +o:/browser/app/profile/firefox.js + ++pref("extensions.pocket.enabled", false); // Disable Pocket integration ++pref("browser.privatebrowsing.vpnpromourl", ""); // Remove VPN promo ++pref("browser.newtabpage.activity-stream.feeds.topsites", false); // Disable top sites on new tab page ++pref("browser.newtabpage.activity-stream.showWeather", false); // Disable weather on new tab page ++pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); // Disable Pocket stories ++pref("extensions.htmlaboutaddons.recommendations.enabled", false); // Disable addon recommendations ++pref("browser.discovery.enabled", false); // Disable discovery panel ++pref("browser.contentblocking.report.hide_vpn_banner", true); // Hide VPN banner in reports ++pref("browser.contentblocking.report.lockwise.enabled", false); // Disable Lockwise password manager promo ++pref("browser.contentblocking.report.monitor.enabled", false); // Disable Monitor promo ++pref("browser.contentblocking.report.social.enabled", false); // Disable social tracker info ++pref("browser.contentblocking.report.cookie.enabled", false); // Disable cookie tracker info ++pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); // Disable contextual feature recommendations for addons ++pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); // Disable contextual feature recommendations ++pref("browser.preferences.moreFromMozilla", false); // Remove "More from Mozilla" section in preferences ++pref("browser.aboutConfig.showWarning", false); // Remove warning on about:config ++pref("browser.aboutwelcome.enabled", false); // Disable welcome screen ++pref("browser.profiles.enabled", true); // Enable profile management ++pref("extensions.getAddons.showPane", false); // Disable "Get Add-ons" panel ++pref("browser.shell.checkDefaultBrowser", false); // Disable default browser check ++pref("browser.urlbar.trending.featureGate", false); // Disable trending searches in URL bar ++pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); // Disable nonsponsored suggestions ++pref("browser.urlbar.suggest.quicksuggest.sponsored", false); // Disable sponsored suggestions ++pref("browser.urlbar.suggest.calculator", false); // Disable calculator in URL bar ++pref("browser.urlbar.unitConversion.enabled", false); // Disable unit conversion in URL bar ++pref("browser.newtabpage.activity-stream.feeds.section.highlights", false); // Disable highlights on new tab ++pref("browser.newtabpage.activity-stream.feeds.section.spoc", false); // Disable sponsored content on new tab ++pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); // Enable userChrome.css and userContent.css for customization ++pref("browser.compactmode.show", true); // Enable compact mode option ++pref("browser.download.manager.addToRecentDocs", false); // Disable adding downloads to recent docs ++pref("extensions.abuseReport.enabled", false); // Disable abuse reporting for extensions ++pref("extensions.quarantinedDomains.enabled", false); // Disable quarantined domains ++pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); // Disable discovery stream on new tab page ++pref("browser.messaging-system.whatsNewPanel.enabled", false); // Disable "What's New" panel ++pref("browser.preferences.defaultPerformanceSettings.enabled", false); // Disable performance settings UI in preferences ++pref("findbar.highlightAll", false); // Disable highlight all in find bar ++pref("layout.word_select.eat_space_to_next_word", false); // Disable word selection eating space ++pref("browser.bookmarks.openInTabClosesMenu", false); // Prevent bookmarks from closing menu when opened in new tab ++pref("browser.menu.showViewImageInfo", false); // Hide "View Image Info" in context menu diff --git a/patches/no-telemetry.patch b/patches/no-telemetry.patch new file mode 100644 index 0000000..7bbe66c --- /dev/null +++ b/patches/no-telemetry.patch @@ -0,0 +1,29 @@ +t:pref +i:/browser/app/profile/firefox.js +o:/browser/app/profile/firefox.js + ++pref("toolkit.telemetry.unified", false); // Disable unified telemetry ++pref("toolkit.telemetry.enabled", false); // Disable telemetry ++pref("toolkit.telemetry.server", ""); // Clear telemetry server ++pref("toolkit.telemetry.archive.enabled", false); // Disable telemetry archive ++pref("toolkit.telemetry.newProfilePing.enabled", false); // Disable new profile telemetry ping ++pref("toolkit.telemetry.shutdownPingSender.enabled", false); // Disable shutdown telemetry ping ++pref("toolkit.telemetry.updatePing.enabled", false); // Disable update telemetry ping ++pref("toolkit.telemetry.bhrPing.enabled", false); // Disable background hang reporting ++pref("toolkit.telemetry.firstShutdownPing.enabled", false); // Disable first shutdown telemetry ping ++pref("toolkit.coverage.opt-out", true); // Opt out of telemetry coverage ++pref("toolkit.coverage.endpoint.base", ""); // Clear telemetry coverage endpoint ++pref("datareporting.policy.dataSubmissionEnabled", false); // Disable data submission ++pref("datareporting.healthreport.uploadEnabled", false); // Disable health report upload ++pref("browser.newtabpage.activity-stream.feeds.telemetry", false); // Disable new tab telemetry ++pref("browser.newtabpage.activity-stream.telemetry", false); // Disable activity stream telemetry ++pref("app.shield.optoutstudies.enabled", false); // Disable Shield studies ++pref("app.normandy.enabled", false); // Disable Normandy ++pref("app.normandy.api_url", ""); // Clear Normandy API URL ++pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // Disable auto submission of crash reports ++pref("breakpad.reportURL", ""); // Disable crash report submission ++pref("captivedetect.canonicalURL", ""); // Disable captive portal detection ++pref("network.captive-portal-service.enabled", false); // Disable network connectivity service ++pref("network.connectivity-service.enabled", false); // Disable connectivity checks ++pref("browser.discovery.enabled", false); // Disable extension recommendations ++pref("extensions.htmlaboutaddons.recommendations.enabled", false); // Disable addon recommendations diff --git a/patches/securefox-doh.patch b/patches/securefox-doh.patch new file mode 100644 index 0000000..7d8136b --- /dev/null +++ b/patches/securefox-doh.patch @@ -0,0 +1,22 @@ +t:pref +i:/browser/app/profile/firefox.js +o:/browser/app/profile/firefox.js + ++pref("network.trr.mode", 3); // Max Protection: only use DoH; do not fall back to native DNS ++pref("network.trr.max-fails", 5); // Reduce max fail attempts ++pref("network.trr.uri", "https://mozilla.cloudflare-dns.com/dns-query"); // Default resolver for DoH ++pref("network.trr.custom_uri", "https://mozilla.cloudflare-dns.com/dns-query"); // Custom URI for DoH ++pref("network.trr.bootstrapAddr", "1.1.1.1"); // Bootstrap address for Cloudflare's DoH ++pref("network.trr.disable-ECS", true); // Disable EDNS Client Subnet ++pref("network.trr.allow-rfc1918", false); // Block private addresses in TRR responses ++pref("network.trr.skip-AAAA-when-not-supported", true); // Skip IPv6 lookups when not supported ++pref("network.trr.clear-cache-on-pref-change", true); // Clear cache on preference changes ++pref("network.trr.wait-for-portal", false); // Do not wait for captive portal detection ++pref("network.trr.excluded-domains", ""); // No additional exclusions for DoH ++pref("network.trr.builtin-excluded-domains", "localhost,local"); // Default built-in exclusions ++pref("network.trr.ohttp.config_uri", "https://dooh.cloudflare-dns.com/.well-known/doohconfig"); // Oblivious HTTP configuration ++pref("network.trr.ohttp.uri", "https://dooh.cloudflare-dns.com/dns-query"); // Oblivious HTTP resolver URI ++pref("network.trr.use_ohttp", true); // Enable Oblivious HTTP for DNS ++pref("network.dns.echconfig.enabled", true); // Enable Encrypted Client Hello (ECH) for TLS ++pref("network.dns.http3_echconfig.enabled", true); // Enable ECH for HTTP/3 ++pref("network.dns.echconfig.fallback_to_origin_when_all_failed", false); // Disable fallback to non-ECH diff --git a/patches/securefox.patch b/patches/securefox.patch new file mode 100644 index 0000000..7004c8c --- /dev/null +++ b/patches/securefox.patch @@ -0,0 +1,28 @@ +t:pref +i:/browser/app/profile/firefox.js +o:/browser/app/profile/firefox.js + ++pref("privacy.history.custom", true); ++pref("privacy.sanitize.sanitizeOnShutdown", true); ++pref("privacy.clearOnShutdown.cache", true); ++pref("privacy.clearOnShutdown.downloads", true); ++pref("privacy.clearOnShutdown.formdata", true); ++pref("privacy.clearOnShutdown.history", true); ++pref("privacy.clearOnShutdown.cookies", true); ++pref("privacy.clearOnShutdown.offlineApps", true); ++pref("privacy.clearOnShutdown.sessions", true); ++pref("browser.urlbar.trimHttps", true); ++pref("browser.urlbar.untrimOnUserInteraction.featureGate", true); ++pref("security.insecure_connection_text.enabled", true); ++pref("security.insecure_connection_text.pbmode.enabled", true); ++pref("browser.search.separatePrivateDefault.ui.enabled", true); ++pref("browser.urlbar.update2.engineAliasRefresh", true); ++pref("browser.search.suggest.enabled", false); ++pref("browser.urlbar.suggest.recentsearches", false); ++pref("browser.urlbar.quicksuggest.enabled", false); ++pref("browser.urlbar.groupLabels.enabled", false); ++pref("browser.formfill.enable", false); ++pref("network.IDN_show_punycode", true); ++pref("dom.security.https_first", true); ++pref("network.trr.mode", 3); ++pref("network.trr.max-fails", 5); diff --git a/patches/smoothfox.patch b/patches/smoothfox.patch new file mode 100644 index 0000000..e79e441 --- /dev/null +++ b/patches/smoothfox.patch @@ -0,0 +1,29 @@ +t:pref +i:/browser/app/profile/firefox.js +o:/browser/app/profile/firefox.js + ++pref("gfx.webrender.all", true); // Enable WebRender for smoother graphics ++pref("gfx.webrender.compositor", true); // Use the WebRender compositor ++pref("gfx.canvas.accelerated", true); // Accelerate canvas rendering ++pref("layers.gpu-process.enabled", true); // Enable GPU process for layers ++pref("gfx.webrender.precache-shaders", true); // Precache shaders to avoid stutters ++pref("media.hardware-video-decoding.enabled", true); // Enable hardware video decoding ++pref("media.ffmpeg.vaapi.enabled", true); // Enable VA-API for hardware-accelerated video decoding (Linux-specific) ++pref("dom.animations-api.core.enabled", true); // Enable the animations API for smoother animations ++pref("layout.frame_rate", 120); // Set frame rate to 120 for smoother rendering ++pref("image.cache.size", 52428800); // Increase image cache size to reduce reloading ++pref("image.mem.decode_bytes_at_a_time", 524288); // Improve image decoding performance ++pref("layout.display-list.retain", true); // Retain display lists for smoother scrolling ++pref("layout.css.scroll-behavior.smooth", true); // Enable smooth scrolling ++pref("general.smoothScroll", true); // Enable general smooth scrolling ++pref("general.smoothScroll.currentVelocityWeighting", 0.15); // Velocity influence for scrolling (Natural Smooth Scrolling v3) ++pref("general.smoothScroll.stopDecelerationWeighting", 0.6); // Deceleration influence (Natural Smooth Scrolling v3) ++pref("general.smoothScroll.msdPhysics.enabled", true); // Enable physics-based smooth scrolling ++pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 250); // Motion start spring constant ++pref("general.smoothScroll.msdPhysics.regularSpringConstant", 250); // Regular scrolling spring constant ++pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 120); // Maximum delta for continuous motion ++pref("mousewheel.default.delta_multiplier_y", 100); // Adjust scroll speed multiplier ++pref("mousewheel.min_line_scroll_amount", 25); // Minimum scroll amount for smoothness ++pref("apz.gtk.kinetic_scroll.enabled", true); // Enable kinetic scrolling (Linux-specific) ++pref("apz.velocity_bias", 0.7); // Bias for scroll velocity adjustment ++pref("apz.velocity_relevance_time_ms", 150); // Time frame for velocity calculation relevance \ No newline at end of file