内容纲要

🗂 | 本文目录: Surge 指南


关于「HTTPS 解密」功能在官方的
《Surge 官方中文指引:理解 Surge 原理》的 章节 5 TLS,HTTPS 与 MITM 详细讲解了 TLS 和 HTTPS 的关系,TLS 的作用,以及怎样进行 MITM。

所以本文只阐述 MitM 的配置:

安装并信任证书

打开 Surge,在「首页」里找到「MitM」卡片,选择「配置根证书」

选择「生成新的 CA 证书」,然后选择「安装证书」,在安装后打开「跳过服务端证书验证」。

选择「安装证书」

「允许」下载配置描述文件

在「设置」里选择「通用」

选择「描述文件」

选择「已下载的描述文件」

安装

在「通用」里的「关于本机」,选择「证书信任设置」

打开刚才安装的证书

[MITM]

[General]

[Rule]
FINAL,DIRECT

[MITM]
skip-server-cert-verify = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
hostname = *google.com

Surge 仅会解密 hostname 指定的主机名的请求。

  • 可使用通配符 *?
  • 可使用前缀 - 将特定主机名排除;
  • 默认仅解密发往 443 端口的请求(可使用如 example.com:80 解密特定端口,或使用如 example.com:0 解密所有端口);

iOS 系统和某些应用有严格的安全策略,仅信任某些特定的证书,对这些域名启动解密可能导致问题,如:*.apple.com*.icloud.com

例子

  • google.com:解密所有发往 google.com 上的 443 端口的请求;
  • google.com:8443:解密所有发往 google.com 上的 8443 端口的请求;
  • *.google.com:0:解密所有发往 google.com 及其子域名上所有端口的请求;
  • -google.com:不解密所有发往 google.com 上的 443 端口的请求;