返回

文章详情

展示 HN:一个本地的 MitM 代理来控制 TLS 指纹

Hacker News2026年8月18日 13:07

一个本地的 MITM 代理,让您可以控制 TLS 指纹(JA3/JA4)、HTTP/2 指纹、HTTP 头顺序、用户代理和源 IP 头 — 所有这些都可以通过单个 YAML 配置文件来完成。包括一个 Chrome 扩展,可以直接从浏览器工具栏切换代理和切换指纹配置文件,而无需重新启动代理。旨在授权进行 WAF 机器人检测系统的安全测试。通过代理路由 curl、浏览器或 Playwright,以观察不同指纹组合如何分类。它是如何工作的 curl / 浏览器 / Playwright │ HTTP CONNECT (到代理) ▼ ┌─────────────────────────────────────────┐ │ impersonate-proxy │ │ │ │ MITM TLS ◄──────────────► uTLS │ │ (我们的 CA 证书) (自定义 JA3/4) │ │ │ │ 头重写器 (UA、顺序、添加/删除) │ │ HTTP/2 帧器 (SETTINGS、WINDOW_UPDATE│ │ 伪头顺序) │ └─────────────────────────────────────────┘ │ 自定义 TLS ClientHello + HTTP/2 ▼ 目标服务器 / WAF 层 你可以控制的内容 TLS 密码套件、扩展及其顺序 (JA3 / JA4) 通过 uTLS 预设或完全自定义 custom_hello 规范 HTTP/1.1 头顺序、用户代理、添加/删除任何头、IP 伪装 (X-Forwarded-For / True-Client-IP) HTTP/2 SETTINGS 值和顺序、WINDOW_UPDATE、伪头顺序 (HTTP/2 指纹) 先决条件 macOS 或 Linux (amd64 / arm64) Go 1.22+ macOS brew install go Linux 发行版打包的 Go 通常过时。直接安装官方二进制: # 下载并提取(将 1.22.5 替换为 https://go.dev/dl/ 中的最新版本) curl -OL https://go.dev/dl/go1.22.5.linux-amd64.tar.gz sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz # 添加到 PATH (将此行添加到 ~/.bashrc 或 ~/.zshrc 以使其永久有效) export PATH= $PATH :/usr/local/go/bin 验证: go version # go version go1.22.5 linux/amd64 ARM64 (树莓派、AWS Graviton 等):在下载 URL 中将 linux-amd64 替换为 linux-arm64。 设置 1. 克隆并构建 git clone https://github.com/ytkoka/impersonate-proxy.git cd impersonate-proxy make build 2. 生成 MITM CA 证书 CA 会在首次运行时自动生成。启动一次代理以创建 ca.crt 和 ca.key : make run # 2026/04/22 12:00:00 生成 CA 证书 → ca.crt # 2026/04/22 12:00:00 正在监听 127.0.0.1:8080 preset=chrome 用 Ctrl-C 停止它。 3. 信任 CA 证书 客户端需要信任您的 MITM CA,以便它们不拒绝代理生成的叶证书。 macOS 系统钥匙串(影响所有应用程序): make trust-ca # 运行: sudo security add-trusted-cert ... Linux 系统信任(影响所有应用程序;需要 ca-certificates 包): # Debian / Ubuntu sudo cp ca.crt /usr/local/share/ca-certificates/impersonate-proxy.crt sudo update-ca-certificates # RHEL / Fedora / Amazon Linux sudo cp ca.crt /etc/pki/ca-trust/source/anchors/impersonate-proxy.crt sudo update-ca-trust 仅 curl (不进行系统范围更改): curl --cacert ca.crt ... Playwright / Node.js : export NODE_EXTRA_CA_CERTS=

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡