之前一直使用Firefox作为个人主力浏览器,工作上由于有些网页兼容问题,一直使用的是Chrome。自从看了Eric Murphy 关于浏览器的分类之后, 出于对隐私的考虑,还是决定把chrome换成Brave,同时考虑对Firefox进行harden或者使用LibreWolf。
Hardened Firefox
视频中提到了betterfox和arkenfox两种方式,其中betterfox在保证不break的前提下尽可能的保护隐私,而arkenfox更为激进一些,会导致出现breakage的情况,所以强烈建议在使用之前要过一遍wiki。在尝试了两种方式之后,发现有时会出现一些奇怪的问题,但是如果new一个profile,然后再应用user.js就没有问题,怀疑跟我之前的配置有些地方有冲突。
后来发现LibreWolf基本上就是hardened之后的Firefox,就开始尝试LibreWolf了。
LibreWolf初体验
直接去librewolf官网的Installation,找到对应的系统进行安装。
对于Mac可以通过homebrew安装brew install --cask librewolf
,或者下载dmg文件进行安装。
这里有个小插曲,下载的dmg一直报错文件损坏,搞到我一度怀疑下载出了问题,后来查了一下hash,发现没问题。才发现需要加上 --no-quarantine
选项(resolve Librewolf is damaged)。只能说这个damage的报错实在是有点误导人。也不知道为什么LibreWolf还没有解决这个问题。
目前用下来,除了b站登陆有点问题,还没发现有哪些网站出现breakage.
B站的问题有两点:
- 二维码不出来,这个是Canvas被block了(一般也不咋用这个二维码)(enable canvas)
- 点击登陆按钮没反应。这个是由于使用了Enhanced Tracking Protection的strict模式。(一般的网站登陆都没这问题)
为了登陆B站,只要把B站加入到Enhanced Tracking Protection的Exception即可,可以通过点击地址栏旁边的盾牌进行disable(其中还涉及到发验证码的网站,也没法用,需要加入exception)
LibreWolf配置修改
在使用betterfox来harden Firefox的时候,发现有个librewolf.override.cfg
的配置,看了下LibreWolf的doc, 发现可以用override来修改配置,只需要把librewolf.override.cfg
放在对应的~/.librewolf
目录下即可。
PS:betterfox的这个文件在最近的commite中被删了, 原来的文件里也提到最好还是使用user.js
LibreWolf更新
最近Chrome爆出了个安全漏洞,公司要求全员强制升级chrome。看了下我的Brave,果然紧跟Chromium内核,更新之后已经是修复好版本了。这时抱着好奇心看了下LibreWolf和Firefox的版本差距,发现居然已经落后了一个月,期间大概有2-3个update。原以为LibreWolf跟Firefox一样有着自动update的默认选项。现在发现需要手动升级。还好我是brew安装的,只要重新运行brew install --cask librewolf
就可以升级了。
考虑到很可能忘记手动更新,所以我加了个plist任务来实现每天自动去尝试更新LibreWolf.
在~/Library/LaunchAgents/
下创建com.librewolf.updater.plist
文件,通过lanuchctl load com.librewolf.updater.plist
添加,这里需要注意,两个输出文件/tmp/brewinstall.err
和/tmp/brewinstall.out
需要提前创建,否则会报78的错误, 错误是silent的,需要自己执行launchctl list | grep libre
进行查看,status为0表示正常,遇到文件的permission问题status是78。
后续的任务情况可以通过 launchctl list | grep libre
和 launchctl print gui/$(id -u)/com.librewolf.updater
进行查看。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict><key>Label</key><string>com.librewolf.updater</string><key>ProgramArguments</key><array><string>/opt/homebrew/bin/brew</string> <!-- 根据你的 Homebrew 安装位置调整 --><string>install</string><string>--cask</string><string>librewolf</string></array><key>StartCalendarInterval</key><dict><key>Hour</key><integer>10</integer> <!-- Update at 18 AM --><key>Minute</key><integer>30</integer> <!-- At the beginning of the hour --></dict><!-- <key>StartInterval</key> --><!-- <integer>86400</integer> <!-\- 每天运行一次(86400秒 = 24小时) -\-> --><key>StandardErrorPath</key><string>/tmp/brewinstall.err</string><key>StandardOutPath</key><string>/tmp/brewinstall.out</string></dict>
</plist>
总结
privacy和convenience是一个trade off的问题,目前遇到不方便的地方有:
- 默认清空cookie导致每次都要进行重新登陆。解决方案是把几个常用的网站添加到Exception中(这里LibreWolf做的比hardened Firefox好的地方是可以在地址拦旁边进行添加,而不需要进入setting把网址输入一遍)
- 由于启用了Resist Fingerprinting (RFP),窗口不是铺满屏幕,也没有记忆之前位置的功能。这个的话LibreWolf官网是建议大家适应。
暂时遇到的就是这些,后续有其他问题再继续更新。