8 个版本
0.0.8 | 2024 年 3 月 27 日 |
---|---|
0.0.7 | 2024 年 3 月 19 日 |
0.0.2 | 2024 年 2 月 20 日 |
#3 在 #匿名 中
每月 399 次下载
在 2 crates 中使用
29KB
558 代码行
OHTTP Relay
Rust 实现的 匿名 HTTP 中继资源。
这项工作正在 IETF 中积极修订,因此这些实现也是如此。请自行承担风险。
用法
通过设置环境变量 PORT
和 GATEWAY_ORIGIN
来运行 ohttp-relay。例如,要从端口 3000 中继到位于 https://payjo.in
的 OHTTP 网关资源,请运行以下命令。
PORT=3000 GATEWAY_ORIGIN='https://payjo.in' cargo run
或者,将 UNIX_SOCKET
设置为绑定到 Unix 套接字路径,而不是 TCP 端口。
这个 crate 旨在在 NGINX 等反向代理后面运行,它可以为您处理 TLS。测试专门覆盖了使用 nginx.conf.template
的此集成。
引导功能
匿名 HTTP 规范要求客户端从 OHTTP 网关获取一个 密钥配置,但未明确指定执行此操作的机制。此功能提供 HTTPS-in-WebSocket 和 HTTPS-in-CONNECT 代理,允许 Web 客户端以端到端加密和身份验证的方式,通过使用 OHTTP 中继作为隧道来获取网关的 ohttp-keys,从而不透露其 IP 地址。默认启用用于托管这些代理的 bootstrap
功能。启用每个代理的 ws-bootstrap
和 connect-bootstrap
功能。
它是如何工作的?
这两个引导功能使服务器能够直接将数据包从 OHTTP 网关的 TCP 套接字转发到客户端和网关之间协商 TLS 会话。通过这样做,防止 OHTTP 中继对 TLS 会话进行 中间人攻击。
依赖关系
~12–23MB
~324K SLoC