新博客的第一篇,就从浏览器开始聊吧。
在大陆上网,要操心的事比别处多一些。运营商会往 HTTP 页面里塞广告;DNS 是明文的,查了什么网站一目了然,还经常被污染;就算上了 HTTPS,你访问的域名在握手时照样是明文的(SNI)。再往深了说,浏览器信任的根证书里只要有一张“听话”的,就能给任何网站签一张假证书,你连个警告都看不到。
浏览器是离我们最近的一层,天天用,密码也基本都在里面输。所以这篇就讲一件事:怎么把 Firefox 调到一个在大陆网络下比较让人放心的状态。
丑话说在前面:这些设置不能让你匿名,跟科学上网也不是一回事,真被人盯上了也挡不住。系统、输入法、手机这些坑以后再慢慢写。这篇只管浏览器这一层,能少漏一点是一点。
一、为什么用 Firefox,去哪下载
Firefox 不是最快的,我选它主要是这几个原因:开源,Mozilla 也不靠卖用户数据赚钱;它有自己的一套根证书库(NSS),信任谁可以自己说了算,不用管系统里装了什么,后面第四节就靠这个;另外几乎什么都能在 about:config 里改,改完还能用一个 user.js 固定下来。
国产浏览器就算了。“云加速”“安全云查询”这类功能基本都会把你的浏览记录送到境内服务器,人家当然可以说没拿来干坏事,但你没法验证。真要用 Chromium 系的,还不如直接用正版 Chrome。冷知识:谷歌中国其实一直都在,google.cn/chrome 这个老域名在国内到现在都能正常下载 Chrome,经历过谷歌中国那个年代的人应该不陌生。
去哪下载
以前国内有个谋智(Mozilla Online)做的“火狐中国版”,谋智退出中国以后就没有了,现在只剩 Mozilla 的全球版。如果你的 Firefox 是好几年前装的,打开 about:support 看一眼“分发 ID”,写着 MozillaOnline 的话就是当年的中国版,导出书签,卸了重装吧。
麻烦的是,谋智走了以后国内就没有下载加速了,官网下载慢得要命。Mozilla 自己的几个下载站(archive.mozilla.org、ftp.mozilla.org、download.cdn.mozilla.net)和 Linux 用的 packages.mozilla.org 在国内也都被限速得很离谱。我的建议是:
- Windows:去 Microsoft Store 搜 Firefox。微软在国内是正经开公司的,商店有加速,比官网快多了,以后更新也走商店。
- macOS:只能官网硬下(mozilla.org/zh-CN/firefox/all/),慢归慢,下好一次以后它会自己在后台更新。
- Linux:用发行版自己的仓库,换成清华、中科大这些国内镜像就很快。Mozilla 官方的 APT 源在国内基本别指望。
- Android:国内手机大多没有 Google Play,可以直接下官方 APK,也可以用 F-Droid 装 Fennec,见下面。
- iOS:不推荐装 Firefox。苹果规定 iOS 上的浏览器都得用 Safari 的 WebKit 内核,所以 iOS 版 Firefox 说白了就是套了个壳的 Safari,about:config 和扩展都没有,这篇里的大部分设置都用不上,还不如直接用原版 Safari。Android 版就不一样了,功能跟桌面版基本一样完整,about:config、扩展都有。
Android 的 APK
下面三个地址里的东西是一样的,哪个快用哪个(说实话都不快,多试几次):
- archive.mozilla.org/pub/fenix/releases/
- ftp.mozilla.org/pub/fenix/releases/
- download.cdn.mozilla.net/pub/fenix/releases/
Fenix 是安卓版 Firefox 的代号。进去以后挑最新的版本号,带 b 的是测试版,跳过。然后进 android/,选手机架构,现在的手机基本都是 arm64-v8a。比如:
releases/156.0/android/fenix-156.0-android-arm64-v8a/fenix-156.0.multi.android-arm64-v8a.apk
安卓会检查新旧 APK 的签名是不是同一个,所以只要第一次装的是官方包,后面基本不用担心被掉包。
另一个选择:F-Droid 里的 Fennec
F-Droid 是一个只收开源应用的安卓应用商店,里面有个 Fennec,是基于 Firefox 重新编译的版本,去掉了 Mozilla 的一些闭源组件和遥测,用起来跟 Firefox 没什么区别。
F-Droid 在国内也被屏蔽了,不过清华大学的开源镜像站有 F-Droid 的镜像。装好 F-Droid 客户端以后,照着清华的说明 mirrors.tuna.tsinghua.edu.cn/help/fdroid/ 把清华源加进客户端的存储库里,下载速度就正常了。然后在里面搜 Fennec 装上。
自动更新:Obtainium
不管是直接下的 APK 还是别的途径装的,没有 Play 商店就没有自动更新。我建议装一个 Obtainium,它可以盯着应用的发布页面,有新版本就提醒你、帮你下载安装,省得自己隔三差五去翻目录。
二、设置页面里就能改的
菜单 ☰ → 设置 → 隐私与安全,下面这几项都在这一页。不同版本的字可能不太一样,意思对上就行。
增强型跟踪保护:严格
默认是“标准”,改成“严格”。这样社交媒体跟踪器、跨站 Cookie、挖矿脚本、指纹追踪器都会被拦掉。
偶尔会有网站显示不正常,一般是嵌了第三方登录、评论区或者视频的那种。碰到了就点地址栏左边的小盾牌,单独给这个网站关掉就好,别为了一个网站把全局改回去。
仅 HTTPS 模式:所有窗口启用
先简单说一下 HTTP 和 HTTPS 的区别。HTTP 是明文的,你和网站之间传的所有东西,包括你看的页面、填的表、输的密码,路上经过的每一台设备都能看到,也都能改。HTTPS 多了那个 S,就是加了一层 TLS 加密,路上的人只知道你连了哪个网站,具体看了什么、填了什么是看不到的,也改不了;同时还有证书来证明对面确实是那个网站,不是别人冒充的。
这项在国内特别有用。运营商劫持基本都是在 HTTP 上做的,什么右下角弹“宽带续费”、下载链接被偷偷换掉、莫名其妙跳到别的页面,全是这个套路。打开以后 Firefox 会把 HTTP 自动升成 HTTPS,网站不支持的话会先弹一个警告页问你,不会偷偷降级。
国内还有些老网站(尤其是一些政府和学校的)只有 HTTP。还有更有意思的:首页挂着 HTTPS 的小锁,看着挺正规,可你真点进去要实名“反映情况”的时候,那个页面就只剩 HTTP 了。你在那种页面上填的每一个字,路上的人都看得清清楚楚。至于要不要填、填什么,自己掂量。
DNS over HTTPS:最大保护
普通 DNS 是明文的,你查了哪些域名,运营商、公共 Wi-Fi、中间任何一台设备都看得见,还能给你返回假结果(就是常说的 DNS 污染)。DoH 就是把 DNS 查询塞进 HTTPS 里。
Firefox 这里有几个档位:
- 默认保护:Firefox 自己看着办,在国内一般等于没开。
- 增强保护:先用 DoH,不行就退回系统 DNS。
- 最大保护:只用 DoH,连不上就直接报错。
- 关闭。
选最大保护。增强保护的毛病是只要有人把你的 DoH 掐了,它就悄悄退回明文 DNS,你根本不会发现。最大保护的话,最坏也就是打不开网页。
然后选服务商,这一步在国内最头疼。Cloudflare、Google、Quad9 这些大家都知道的境外 DoH,直连已经基本被封了,在最大保护下填它们,结果就是什么都打不开。所以要分情况:
- 浏览器走科学上网工具的:DoH 也会跟着一起出去,直接用境外的就行,比如 Cloudflare 的
https://mozilla.cloudflare-dns.com/dns-query,Quad9 的https://dns.quad9.net/dns-query,Mullvad 的https://dns.mullvad.net/dns-query。 - 直连的:推荐自己在 Cloudflare Pages 上搭一个,下面细说。
- 实在懒得折腾:可以先用国内的,腾讯
https://doh.pub/dns-query或者阿里https://dns.alidns.com/dns-query。不过心里要有数:它们能防运营商和公共 Wi-Fi,但你查了什么服务商自己全看得到,被封的域名它们照样给你返回污染的结果。
在 Cloudflare Pages 上自建 DoH
公共 DoH 的地址是固定的,大家都知道,封起来很容易。要是每个人都在自己的 Cloudflare Pages 上部署一个,就变成了成千上万个不同的域名,想一个个封就没那么容易了。
我写好了一个项目,fork 过去就能用:gitlab.com/HydrofluoricAcid/dns。它跑在 Cloudflare 的边缘节点上,会把你的查询同时发给好几个境外 DoH(Cloudflare、Google、Quad9 等),谁快用谁,还会顺手去掉可能暴露你所在网段的 ECS 信息。
步骤:
- 把项目弄到你自己的账号下。有 GitLab 账号的话直接点右上角 Fork;没有也没关系(GitLab 最近也退出中国了),在项目页面点 Code → 下载 zip,解压以后传到你自己的 GitHub 新仓库里就行。
- 注册并登录 Cloudflare,免费版就够。
- 左边菜单 Workers 和 Pages → 创建 → Pages → 连接到 Git,授权 GitLab 或 GitHub,选你刚才的仓库。
- 构建设置里框架预设选 None,构建命令和输出目录都空着,然后保存并部署。
- 部署好以后,地址就是
https://你的项目名.pages.dev/dns-query。 - 回到 Firefox 的 DoH 设置,服务商选“自定义”,把地址填进去。
几个小建议:项目名起得随便一点,别叫 doh、dns 这种一看就知道干嘛的;有自己的域名的话,可以在 Pages 的“自定义域”里绑上去;如果你那边连这个域名本身都解析不出来,可以在 about:config 里把 network.trr.bootstrapAddr 设成它的 IP,让 Firefox 直接连。Cloudflare 免费版每天有 10 万次请求的额度,自己用够了,别把地址到处分享。
还有一点要知道:这样搭完,运营商看不到你查了什么,但 Cloudflare 和上游的 DoH 服务商还是能看到。比交给国内服务商好,但也谈不上谁都看不见。
设置好以后,打开 about:networking#dns,TRR 那一列是 true 的就是走了 DoH 的。
顺手改掉的几项
- 默认搜索引擎(设置 → 搜索):如果是百度,你在地址栏里打的每个字都会实时发给百度做“搜索建议”。谷歌、DuckDuckGo、Startpage 这些在国内直连都用不了,现实的选择就是 Bing。国内默认是 Bing 中国版,配上后面要装的 uBlock Origin,体验比百度好太多了(顺便一提 Bing 搜索还有积分,攒着甚至能换肯德基,误)。想在国内打开国际版 Bing 的话,有个小技巧:访问
https://global.bing.com/?setmkt=en-US&setlang=en。另外可以把“显示搜索建议”关掉,少往外发一点。 - 主页(设置 → 主页):把“赞助商快捷方式”和各种推荐内容都关掉。
- 密码:用 Firefox 自带的密码管理器没问题,但一定要设主密码(隐私与安全 → 密码 → 使用主密码),不然密码在本地跟明文差不多。
三、about:config 里的进阶设置
地址栏输入 about:config,点“接受风险并继续”。顶上的框里搜名字,布尔值双击就能切换,数字和字符串点右边的铅笔改,没有的项选好类型点“+”新建。
每一项我都写了是干嘛的、有什么副作用。看不懂的先别动,乱改比不改更容易出事。
ECH:把域名也藏起来
前面说了,HTTPS 握手时的 SNI 是明文的,审查设备和运营商就是靠它知道你上了哪个网站。ECH(Encrypted Client Hello)就是把这一段也加密了。
新版 Firefox 默认已经开了,但它要靠 DoH 去拿网站的 ECH 配置,所以上面的 DoH 必须开着。检查一下这两项是不是 true:
network.dns.echconfig.enabled true
network.dns.http3_echconfig.enabled true
网站那边也得支持才行,目前主要是挂在 Cloudflare 上的网站。打开 crypto.cloudflare.com/cdn-cgi/trace,看到 sni=encrypted 就是成功了。
ECH 也不是科学上网工具,人家想的话完全可以把用 ECH 的连接直接掐掉。不过那样你至少知道是连不上,好过被人看光了还不知道。
WebRTC:别让网页拿到真实 IP
WebRTC 是浏览器里做视频通话、P2P 用的。为了打通连接,它会把你所有的网络地址都收集一遍,包括内网 IP,有时还会绕过你设置的代理,把真实的公网 IP 交给网页。科学上网的人最常见的泄露就是这个。
如果还想在浏览器里开视频会议,这样改:
media.peerconnection.ice.default_address_only true
media.peerconnection.ice.no_host true
media.peerconnection.ice.proxy_only_if_behind_proxy true
前两个是不暴露内网地址,第三个是有代理的时候 WebRTC 也只能走代理。
从来不在浏览器里开视频的话,干脆整个关了:
media.peerconnection.enabled false
改完去 browserleaks.com/webrtc 看看,不应该出现你的真实 IP 或者内网 IP。
浏览器指纹
就算不用 Cookie,网站也能靠分辨率、字体、显卡、Canvas、时区、语言这些东西拼出一个差不多独一无二的“指纹”,把你认出来。国内的广告联盟和风控用得非常多。
Firefox 有两套办法。一个是 privacy.fingerprintingProtection(FPP),只处理最常被滥用的那些特征,兼容性好,前面开了“严格”其实就已经开了它,保持 true 就行。
另一个是 privacy.resistFingerprinting(RFP),从 Tor 浏览器搬过来的,防得更狠,但我不建议开,副作用太多了,非常影响日常上网:时区会被固定成 UTC,网页上的时间会比北京时间慢 8 个小时;网站拿不到你的深色模式设置;有些网站会弹窗要读 Canvas;再开 privacy.resistFingerprinting.letterboxing 的话,网页四周还会多出灰边。Mozilla 自己也没把它当成给普通用户用的功能。知道有这么个东西就行,FPP 开着就够了。
另外有个挺反直觉的事:你改得越多、越特别,指纹反而可能越独一无二。反指纹靠的是跟一大堆人长得一样。真要在这方面较真,直接用 Tor Browser 或 Mullvad Browser 更省事,它们让所有用户看起来都一样。日常用的话,“严格”加 FPP 就够了。
想测一下可以去 EFF 的 coveryourtracks.eff.org。
其他顺手改的
| 首选项 | 值 | 干嘛的 |
|---|---|---|
network.IDN_show_punycode | true | 国际化域名显示成 xn-- 的原样,防有人用长得像的字符做钓鱼域名 |
network.http.referer.XOriginTrimmingPolicy | 2 | 跳到别的网站时只告诉对方你从哪个域名来,不带完整网址 |
network.prefetch-next | false | 不预加载网页觉得你“接下来可能点”的链接 |
network.dns.disablePrefetch | true | 不提前解析页面上所有链接的域名 |
browser.urlbar.speculativeConnect.enabled | false | 在地址栏打字的时候不提前连网站 |
security.enterprise_roots.enabled | false | 不信任别的软件装进系统里的根证书,第四节细说 |
security.certerrors.mitm.auto_enable_enterprise_roots | false | 碰到疑似中间人的证书错误时,别自动把上面那项又打开 |
security.cert_pinning.enforcement_level | 2 | 手动导入的根证书也不能冒充 Firefox 内置了公钥固定的网站 |
四、把中国大陆的 CA 根证书关掉
为什么
HTTPS 安不安全,说到底看浏览器信任哪些证书颁发机构(CA)。浏览器里的每一张根证书都能给任何域名签证书,google.com 也好,你的邮箱也好。只要其中一家被攻破或者被“要求配合”,就能签出一张浏览器完全认可的假证书,再配合网络上的劫持,你就被中间人了,而且一点提示都没有。
这事真发生过。2015 年,CNNIC 授权的一个中级 CA 签发了假的 Google 证书,之后 Google 和 Mozilla 都不再信任 CNNIC。2016 年,沃通(WoSign)被查出倒签证书、偷偷收购 StartCom 等一堆问题,也被各大浏览器踢了出去。
现在还在 Firefox 信任列表里的几家大陆 CA,都是过了审计的,我也没证据说它们干过坏事。问题是它们注册在大陆,监管和执法部门要它们配合的时候,它们没法说不。要是你担心的对手就包括这个层面,那对它们的信任就是一个可以不用承担的风险。
公平地说,Firefox 从 2025 年初(135 版)开始在桌面端强制要求证书透明度(CT),签出来的证书都得登记在公开日志里,乱签的话比以前容易被发现。但发现也是事后的事,已经被截的那次连接是救不回来了,所以关掉还是有意义的。
要关哪些
下面是截至 2026 年 9 月,Mozilla 根证书库(NSS)里组织在中国大陆的根证书。Firefox 的证书管理器是按组织名分组的,照着第一列找:
| 证书管理器里显示的组织 | 根证书 | 是谁 |
|---|---|---|
| BEIJING CERTIFICATE AUTHORITY | BJCA Global Root CA1 BJCA Global Root CA2 | 北京数字认证(BJCA) |
| China Financial Certification Authority | CFCA EV ROOT | 中国金融认证中心(CFCA) |
| GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. | GDCA TrustAUTH R5 ROOT | 数安时代(GDCA) |
| iTrusChina Co.,Ltd. | vTrus ECC Root CA vTrus Root CA | 天威诚信 |
| TrustAsia Technologies, Inc. | TrustAsia Global Root CA G3 / G4 TrustAsia TLS ECC Root CA TrustAsia TLS RSA Root CA TrustAsia SMIME ECC / RSA Root CA | 亚洲诚信 |
| UniTrust | UCA Global G2 Root UCA Extended Validation Root | 上海数字证书认证中心(SHECA) |
还有一张 Hongkong Post Root CA 3(香港邮政),关不关你自己看着办。
这个列表会跟着 Firefox 更新变,你那边可能多几张也可能少几张,以你自己证书管理器里的为准。点开证书看“主体名称”里的国家/地区,是 CN 的就是。
怎么关
- 设置 → 隐私与安全 → 拉到“证书” → 点“查看证书…”。
- 切到“证书颁发机构”那一栏。
- 找到上面表里的组织,展开,选中一张根证书。
- 点“删除或不信任…”,确定。
- 每一张都来一遍。
别被“删除”两个字吓到。对 Firefox 自带的根证书来说,删除其实只是禁用,证书还留在列表里,随时都能加回来:选中它点“编辑信任…”,把“此证书可以标识网站”勾上就恢复了。所以放心删。
这个设置存在当前配置文件的 cert9.db 里,升级 Firefox 不会被还原,但新建配置文件的话得重新弄一遍。
会有什么影响:有些国内网站用的就是这几家的证书,关了以后会报证书错误。最常碰到的是 CFCA,12306 和不少银行的网银都用它。有些政府、社保网站也可能用 BJCA、GDCA、SHECA。想知道一个网站用的是哪家:点地址栏左边的锁 → 连接安全 → 更多信息 → 查看证书。
要用的时候临时加回来就行:回到证书管理器,给那张证书点“编辑信任…”,勾上“此证书可以标识网站”,办完事再把勾去掉。
经常要用这些网站的话,也可以另外建一个配置文件(about:profiles)专门办事,平时用的那个保持关着,省得来回切。
顺便看看有没有来路不明的根证书
还是在“证书颁发机构”列表里,看右边的“安全设备”一列。写着 Builtin Object Token 的是 Firefox 自带的;写别的(比如“软件安全设备”)的是后来导进去的,如果你不记得自己导过,就得留个心眼了。
国内不少软件会往系统里装自己的根证书,比如一些安全软件、抓包工具、网银控件,还有单位或学校的上网认证客户端。谁装了根证书,谁就能解密你的 HTTPS 流量。要是单位或者学校要求你装根证书才能上网,那就等于直接告诉你:这个网络里的 HTTPS 是会被看的。
Firefox 默认会把系统里这类第三方根证书也一起信任(Windows 和 macOS 上尤其是这样)。第三节把 security.enterprise_roots.enabled 设成 false 就是为了这个,让 Firefox 只认它自己的列表。
有些 Linux 发行版打包的 Firefox 用的是系统的证书库,“安全设备”那一列显示的名字会不太一样,但编辑信任的方法是一样的。
五、关掉 Mozilla 自己的遥测
Mozilla 算是比较收敛的了,但 Firefox 默认还是会给 Mozilla 发使用数据、跑一些“研究”实验、上传崩溃报告。这些数据不一定敏感,不过用不着的连接我还是习惯关掉。
先在设置里关:隐私与安全 → Firefox 数据收集与使用,这一栏里的勾全部去掉(技术及交互数据、研究、崩溃报告、每日使用情况报告之类,具体有哪些看版本)。
设置页面只能关一部分,想关干净还得在 about:config 里改这些(完整的放在下一节的 user.js 里):
datareporting.healthreport.uploadEnabled false
datareporting.policy.dataSubmissionEnabled false
toolkit.telemetry.unified false
toolkit.telemetry.enabled false
toolkit.telemetry.server data:,
app.shield.optoutstudies.enabled false
app.normandy.enabled false
app.normandy.api_url (留空)
breakpad.reportURL (留空)
说一下 app.normandy:Normandy 是 Mozilla 远程改你浏览器设置的通道,用来推实验、推紧急修复。关了它,你的设置就只有你自己能改。
想更彻底的话可以用企业策略,它的优先级比什么设置都高。在 Firefox 安装目录下建一个 distribution 文件夹,放一个 policies.json:
{
"policies": {
"DisableTelemetry": true,
"DisableFirefoxStudies": true
}
}
重启后打开 about:policies 能看到生效了。Windows 的安装目录一般是 C:\Program Files\Mozilla Firefox\,macOS 是 Firefox.app/Contents/Resources/。(从 Microsoft Store 装的版本目录不好改,那就算了,靠上面的设置也够了。)
六、懒人版:user.js
上面这些在 about:config 里一项一项改也完全可以。如果嫌麻烦,或者想换台电脑、新建配置文件的时候一次搞定,可以用 user.js:Firefox 每次启动都会读它,把里面的设置覆盖上去。
- 打开
about:support,在“配置文件夹”那一行点“打开文件夹”。 - 关掉 Firefox。
- 在这个文件夹里新建一个
user.js(注意别变成user.js.txt),把下面的内容贴进去,用 UTF-8 保存。 - 重新打开 Firefox,去
about:config抽查几项。
贴之前请从头看一遍,按自己的情况改,特别是 DoH 的地址。// 开头的是注释,不会生效。
/* 在中国大陆上网的安全知识(一):浏览器 —— 配套 user.js
* 放进 Firefox 配置文件夹,重启生效。每一项都可以按需删改。 */
/* === 跟踪保护:严格 === */
user_pref("browser.contentblocking.category", "strict");
user_pref("privacy.fingerprintingProtection", true);
/* === 仅 HTTPS 模式 === */
user_pref("dom.security.https_only_mode", true);
user_pref("dom.security.https_only_mode_send_http_background_request", false);
/* === DoH:最大保护 ===
* 这里写的是 Cloudflare,只适合浏览器走科学上网工具的情况。
* 直连的话换成你自建的 https://你的项目名.pages.dev/dns-query
* (境外公共 DoH 在大陆直连基本都被封了,先看正文)。 */
user_pref("network.trr.mode", 3);
user_pref("network.trr.uri", "https://mozilla.cloudflare-dns.com/dns-query");
user_pref("network.trr.custom_uri", "https://mozilla.cloudflare-dns.com/dns-query");
/* === ECH(需要 DoH)=== */
user_pref("network.dns.echconfig.enabled", true);
user_pref("network.dns.http3_echconfig.enabled", true);
/* === WebRTC:不泄露真实 IP === */
user_pref("media.peerconnection.ice.default_address_only", true);
user_pref("media.peerconnection.ice.no_host", true);
user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
// 完全不用网页视频通话的话,可以整个关掉:
// user_pref("media.peerconnection.enabled", false);
/* === 抵抗指纹识别(RFP):严重影响上网体验,不建议开 === */
// user_pref("privacy.resistFingerprinting", true);
// user_pref("privacy.resistFingerprinting.letterboxing", true);
/* === 证书 === */
user_pref("security.enterprise_roots.enabled", false);
user_pref("security.certerrors.mitm.auto_enable_enterprise_roots", false);
user_pref("security.cert_pinning.enforcement_level", 2);
/* === 杂项 === */
user_pref("network.IDN_show_punycode", true);
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
user_pref("network.prefetch-next", false);
user_pref("network.dns.disablePrefetch", true);
user_pref("browser.urlbar.speculativeConnect.enabled", false);
/* === 搜索建议和赞助内容 === */
user_pref("browser.search.suggest.enabled", false);
user_pref("browser.urlbar.suggest.searches", false);
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
/* === 遥测 === */
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.usage.uploadEnabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "data:,");
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.coverage.opt-out", true);
user_pref("toolkit.coverage.endpoint.base", "");
user_pref("browser.newtabpage.activity-stream.telemetry", false);
/* === 研究和远程配置 === */
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");
/* === 崩溃报告 === */
user_pref("breakpad.reportURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
/* === 扩展推荐 === */
user_pref("browser.discovery.enabled", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("extensions.getAddons.showPane", false);
注意一下,写进 user.js 的项目,你在设置页面里改了,下次启动又会被改回来。要改就直接改 user.js。
想再往深了折腾,可以看看这两个项目:arkenfox/user.js 偏隐私,改得很激进,文档得认真读;Betterfox 在隐私和好用之间平衡得更好一点。
扩展:只装 uBlock Origin
扩展能看到你浏览的每个页面,所以越少越好。我只推荐 uBlock Origin,拦广告、拦跟踪脚本、拦恶意域名,而且很轻。
问题是 Firefox 的官方扩展商店(addons.mozilla.org)在国内已经打不开了,只能去作者的 GitHub 下:
- 打开 github.com/gorhill/uBlock/releases/latest。
- 在 Assets 里下载以
.firefox.signed.xpi结尾的那个文件,比如uBlock0_1.75.0.firefox.signed.xpi。带signed的是 Mozilla 签过名的,Firefox 才让装。 - 把文件直接拖进 Firefox 窗口,或者打开
about:addons,点齿轮 → “从文件安装附加组件…”。 - 装好以后进 uBlock Origin 的设置 → 过滤规则列表,把“区域”里的中文规则勾上,点“应用更改”。国内网站的广告和统计脚本基本就清净了。
连不上官方商店,自动更新多半会失败,隔段时间自己回 GitHub 看看有没有新版,有就照样再装一次,设置不会丢。
只认 github.com/gorhill/uBlock 这一个地址。网盘、论坛里的“破解版”“增强版”别碰,来路不明的国产“翻译”“下载助手”扩展也别装。
七、最后检查一遍
| 查什么 | 怎么查 | 应该看到 |
|---|---|---|
| 不是当年的中国版 | about:support → 分发 ID | 没有 MozillaOnline |
| 仅 HTTPS 模式 | 打开 http://neverssl.com | 弹出“仅 HTTPS 模式”的警告页 |
| DoH | about:networking#dns | TRR 一列是 true |
| ECH | crypto.cloudflare.com/cdn-cgi/trace | sni=encrypted |
| WebRTC | browserleaks.com/webrtc | 看不到真实公网 IP 和内网 IP |
| 指纹 | coveryourtracks.eff.org | 显示有防护 |
| 根证书 | 设置 → 证书 → 查看证书 | 大陆 CA 已取消信任,没有来路不明的非内置证书 |
| 遥测 | about:telemetry、about:policies | 上传已关闭,策略生效 |
就先这样
浏览器这一层差不多就这些。当然这只是开头,你的输入法可能正把打的每个字都传到云上,手机系统知道的比浏览器多得多,账号还绑着实名手机号。这些下一篇再说。
文中有写错或者过时的地方,欢迎从首页的联系方式告诉我。