Privacy Proxy 使用 MASQUE 协议套件在客户端和目标服务器之间创建加密隧道。本页解释协议机制以及如何保护隐私。
┌──────────┐ 1. Connect + Auth ┌──────────┐ 4. Connect ┌─────────────┐
│ │ ──────────────────────────▶ │ │ ────────────────────▶ │ │
│ Client │ 2. CONNECT request │ Privacy │ (Egress IP) │ Destination │
│ │ ──────────────────────────▶ │ Proxy │ │ Server │
│ │ │ │ ◀──────────────────── │ │
│ │ 3. 200 OK │ │ 5. Connected │ │
│ │ ◀────────────────────────── │ │ │ │
│ │ │ │ │ │
│ │ ◀───── 6. Encrypted data tunnel ─────▶ ◀─────────────────────▶│ │
└──────────┘ └──────────┘ └─────────────┘
│◀──── Client IP hidden ────▶│◀──── Cloudflare Egress IP visible ──────────▶│- 客户端与 Privacy Proxy 建立 HTTP/2 或 HTTP/3 连接,并在
Proxy-Authorization标头中提供凭据(PSK 或 Privacy Pass 令牌)。 - 客户端发送 CONNECT 请求,指定目标主机名和端口。
- 代理以
200 OK响应,确认隧道已就绪。 - 代理使用根据客户端地理位置选取的出口 IP 地址向目标发起连接。
- 客户端通过隧道发送加密数据。代理不检查内容,直接转发字节。
在整个过程中,代理了解目标但不知道内容。目标了解出口 IP 地址,但不知道客户端的真实 IP。
MASQUE ↗(Multiplexed Application Substrate over QUIC Encryption,基于 QUIC 加密的多路复用应用基底)定义了通过 HTTP 代理流量的方法。Privacy Proxy 支持两种 MASQUE 方法:
| 方法 | 传输协议 | 使用场景 |
|---|---|---|
| HTTP CONNECT | TCP | 传统 HTTPS 流量 |
| CONNECT-UDP | UDP | 基于 QUIC 的流量、实时应用 |
两种方法都创建加密隧道,代理在其中转发流量而不检查内容。代理只能看到目标主机名和端口,看不到实际的请求、路径或交换的数据。
Privacy Proxy 接受通过 HTTP/2(TLS over TCP)和 HTTP/3(QUIC)的连接,根据客户端能力选择适当的协议。
有关这些协议工作原理的技术深入分析,请参阅我们的博客文章 ↗。
Privacy Proxy 在用户身份和用户活动之间建立隐私边界:
| 信息 | 知悉方 |
|---|---|
| 用户身份(IP 地址、账户) | 身份验证服务、第一跳代理(如使用双跳) |
| 目标服务器 | Privacy Proxy、目标服务器 |
| 请求内容 | 仅客户端和目标服务器 |
代理对用户进行身份验证以验证其是否有权使用该服务,但身份验证与代理过程是分开进行的。经过身份验证后,代理转发流量时不会将单个请求与特定用户关联。
- A Primer on Proxies ↗ - HTTP CONNECT 和 MASQUE 协议的技术深入分析。
- MASQUE Working Group ↗ - 制定代理协议标准的 IETF 工作组。
- RFC 9298 ↗ - 通过 HTTP 代理 UDP 的 CONNECT-UDP 规范。