2020年8月28日 星期五

在使用代理时开启DoH+eSNI

       虽然使用doh+esni翻墙的方法已经失效,但我们常会遇到在特定情况下使用钓鱼VPN、爱国机场的囧境..这时DNS over HTTPS+encrypted SNI的价值再次凸显,这种方法是相对于Tor更方便快捷的保护隐私的一种途径

但是在已有的教程中,若你照做有时仍然能通过你的代理发现你访问的域名,当你访问https://www.cloudflare.com/cdn-cgi/trace sni=plaintext 并未加密(如果已经加密,那就右上角关掉),让我们一步一步来

首先你要确定你的Firefox是否是国内版:找到“关于”看是否有 “谋智”,是否是Firefox 60以后,如果这两者任一不满足 https://www.mozilla.org/ 请,对了现在手机也支持doh+esni了,但是要nightly版


其次你要明白,v2ray shadowsocks+v2ray plugin 等代理虽然支持http/2 tls1.3,但dns代理仍未支持doh+esni,所以我们的DNS查询不能走你的代理

所以在设置-代理-我们要这么做

因为gfw已经屏蔽了esni,所以我们必须使用代理工具,最好使用代理工具自带的socks5,然后DNS不走socks5,开启doh,使用以下dns,Firefox的cfdns速度并不好

这是v2ray的默认socks5配置,即使是爱国机场默认给的也是...shadowsocks(r)端口默认是1080





然后地址栏输入about:config

搜索esni 全部enable

esni=true
network.security.esni.enabled=true

接下来有点不一样

network.trr.mode=2 这个是只用 DNS over HTTPS 做 DNS 查询

network.trr.bootstrapAddress=1.1.1.1

network.trr.enable_when_proxy_detected = true 

这时重启你的Firefox,打开https://www.cloudflare.com/cdn-cgi/tracehttps://pincong.rocks/cdn-cgi/trace

如果内容中sni=encrypted 你就已经成功使用上 doh+esni了,这意味着在无中间人攻击的情况下你的服务提供商已经无法再看到你访问的站点

参考:https://support.mozilla.org/fy-NL/questions/1265514 

https://sites.google.com/view/a-bit-better-privacy/trr-dns-over-https

https://wiki.mozilla.org/Trusted_Recursive_Resolver

https://www.v2ex.com/t/671813

7 則留言:

  1. 法儿,明泽想你了

    回覆刪除
  2. 想念小法的第13天

    回覆刪除
  3. 我们终将在没有黑暗只有光的地方相遇

    回覆刪除
  4. 想念小法的第46天

    回覆刪除
  5. 想念小法的第266天

    回覆刪除
  6. esni目前火狐配置相关选项测试无效 推ech 启用了但无测试方法 sni的加密之后只有ip地址能被第三方看

    回覆刪除