在 Firefox 中,我希望将browser.in-content.dark-mode
和都privacy.resistFingerprinting
设置为true
。但是,后一种设置(如在这个问题,屏蔽此设置并将首选配色方案 ( prefers-color-scheme
) 设置为light
。如何强制prefers-color-scheme
变暗?
答案1
在问题讨论过,浏览器主题设置为light
,以增加隐私,使指纹识别更加困难。覆盖此偏好设置会略微降低隐私,但可以保护您的眼睛。无需安装整个深色主题(例如,暗黑读者),根据我的经验,这可能会导致一点延迟和不太吸引人的配色方案(与使用 显示的相比prefers-color-scheme="dark"
,您可以覆盖prefers-color-scheme
。有一个名为 的扩展可以做到这一点暗网攻击者。
另外,为了获得额外的学分,您可以随时修改 Firefox 的相应源代码,例如Document.cpp
当为真时,使用深色偏好设置ShouldResistFingerprinting
。其他默认的浅色也应被覆盖。然后你必须构建。扩展显然是更简单的方法,并且同样有效。在上述问题得到解决之前,情况将一直如此。
答案2
正如另一个答案的评论所提到的,“Dark Website Forcer”扩展无法解决这个问题,而且似乎也没有其他方法可以覆盖privacy.resistFingerprinting
强制亮模式。它是用 C++ 硬编码的。
但 Firefox 的最新版本引入了一种由 控制的、非常相似的新模式privacy.fingerprintingProtection
,允许覆盖此设置。以下是about:config
您需要的设置,user.js
格式如下(您也可以在 中手动输入about:config
):
// resistFingerprinting overrides fingerprintingProtection, so these must be disabled
user_pref("privacy.resistFingerprinting", false);
user_pref("privacy.resistFingerprinting.pbmode", false);
// At least one of these two must be enabled
user_pref("privacy.fingerprintingProtection", true);
user_pref("privacy.fingerprintingProtection.pbmode", true);
user_pref("privacy.fingerprintingProtection.overrides", "+AllTargets,-CSSPrefersColorScheme");
您可以添加,-JSDateTimeUTC
覆盖以防止强制将时区设置为 UTC,这是另一个最常见的投诉resistFingerprinting
。可控制选项的完整列表位于RFPTargets.inc
。
在我撰写本文时,这种模式似乎仍未记录,而且我不知道第一个可以正常运行的 Firefox 版本 - 也许是 118 左右。
115 ESR 具有此模式,但仅处于半成熟的形式。+AllTargets
不起作用,并且似乎需要单独启用每个“目标”。目标清单也更短。以下是启用它们的代码,但以下情况除外CSSPrefersColorScheme
:
user_pref("privacy.fingerprintingProtection.overrides", "-CSSPrefersColorScheme,+TouchEvents,+PointerEvents,+KeyboardEvents,+ScreenOrientation,+SpeechSynthesis,+CSSPrefersReducedMotion,+CSSPrefersContrast,+CanvasRandomization,+CanvasImageExtractionPrompt,+CanvasExtractionFromThirdPartiesIsBlocked,+CanvasExtractionBeforeUserInputIsBlocked,+NavigatorAppName,+NavigatorAppVersion,+NavigatorBuildID,+NavigatorHWConcurrency,+NavigatorOscpu,+NavigatorPlatform,+NavigatorUserAgent,+StreamTrackLabel,+StreamVideoFacingMode");
user_pref("general.useragent.override", "Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/115.0");
第二行是因为+NavigatorUserAgent
似乎实际上不起作用,如果其他一些也不起作用我也不会感到惊讶,但是coveryourtracks.eff.org给它一个相当好的健康证明。
我认为不久之后这种模式将被记录下来并成为比现在更安全的替代模式resistFingerprinting
。