https_proxy:用 Rust 实现的隐身 HTTPS 正向代理

💡 原文中文,约4900字,阅读约需12分钟。
📝

内容提要

https_proxy 是一个用 Rust 编写的单二进制 HTTPS 正向代理,具备证书管理和隐身伪装功能,支持自动签发和续期,设计简洁,支持 HTTP/2,提供多用户认证,适合隐私保护需求。

🎯

关键要点

  • https_proxy 是用 Rust 编写的单二进制 HTTPS 正向代理,具备证书管理和隐身伪装功能。
  • 该代理支持自动签发和续期证书,设计简洁,支持 HTTP/2,多用户认证,适合隐私保护需求。
  • 与 Caddy + acme.sh 方案相比,https_proxy 只依赖一个二进制文件,简化了部署过程。
  • https_proxy 使用 tokio-rustls-acme 库实现 ACME 协议的 TLS-ALPN-01 验证,证书签发和续期完全自动化。
  • 隐身层设计使得代理请求与普通请求的识别非常精准,伪装成 nginx 服务器返回 404 页面。
  • 认证层使用标准的 HTTP Basic Auth,支持多组用户名/密码,认证失败时返回 407 错误。
  • 代理转发分为 CONNECT 隧道和 HTTP 转发,支持双向透传数据和请求转发。
  • 支持完整的 HTTP/2,包括 RFC 8441 定义的扩展 CONNECT 协议,现代浏览器可直接使用。
  • 部署需要公网 IP 和域名,支持通过内置 TUI 向导生成配置。
  • 配置项包括监听地址、域名、ACME 证书邮箱、用户列表等,支持 TCP Fast Open。
  • 可以一键安装为 systemd 服务,简化管理。
  • 与 Caddy 方案相比,https_proxy 在部署简便性和二进制大小上具有优势。
➡️

继续阅读