我们正在开源我们的隐私代理CLI

💡 原文英文,约2200词,阅读约需8分钟。
📝

内容提要

Cloudflare开源了隐私代理CLI工具pvcli,用于简化OHTTP(不透明HTTP)协议的调试。该工具支持一键执行完整OHTTP请求,自动处理二进制编码和加密,提供详细日志,并兼容curl参数。pvcli基于Apache-2.0许可发布,未来计划支持MASQUE和隐私通行证等更多协议。

🔎

延伸解读

为什么调试OHTTP如此困难

OHTTP涉及四个不同方(客户端、中继、网关、目标)的多次交互,每一步都可能出错。此外,它基于二进制HTTP编码,手动解析原始比特位既繁琐又容易出错。文章通过一个实际调试案例展示了在没有工具时,需要手动解析公钥、构造二进制请求,并可能因一个多余空格而失败。这凸显了专用调试工具的价值。

pvcli的设计理念与功能

pvcli的设计借鉴了curl,遵循“最小惊讶”原则,参数与curl类似,降低了学习成本。它支持一键执行完整OHTTP请求,自动处理二进制编码和加密,并提供详细日志(-v、-vvv)。此外,它还支持向中继传递自定义头(--first-hop-header)和mTLS认证(--first-hop-client/key),满足实际部署中的多种需求。

开源与未来规划

pvcli以Apache-2.0许可证开源,接受社区贡献。目前专注于OHTTP,但未来计划支持MASQUE和隐私通行证等更多隐私协议,旨在成为一站式调试工具。文章还列出了待办事项,如支持后量子密码、时序信息等,表明项目仍在积极发展中。

Q&A

Cloudflare开源的隐私代理CLI工具叫什么?

该工具名为pvcli(隐私客户端),基于Apache-2.0许可证发布。

pvcli的主要功能是什么?

pvcli用于简化OHTTP(不透明HTTP)协议的调试,支持一键执行完整的OHTTP请求,自动处理二进制编码和加密,提供详细日志,并兼容curl参数。

如何使用pvcli执行一个OHTTP请求?

使用--ohttp参数,通过--first-hop指定中继,--proxy指定网关,并像curl一样传递请求方法、头和数据。例如:pvcli --ohttp --first-hop https://relay-cloudflare.ohttp.info --proxy https://gateway.ohttp.info -X POST --header "content-type: application/json" --data '{"test":1}' https://target.ohttp.info/anything

pvcli如何帮助调试OHTTP问题?

pvcli自动处理二进制解析和加密,并输出详细日志(如使用-v或-vvv),显示每个步骤的编码和加密字节,帮助快速定位问题,避免了手动解析二进制和编写临时脚本的繁琐过程。

pvcli支持哪些参数来传递中继头或进行mTLS认证?

可以使用--first-hop-header传递中继头,例如--first-hop-header "authorization: Bearer relay-token";使用--first-hop-client和--first-hop-key指定客户端证书和密钥进行mTLS认证。

pvcli与现有OHTTP调试工具相比有什么优势?

pvcli不仅支持OHTTP,还计划支持MASQUE和隐私通行证等更多隐私协议,将多种协议集成在一个工具中,而现有工具通常只专注于OHTTP。

如何安装pvcli?

先安装Rust,然后运行cargo install --git https://github.com/cloudflareresearch/pvcli即可安装。

🏷️

标签

➡️

继续阅读