为什么需要HTTP重写?

在传统的代理架构中,数据只是简单地转发,不会对内容进行任何修改。然而,Claude Code的遥测数据深深嵌入在HTTP请求的各个部分:

  • HTTP headers(如User-Agent、Accept-Language)
  • Request body(如JSON中的设备信息)
  • URL查询参数
  • 甚至HTTPS连接的SNI字段

如果只是简单地转发,这些敏感信息就会直接暴露给服务器。

CC-Gateway的深度重写能力

CC-Gateway采用类似中间人(MITM)的技术,对所有通过的HTTP请求进行深度检查和重写:

🔍 智能扫描

自动识别HTTP请求中的所有可能包含敏感信息的字段,包括标准头、自定义头、JSON body等。

✏️ 精确重写

将识别出的敏感字段替换为配置文件中的标准值,保留原始请求的结构和语义。

✅ 完整性验证

重写后验证请求的完整性,确保服务器能够正常解析,同时敏感信息已被完全替换。

被重写的HTTP字段

HTTP Headers

Header字段 原始值示例 重写后
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64)... 标准化Mac User-Agent
Accept-Language zh-CN,zh;q=0.9 en-US,en;q=0.9
X-Forwarded-For 真实客户端IP 代理出口IP

Request Body字段

Claude Code的API请求体中包含大量设备信息,CC-Gateway会对这些字段进行重写:

// 原始请求体(简化)
{
  "device_id": "真实的设备ID",
  "email": "user@gmail.com",
  "platform": "win32",
  "working_dir": "C:\\Users\\王老师\\Desktop"
}

// 重写后
{
  "device_id": "00000000...",  // 标准化ID
  "email": "user@example.com",  // 标准化邮箱
  "platform": "darwin",  // 标准化平台
  "working_dir": "/Users/jack/projects"  // 标准化路径
}

Prompt注入检测

除了自动重写,CC-Gateway还具备Prompt注入检测能力:

  • 检测Prompt中是否包含设备指纹信息
  • 识别试图通过Prompt绕过检测的尝试
  • 对包含敏感路径的Prompt进行脱敏处理
重要:重写操作是完全透明的,用户可以在配置文件中查看所有被重写的字段和对应的目标值。CC-Gateway不会添加、删除或修改与隐私无关的请求内容。

性能考虑

深度包检查会带来一定的性能开销,但CC-Gateway采用了多种优化策略:

  • 智能路由 - 只对Claude相关域名进行深度检查
  • 高效解析 - 使用高性能JSON解析器
  • 连接复用 - 保持与上游服务器的连接复用
  • 异步处理 - 非阻塞IO设计

配置灵活性

CC-Gateway的重写规则完全可配置:

# 你可以自定义重写规则
rewrite:
  # 定义标准身份
  identity:
    device_id: "your-standardized-id"
    email: "standard@example.com"

  # 定义环境变量标准化
  env:
    platform: darwin
    shell: zsh

  # 定义Prompt环境变量标准化
  prompt_env:
    working_dir: /Users/标准用户/projects
开始配置你的CC-Gateway →