#proxy #https #mitm #http

bin+lib proxyfor

轻量级代理,用于监控 HTTP、HTTPS 和 WebSocket 流量

3 个版本 (破坏性更新)

0.3.0 2024 年 4 月 2 日
0.2.0 2024 年 3 月 7 日
0.1.0 2024 年 3 月 6 日

#325WebSocket

MIT/Apache

125KB
2K SLoC

Proxyfor

CI Crates

轻量级代理,用于监控 HTTP、HTTPS 和 WebSocket 流量。

功能

  • 支持正向代理
  • 支持反向代理
  • 支持过滤
  • 支持 HTTP/HTTPS/WS/WSS 协议
  • 集成 Web 界面
  • 集成证书安装 Web 应用
  • 支持 Markdown、cURL 或 HAR 格式导出

安装

使用 cargo

cargo install proxyfor

适用于 macOS、Linux、Windows 的二进制文件

GitHub 发布 下载,解压并将 proxyfor 添加到您的 $PATH。

用法

正向代理

客户端将代理设置为 http://127.0.0.1:8080

$ proxyfor
$ curl -x http://127.0.0.1:8080 httpbin.org/ip

forwarding-proxy

反向代理

客户端直接请求 http://127.0.0.1:8080

此模式适用于客户端无法设置代理的场景。

$ proxyfor https://httpbin.org
$ curl http://127.0.0.1:8080/ip

reverse-proxy

Web 界面

Proxyfor 提供一个基于 Web 的用户界面,允许您交互式地检查 HTTP 流量。所有流量都保存在内存中,这意味着它适用于小样本。

proxyfor-webui

命令行

Usage: proxyfor [OPTIONS] [URL]

Arguments:
  [URL]  Reverse proxy url

Options:
  -l, --listen <ADDR>         Listening ip and port address [default: 0.0.0.0:8080]
  -f, --filters <REGEX>       Only inspect http(s) traffic whose `{method} {uri}` matches the regex
  -m, --mime-filters <VALUE>  Only inspect http(s) traffic whose content-type matches the value
  -w, --web                   Enable web interface
  -h, --help                  Print help
  -V, --version               Print version

更改 IP 和端口。

proxyfor -l 18080
proxyfor -l 127.0.0.1
proxyfor -l 127.0.0.1:18080

使用 -w/--web 启用 Web 界面

proxyfor --web

使用 -f/--filters 通过匹配 {method} {uri} 过滤流量。

proxyfor -f httpbin.org/ip -f httpbin.org/anything
proxyfor -f '/^(get|post) https:\/\/httpbin.org/'       

使用 -m/--mime-filters 通过内容类型过滤流量。

proxyfor -m application/json -m application/ld+json
proxyfor -m text/

将数据管道传输到Markdown文件,然后使用您喜欢的编辑器/IDE查看捕获的流量,具有语法高亮、折叠和搜索功能。

proxyfor > proxyfor.md

证书

Proxyfor可以在客户端信任proxyfor内置证书授权的情况下实时解密加密流量。通常这意味着需要在客户端设备上安装proxyfor CA证书。

到目前为止,最简单的安装proxyfor CA证书的方法是使用内置的证书安装应用。要这样做,请启动proxyfor并使用正确的代理设置配置您的目标设备。现在在设备上启动浏览器,并访问神奇的域名proxyfor.local

proxyfor.local

许可协议

版权所有 (c) 2024-∞ proxyfor-developers。

Proxyfor可以在MIT许可证或Apache许可证2.0的条款下提供,由您选择。

有关许可证详情,请参阅LICENSE-APACHE和LICENSE-MIT文件。

依赖项

~37–70MB
~1.5M SLoC