1. 项目定位与用途
CC Gateway 是一个反向代理网关,部署在 Claude Code 客户端与 Anthropic API 之间。其核心定位是隐私保护中间件,通过归一化设备身份、环境指纹和进程指标,使用户能够控制哪些遥测数据离开本地网络。它充当 AI API 的身份网关,将所有客户端请求统一为单一规范配置,防止设备指纹追踪和过度数据收集,同时保持 Claude Code 的正常功能。
CC Gateway 是一个反向代理网关,部署在 Claude Code 与 Anthropic API 之间,归一化设备身份与环境指纹,防止 640+ 种遥测数据泄露。本文介绍其安装步骤、使用方法、适用场景及技术实现特点。
CC Gateway 是一个面向 Claude Code 的反向代理网关,通过归一化设备身份与环境指纹,防止 640+ 种遥测数据泄露,让用户重掌 AI API 隐私控制权。
CC Gateway 是一个反向代理网关,部署在 Claude Code 客户端与 Anthropic API 之间。其核心定位是隐私保护中间件,通过归一化设备身份、环境指纹和进程指标,使用户能够控制哪些遥测数据离开本地网络。它充当 AI API 的身份网关,将所有客户端请求统一为单一规范配置,防止设备指纹追踪和过度数据收集,同时保持 Claude Code 的正常功能。
Claude Code 客户端默认收集 640 多种遥测事件类型,通过 3 个并行通道持续上报,并使用 40 多个环境维度对设备进行永久指纹识别。上报数据包括设备 ID、邮箱、操作系统版本、已安装运行时、Shell 类型、CPU 架构和物理内存等,每 5 秒向服务器发送一次。这导致用户在多台设备上使用时无法统一身份,且没有内置方式管理向 API 呈现的身份信息。CC Gateway 通过反向代理完全重写这些字段,解决隐私泄露和身份管理问题。
主要适用场景包括:个人开发者在使用 Claude Code 时保护设备隐私信息,避免硬件和系统配置外泄;用户在多台机器上工作时保持统一的设备身份标识;企业或团队集中管理 Claude API 访问权限和身份认证策略;通过移除 billing 指纹头实现跨会话提示缓存共享,显著降低系统提示相关 API 成本(约 85%);以及在企业网络环境中通过代理支持(HTTPS_PROXY/HTTP_PROXY)路由流量。
安装需满足 Node.js 22+ 运行环境。具体步骤:1) 克隆仓库到本地:git clone https://github.com/motiful/cc-gateway.git;2) 进入项目目录并安装依赖:cd cc-gateway && npm install;3) 运行快速设置脚本:bash scripts/quick-setup.sh。该脚本会自动提取 macOS Keychain 中的 OAuth 凭据(访问令牌和刷新令牌),生成规范化的设备身份和客户端令牌,写入配置文件,创建客户端启动器,并启动网关服务。对于使用其他操作系统的用户,需手动配置 OAuth 凭据。
网关启动后(默认监听 http://localhost:8443),在另一终端运行生成的客户端启动器脚本:./clients/cc-<hostname>。Claude Code 将自动启动,所有流量通过网关路由,无需设置环境变量或编辑配置文件。如需通过代理连接,可在运行 quick-setup.sh 时设置 HTTPS_PROXY 或 HTTP_PROXY 环境变量,网关会将所有出站流量(包括 API 调用和令牌刷新)路由通过指定代理。添加新客户端用户使用:bash scripts/add-client.sh <用户名>,该命令会为新用户生成独立的认证令牌和启动器脚本。
项目当前为 Alpha 版本,处于活跃开发阶段,建议使用非主要账户测试。实现特点包括:集中式 OAuth 令牌生命周期管理,网关内部持有并刷新访问令牌,客户端机器永不接触 platform.claude.com;即时启动机制,网关使用现有访问令牌启动,直到令牌实际过期才进行网络调用;请求/响应重写管道在核心 rewriter 模块中实现,在请求发出前和响应返回后分别归一化相关字段;配置驱动设计,所有重写规则和规范值通过 config.yaml 集中定义,实现策略与代码分离;以及遥测泄漏预防,主动剥离 baseUrl 和 gateway 字段,防止在分析事件中暴露代理使用情况。
需要 Node.js 22+ 运行环境。克隆仓库后运行 npm install 安装依赖,然后执行 bash scripts/quick-setup.sh 完成初始设置。
运行 quick-setup.sh 后网关会自动启动在 http://localhost:8443。在另一终端执行生成的客户端启动器脚本(如 ./clients/cc-<hostname>)即可启动 Claude Code 并让流量通过网关。
支持。可在运行 quick-setup.sh 时设置 HTTPS_PROXY 或 HTTP_PROXY 环境变量,网关会将所有出站流量(包括 API 调用和令牌刷新)路由通过指定代理。
使用 bash scripts/add-client.sh <用户名> 命令为新机器生成独立的认证令牌和启动器脚本。每个客户端拥有唯一 token,通过网关的 auth 中间件验证身份。
它通过重写设备 ID、邮箱、环境对象(40+ 维度)、系统提示环境块、进程指标,并移除 billing 指纹头,将所有客户端请求归一化为单一规范配置,防止设备指纹追踪和遥测数据泄露。