guest@anywhere:~$ which vpn → not found · 不需要
cc-remote
Claude Code · 远程共享算力 · 零 VPN
在共享 worker 上跑 claude,用你自己的本地目录。 SSH 通过 Cloudflare Tunnel 直达 —— 不装 Tailscale、不改网络、不开端口。 文件开始前同步过去,退出时同步回来,会话中每 5 秒实时回流。
curl -fsSL https://cc.quake0day.com/install.sh | bash
↳ 安装时需要一个 邀请码(向管理员要)。装完直接 cd 项目目录 → cc-remote,就这么多。
how it works
你的 SSH 不直连 worker —— 它骑在一条出站的 Cloudflare Tunnel 上,两端都不需要公网端口。
你的电脑 Cloudflare 边缘 worker ───────── ────────────── ──────────────── cc-remote ──ssh──▶ cloudflared ══▶ cc-ssh.quake0day.com ══tunnel══▶ sshd ──▶ claude │ ▲ └── rsync ↑↓ (项目文件,同一条隧道) ───────────────────────────────┘
- 注册。安装器生成一把专用 SSH key(
~/.ssh/id_cc_remote),用邀请码注册到 worker。key 指纹 = 你的身份。 - 同步上行。运行
cc-remote时,当前目录 rsync 到 worker 上属于你的隔离工作区(自动排除 .git、node_modules 等)。 - 远程会话。worker 上以你的沙箱身份启动 claude,终端完整交互,和本地跑一模一样。
- 同步回流。会话期间每 5 秒把改动拉回本地(不覆盖你本地更新的文件),退出时做最终同步。
usage
和本地 claude 的习惯完全一致。
// 日常
# 交互式会话(推荐) cd ~/my-project && cc-remote # 一次性提问(无交互) cc-remote -p "解释这个报错" # 传给 claude 的参数原样透传 cc-remote --model opus
// 维护
# 升级到最新版 cc-remote update # 查看版本 cc-remote version # 排除更多文件:项目根放 .claudeignore # 关闭实时回流: CC_REMOTE_SYNC_SECS=0 cc-remote
faq
先看这里,再去骚扰管理员。
真的不用装 VPN / Tailscale?
真的。SSH 流量走
cloudflared 的 WebSocket 隧道过 Cloudflare 边缘,worker 侧是纯出站连接。你这边只需要 ssh、rsync、cloudflared —— 安装器全部自动装好。邀请码是干什么的?哪里拿?
注册端点是公网可达的,邀请码防止陌生人往 worker 上塞 key。找管理员要一次性拿到,注册成功后就不再需要它(身份绑定在你的 SSH key 上)。
我的文件安全吗?会同步哪些东西?
只同步你运行
cc-remote 时所在的项目目录;.git/、node_modules/、虚拟环境、构建产物默认排除,.claudeignore 可加自定义排除。工具会拒绝在 $HOME、下载目录等大目录里启动。worker 上每个人有独立的隔离工作区。和 claude-remote(Tailscale 版)什么关系?
同一个 worker、同一套工作区模型,只是接入方式不同:claude-remote 走 tailnet(内网直连,已入网的用户继续用它),cc-remote 走 Cloudflare Tunnel(公网可达,给不方便装 Tailscale 的人)。两者互不影响。
连不上怎么办?
依次检查:
curl https://cc-api.quake0day.com/healthz 应返回 ok;ssh cc-worker whoami 应打印 claude。都不行就把输出发给管理员 —— 大概率是 worker 侧隧道没起来。延迟怎么样?
键入回显走 你→Cloudflare 边缘→worker 的家宽,通常几十到一两百毫秒,交互完全可用。大文件首次 rsync 会慢一点,之后是增量同步。