7 个版本 (4 个重大更新)
0.6.0 | 2021年3月18日 |
---|---|
0.5.0 | 2021年2月7日 |
0.4.0 | 2020年8月2日 |
0.3.3 | 2020年7月26日 |
0.2.0 | 2020年7月24日 |
#1 在 #aim
每月26次 下载
40KB
749 行
third-wheel
third-wheel 是一个用 Rust 编写的 TLS 中间人代理,旨在轻量级和快速。目前处于 beta 版本。
用法
third-wheel 是一个库,因此您可以修改其行为以捕获流量或修改其传输过程。它还附带了一些示例;您首先需要运行 set_up_and_validate_environment.sh
以生成根证书。最简单的示例 trivial_mitm
只简单地代理流量而不对其进行任何操作,您可以使用 cargo run
来运行。
cargo run --example trivial_mitm -- --help
将为您提供一些提示。如果您只想使用 TLS 中间人代理
cargo run --example trivial_mitm -- -p 8080
将在端口 8080 上启动。
要测试,您可以从 third-wheel 目录运行 curl
curl -x http://127.0.0.1:8080 https://google.com -vv --http1.1 --cacert ./ca/ca_certs/cert.pem -L
为了更吸引人,请使用 har-capturer 记录会话的 har 文件
cargo run --example har-capture -- --help
开发
如果您想在早期阶段开发/使用 third-wheel,您将需要生成证书颁发机构证书并检查您本地版本的 curl 和 openssl 是否按预期工作。运行 set_up_and_validate_environment.sh
脚本来执行此操作。
针对 Chrome 和 Firefox 进行测试
test_against_chrome.sh
和 test_against_firefox.sh
脚本使用 Docker、(Chromium|Firefox) 和 Selenium 来测试浏览器是否被中间人欺骗。它为您做了大部分设置,但您需要安装 docker 才能使其工作。它使用 sudo 运行 docker,因为它假设您没有修改 docker 组 - 如果您已经修改了,请随意删除 sudo,然后更自信地运行脚本 :)
计划功能
- 透明 HTTP 代理
- 透明 HTTPS 代理
MITM 代理被标准 curl 信任MITM 代理被 Chrome 信任MITM 代理被 Firefox 信任- MITM 代理模式在内存中比 mitmproxy 更快/更精简
供其他开发者扩展的库版本
依赖项
~8–20MB
~271K SLoC