diff --git a/settings/camoufox.cfg b/settings/camoufox.cfg index 0a9ade0..b0dd8ae 100644 --- a/settings/camoufox.cfg +++ b/settings/camoufox.cfg @@ -1,25 +1,43 @@ -// ************ -// Camoufox functionality -// ************ +// ================================================================= +// CAMOUFOX FUNCTIONALITY +// ================================================================= -defaultPref("gfx.bundled-fonts.activate", 1); +// Use dark theme defaultPref("extensions.activeThemeID", "firefox-compact-dark@mozilla.org"); +// Allow remote defaultPref("devtools.debugger.remote-enabled", true); defaultPref("devtools.debugger.prompt-connection", false); -defaultPref("privacy.userContext.enabled", true); +// Dont restore sessions defaultPref("browser.sessionstore.max_resumed_crashes", 0); defaultPref("browser.sessionstore.restore_on_demand", false); defaultPref("browser.sessionstore.restore_tabs_lazily", false); + +// Allow pasting in console defaultPref("devtools.selfxss.count", 100); +// WebRTC intercept IP defaultPref("media.peerconnection.ice.no_host", true); +// Use bundled fonts +defaultPref("gfx.bundled-fonts.activate", 1); + // Use the patched Skia engine defaultPref("gfx.canvas.azure.backends", "skia"); defaultPref("gfx.content.azure.backends", "skia"); +// Do not truncate pastes +defaultPref("editor.truncate_user_pastes", false); + +// Camoufox prefs +defaultPref("camoufox.debugger.force_detach", true); +defaultPref("camoufox.console.logging_disabled", false); +defaultPref( + "camoufox.uBO.assetsBootstrapLocation", + "https://raw.githubusercontent.com/daijro/camoufox/refs/heads/main/assets/uBOAssets.json" +); + // Tweaks that undo Playwright: // Force enable content isolation (WAFs can detect this!) @@ -32,11 +50,13 @@ defaultPref("ui.systemUsesDarkTheme", 1); // Enable PDFJS defaultPref("pdfjs.disabled", false); -// ************ -// Debloat and speed up Camoufox. -// ************ -// Debloat (from Peskyfox) +// ================================================================= +// DEBLOAT +// ================================================================= + + +// === From Peskyfox === // VPN defaultPref("browser.privatebrowsing.vpnpromourl", ""); // Disable VPN promotions @@ -53,7 +73,10 @@ defaultPref( false ); // Disable feature recommendations -// More debloat +// No places +defaultPref("browser.places.interactions.enabled", false); + +// Popups defaultPref("browser.preferences.moreFromMozilla", false); // Hide "More from Mozilla" in Settings defaultPref("browser.aboutConfig.showWarning", false); // Disable warning when opening about:config defaultPref("browser.startup.homepage_override.mstone", "ignore"); // Disable What's New page after updates @@ -68,16 +91,13 @@ defaultPref("browser.device-migration.help-menu.hidden", true); // Theme adjustments defaultPref("toolkit.legacyUserProfileCustomizations.stylesheets", true); // Enable userChrome/userContent -defaultPref("browser.compactmode.show", true); // Show compact mode option defaultPref("browser.display.focus_ring_on_anything", true); // Remove focus indicator for links defaultPref("browser.display.focus_ring_style", 0); defaultPref("browser.display.focus_ring_width", 0); -defaultPref("layout.css.prefers-color-scheme.content-override", 2); -defaultPref("browser.privateWindowSeparation.enabled", false); // Don't separate private windows in taskbar -// Cookie banners -defaultPref("cookiebanners.service.mode", 2); // Reject cookie banners if possible -defaultPref("cookiebanners.service.mode.privateBrowsing", 2); +// Cookie banners (commented out since uBlock covers this) +// defaultPref("cookiebanners.service.mode", 2); // Reject cookie banners if possible +// defaultPref("cookiebanners.service.mode.privateBrowsing", 2); // Translations defaultPref("browser.translations.enable", false); // Disable Firefox Translations @@ -161,25 +181,10 @@ defaultPref("extensions.pocket.oAuthConsumerKey", " "); defaultPref("extensions.pocket.site", " "); defaultPref("extensions.pocket.showHome", false); -// Downloads -defaultPref("browser.download.always_ask_before_handling_new_types", true); -defaultPref("browser.download.autohideButton", true); -defaultPref("browser.download.alwaysOpenPanel", false); -defaultPref("browser.download.manager.addToRecentDocs", false); - -// PDF -defaultPref("browser.helperApps.showOpenOptionForPdfJS", false); -defaultPref("browser.download.open_pdf_attachments_inline", false); -defaultPref("pdfjs.sidebarViewOnLoad", 0); - // Miscellaneous defaultPref("identity.fxaccounts.enabled", false); -defaultPref("browser.bookmarks.openInTabClosesMenu", false); -defaultPref("browser.menu.showViewImageInfo", false); defaultPref("findbar.highlightAll", false); defaultPref("layout.word_select.eat_space_to_next_word", false); -defaultPref("dom.popup_allowed_events", "click dblclick mousedown pointerdown"); -// defaultPref("dom.disable_open_during_load", false); defaultPref("privacy.popups.showBrowserMessage", false); defaultPref("browser.tabs.cardPreview.enabled", false); defaultPref("browser.backspace_action", 2); @@ -187,18 +192,18 @@ defaultPref("reader.parse-on-load.enabled", false); defaultPref("ui.key.menuAccessKeyFocuses", false); defaultPref("layout.spellcheckDefault", 0); defaultPref("ui.SpellCheckerUnderlineStyle", 1); -defaultPref("browser.bookmarks.max_backups", 1); +defaultPref("browser.bookmarks.max_backups", 0); defaultPref("browser.zoom.full", false); defaultPref("print.tab_modal.enabled", false); defaultPref("browser.tabs.tabMinWidth", 120); -// Debloat pt.2 (from Librewolf) +// === Debloat pt.2 (from Librewolf) === // Forms defaultPref("signon.rememberSignons", false); defaultPref("signon.autofillForms", false); -// defaultPref("extensions.formautofill.addresses.enabled", false); -// defaultPref("extensions.formautofill.creditCards.enabled", false); +defaultPref("extensions.formautofill.addresses.enabled", false); +defaultPref("extensions.formautofill.creditCards.enabled", false); defaultPref("signon.formlessCapture.enabled", false); // Remove shopping defaultPref("browser.shopping.experience2023.enabled", false); @@ -224,19 +229,6 @@ defaultPref("browser.contentblocking.report.show_mobile_app", false); defaultPref("browser.promo.focus.enabled", false); defaultPref("lightweightThemes.getMoreURL", ""); // disable button to get more themes defaultPref("browser.topsites.useRemoteSetting", false); // hide sponsored shortcuts button -// Logging -// defaultPref("browser.dom.window.dump.enabled", false); -// defaultPref("devtools.console.stdout.chrome", false); // Breaks Playwright -defaultPref("camoufox.debugger.force_detach", false); -defaultPref("camoufox.console.logging_disabled", false); - -defaultPref( - "camoufox.uBO.assetsBootstrapLocation", - "https://raw.githubusercontent.com/daijro/camoufox/refs/heads/main/assets/uBOAssets.json" -); - -// Sanitize -defaultPref("privacy.sanitize.timeSpan", 0); // Extensions defaultPref("extensions.webextensions.restrictedDomains", ""); @@ -274,8 +266,6 @@ defaultPref("security.protectionspopup.recordEventTelemetry", false); defaultPref("browser.ping-centre.telemetry", false); // opt-out of normandy and studies -defaultPref("app.normandy.enabled", false); -defaultPref("app.normandy.api_url", ""); defaultPref("app.shield.optoutstudies.enabled", false); defaultPref("network.protocol-handler.external.ms-windows-store", false); // prevent links from launching windows store @@ -290,9 +280,13 @@ defaultPref("network.connectivity-service.enabled", false); defaultPref("network.captive-portal-service.enabled", false); defaultPref("captivedetect.canonicalURL", ""); -// Limit image memory -defaultPref("image.mem.decode_bytes_at_a_time", 4096); // default=16384; alt=65536; chunk size for calls to the image decoders -defaultPref("media.memory_cache_max_size", 8192); // default=8192; AF=65536; alt=131072 +// ================================================================= +// MEMORY & SESSION +// ================================================================= + +// Limit image memory (commented out to help performance) +// defaultPref("image.mem.decode_bytes_at_a_time", 16384); // default=16384; alt=65536; chunk size for calls to the image decoders +// defaultPref("media.memory_cache_max_size", 8192); // default=8192; AF=65536; alt=131072 // Disable DNS prefetching defaultPref("network.dns.disablePrefetch", true); @@ -301,10 +295,8 @@ defaultPref("network.prefetch-next", false); defaultPref("network.predictor.enabled", false); defaultPref("browser.preferences.defaultPerformanceSettings.enabled", false); -defaultPref("editor.truncate_user_pastes", false); -defaultPref("browser.places.interactions.enabled", false); - -defaultPref("privacy.partition.network_state", false); // Disable network seperations +// Disable network seperations +defaultPref("privacy.partition.network_state", false); // Turn off bfcache // Source: https://github.com/Floorp-Projects/Floorp/issues/140 @@ -317,36 +309,43 @@ defaultPref("browser.sessionhistory.max_entries", 0); defaultPref("browser.sessionhistory.max_total_viewers", 0); defaultPref("browser.fullscreen.autohide", false); -// Cache +// Force disk cache defaultPref("browser.cache.memory.enable", false); // Disable memory cache - defaultPref("browser.cache.disk.enable", true); // Enable disk cache defaultPref("browser.cache.disk_cache_ssl", true); // Enable disk cache for SSL -defaultPref("browser.cache.offline.enable", false); // Disable offline cache -defaultPref("browser.cache.offline.capacity", 0); -defaultPref("browser.cache.disk.smart_size.enabled", false); // Disables cache size auto-tuning +// Disable offline cache (commented out to help performance) +// defaultPref("browser.cache.offline.enable", false); +// defaultPref("browser.cache.offline.capacity", 0); +// defaultPref("browser.cache.disk.smart_size.enabled", false); // Disables cache size auto-tuning // Release memory after closing tabs defaultPref("memory.free_dirty_pages", true); -// New tab -defaultPref("browser.newtabpage.enhanced", false); + +// Datareporting defaultPref("datareporting.sessions.current.clean", true); + // Session storage defaultPref("browser.sessionstore.privacy_level", 2); -// Bookmark bar -defaultPref("browser.toolbars.bookmarks.visibility", "never"); - // Do not reopen windows on startup defaultPref("privacy.clearOnShutdown.openWindows", true); -// Fingerprinting +// RFP defaultPref("privacy.resistFingerprinting", false); // This will actually hurt fingerprinting. -// defaultPref("privacy.resistFingerprinting.block_mozAddonManager", true); // prevents rfp from breaking AMO + + +// ================================================================= +// THEMING +// ================================================================= + +// New tab +defaultPref("browser.newtabpage.enhanced", false); + +// Bookmark bar +defaultPref("browser.toolbars.bookmarks.visibility", "never"); // Theming (from Firefox-UI-Fix) - defaultPref("userChrome.tab.connect_to_window", true); // Original, Photon defaultPref("userChrome.tab.color_like_toolbar", true); // Original, Photon @@ -422,6 +421,9 @@ defaultPref("userChrome.icon.global_menubar", true); defaultPref("userChrome.icon.1-25px_stroke", true); +// ================ [FROM PLAYWRIGHT] ================ + + // ================================================================= // THESE ARE THE PROPERTIES THAT MUST BE ENABLED FOR JUGGLER TO WORK // ================================================================= @@ -434,6 +436,10 @@ defaultPref("datareporting.policy.dataSubmissionEnabled", false); defaultPref("datareporting.policy.dataSubmissionPolicyAccepted", false); defaultPref("datareporting.policy.dataSubmissionPolicyBypassNotification", true); +// ------- +// CAMOUFOX: Removed pref to disable pdf.js +// ------- + // This preference breaks our authentication flow. defaultPref("network.auth.use_redirect_for_retries", false); @@ -453,11 +459,13 @@ defaultPref("network.cookie.cookieBehavior", 4); // get a new process by default and we have a process isolation // between pages from different contexts. If this becomes a performance // issue we can povide custom '@mozilla.org/ipc/processselector;1' -// defaultPref("dom.ipc.processCount", 60000); +// ------- // Using 16 is to balance process isolation and resource usage // The 60000 PlayWright is using is impractical and may cause instability. defaultPref("dom.ipc.processCount", 16); +// Thanks @D4Vinci! +/// ------ // Never reuse processes as they may keep previously overridden values // (locale, timezone etc.). @@ -470,6 +478,9 @@ defaultPref("permissions.isolateBy.userContext", true); // |Page.setFileInputFiles| protocol method. defaultPref("dom.file.createInChild", true); +// Allow uploading directorys in content process. +pref("dom.filesystem.pathcheck.disabled", true); + // Do not warn when closing all open tabs defaultPref("browser.tabs.warnOnClose", false); @@ -501,16 +512,6 @@ defaultPref("gfx.color_management.rendering_intent", 3); // macOS dialog raised by the corelocation provider defaultPref("geo.provider.testing", true); -// From TOR -// defaultPref("dom.webaudio.enabled", false); // Bug 13017: Disable Web Audio API -// defaultPref("dom.webmidi.enabled", false); // Bug 41398: Disable Web MIDI API -// tor-browser#42043: Stop reporting device IDs (and spoof their number without -// RFP, RFP already reports 1 audioinput and 1 videoinput, but still has -// randomized IDs when this pref is true). -// Defense-in-depth (already the default value) from Firefox 119 or 120. -defaultPref("media.devices.enumerate.legacy.enabled", false); - - // ================================================================= // THESE ARE NICHE PROPERTIES THAT ARE NICE TO HAVE // ================================================================= @@ -527,11 +528,20 @@ defaultPref("extensions.formautofill.addresses.supported", "off"); // firefox behavior with other browser defaults. defaultPref("security.enterprise_roots.enabled", true); +// Theres a security features warning that might be shown on certain Linux distributions & configurations: +// https://support.mozilla.org/en-US/kb/install-firefox-linux#w_security-features-warning +// This notification should never be shown in automation scenarios. +pref("security.sandbox.warn_unprivileged_namespaces", false); + // Avoid stalling on shutdown, after "xpcom-will-shutdown" phase. // This at least happens when shutting down soon after launching. // See AppShutdown.cpp for more details on shutdown phases. defaultPref("toolkit.shutdown.fastShutdownStage", 3); +// ------- +// CAMOUFOX: Removed pref to use light theme by default (make less like headless) +// ------- + // Only allow the old modal dialogs. This should be removed when there is // support for the new modal UI (see Bug 1686743). defaultPref("prompts.contentPromptSubDialog", false);