关于一些翻墙软件的基础问题

avatar 2019年11月6日07:41:37来源:GstarMAN5关于一些翻墙软件的基础问题已关闭评论

Q:规则数量会对耗电、内存、速度产生影响吗?

A:不会,此类应用每次加载规则时都会生成一棵搜索树,可以理解为对主机名从后往前的有限状态机 DFA,并不是逐行匹配,并且对每次的匹配结果还有个哈希缓存。换句话说,2000 行的规则和 50 行的规则均为同一量级的时间复杂度 O(1)。

Q:Surge 2 提示激活过多设备

A:Surge 2的防盗版策略为单次购买后,在最近 180 天内,若已激活的设备数量超过 10 台,则将拒绝激活新设备(家庭共享将共享购买者账号的 10 次限制)。如特殊情况请发送邮件联系作者重制。

Q:Surge 3 提示规则过多

A:由于我维护的规则大部分用于屏蔽广告,实在无法进行精简,如果介意可以在通过 Workflow 生成规则时将屏蔽广告功能关闭,如果不介意请到更多 — 警告信息,关闭警告即可。

Q:MitM 是什么?

A:用于解密 HTTPS 流量(即 Man-in-the-middle attack 简称 MitM)

Q:为什么需要开启 MitM 功能?

A:屏蔽部分广告(如:微博的启动广告)需要解密其 HTTPS 流量才可获取广告请求并进行拦截。

Q:如何进行正确安装 MitM 证书?

A:iOS 9 以上的系统都需要在安装证书后到关于本机里信任证书才可使其证书有效。

  1. 安装:
  • Surge:配置 — 编辑配置 — HTTPS 解密 — 安装证书
  • Shadowrocket:设置 — 证书 — 安装证书
  • Quantumult:Settings — HTTPS — HTTPS Decryption
  1. 信任:

设置 — 通用 — 关于本机 — 证书信任设置 — 信任

Q:为什么此类应用在电量统计中占比很高?

A:当开启此类应用之后,由于所有的网络通信都被此类软件接管,所以所有的网络通讯耗电(如 WiFi、4G)都被计算在了此类应用上,使得此类软件在电量统计中占比很高。

但实际上,开启此类应用对电量消耗不会有显著影响。

Q:为什么Surge/Shadowrocket/Quantumult 测速差距这么大?

A:测速方式不同。

Surge 是从目标 policy 返回 http response header 数据包的时间

Shadowrocket 支持两种测速方式(ICMP/TCP),默认为 ICMP 模式(即 Ping)。

Quantumult 采用 SSH 测速模式(22 端口)

Q:为什么 Surge 无法屏蔽优酷广告?

A:优酷为了防止广告请求被拦截,强制不通过代理访问。其他同类应用使用的是 HTTP 首包识别,所以在 TUN 模式下也能识别到该请求。Surge 是完整的 HTTP Proxy Server,在 TUN 模式下不会进行 HTTP 解析尝试。所以不会识别到这个请求。但是其他同类应用使用的方式,在 HTTP 请求使用 Keep-Alive 时可能会出现问题,无法识别到后续的请求。

Q:三者之间到底有什么不同?

A:功能上面大同小异,基于规则皆可达到自动分流/广告屏蔽的效果。

avatar