🎬 《罗小黑战记2》官方特辑档案

Claude Code 完整部署:家宽 VPS、AdsPower 与 claude-env

Claude Code 完整部署:家宽 VPS、AdsPower 与 claude-env

使用须知与免责声明:

  1. 地区严格一致(核心前提):务必保证 Claude 账号注册归属地与家宽 VPS 出口 IP 地区完全一致(例如:美区账号必须严格搭配美国本土住宅 IP 使用)。严禁使用美区账号挂载日韩、欧洲等异地节点访问,跨国 IP 跳跃是触发系统高危异常风控的最直接原因。
  2. 适用范围说明:本教程基于目前风控要求最为严苛的美区(US)环境进行实操演示,所有节点规划与浏览器指纹均以模拟合规美区家庭网络为准。
  3. 免责声明:本文仅为作者个人的技术部署与长期使用经验分享,不保证 100% 绝对不封号。Anthropic 官方的风控模型与反作弊机制处于动态演进中,请理性评估并自行承担使用风险与账号资产安全。

运行 Claude Code(Anthropic 官方命令行工具)时,网络环境主要面临两类风控限制:

  1. IP 属性限制:常见云厂商的数据中心(Hosting)IP 容易被风控系统直接拦截,使用家庭宽带(ISP)出口通常具有更高的可用性。
  2. 登录环境一致性:Claude Code 初始化时需要通过浏览器进行 OAuth 网页授权。如果授权网页所使用的 IP、浏览器指纹与命令行发起调用的出口 IP 存在较大差异,容易触发异地或异常调用风控。

本文介绍的方案通过统一出口网络与隔离运行环境解决上述问题:使用一台美国家宽 VPS 搭建 SOCKS5 代理作为唯一出口,网页端在固定指纹的 AdsPower 浏览器中登录,终端在内置代理分流的 claude-env Docker 容器中运行。

               ┌──> AdsPower(指纹浏览器)──> 登录 claude.ai 网页并完成授权
丽萨家宽 VPS ──┤    (通过 SOCKS5 代理)
(SOCKS5 代理)   └──> claude-env (Docker 容器) ──> 运行 Claude Code CLI
                     (Mihomo 转本地 7890)      └──> (可选) Looklook 远程终端

工具清单

工具 官网 / 地址 用途说明
丽萨主机 lisahost.com(推荐支持链接) 购买美国家庭宽带(ISP)VPS,作为统一出口节点
AdsPower adspower.net 指纹浏览器,固定浏览器软硬件指纹与 Cookie
Docker Desktop docker.com 本地运行环境容器化,支持 Windows、macOS 与 Linux
claude-env github.com/imythu/claude-env 预置 Mihomo 代理路由的 Docker 镜像
Claude claude.ai 网页端登录与 Claude Code OAuth 授权
Net.Coffee Claude 检测 ip.net.coffee/claude 自查出口 IP 属性(住宅/机房)、纯净度与 Trust Score
Fuck Claude 环境检测 fuck-claude.vercel.app 自测浏览器时区、语言、WebRTC 及特征泄露
Looklook looklook.dev 可选组件,提供基于 Web 的终端访问与移动端查看

第一步:VPS 部署与 SOCKS5 搭建

1. 选购与连接服务器

在丽萨主机选购带有“美国原生家庭宽带 IP”或“ISP 住宅”属性的 VPS。

☕ 写在前面:如果这篇部署教程切实解决了你的网络困扰,选购时不妨看在教程份上,使用我的 丽萨主机专属注册链接 进行购买支持,也算对博主熬夜折腾与梳理的一点心意回馈,十分感谢!

购买成功后,在服务器控制面板获取公网 IP、SSH 端口及 root 密码。

打开本地终端(Windows 使用 PowerShell,macOS 使用 Terminal),通过 SSH 登录服务器:

ssh root@<服务器IP> -p <SSH端口>

说明:首次连接输入 yes 确认指纹。在 Linux 终端中输入密码时不显示字符或星号,直接输入完整密码后回车即可。

2. 部署 Dante SOCKS5 代理

登录 VPS 后,以 Debian/Ubuntu 系统为例,安装轻量代理服务端 dante-server:

apt-get update && apt-get install -y dante-server

获取主网卡名称(通常为 eth0 或 ens3):

ip route show default | awk '{print $5}'

备份默认配置并写入新配置(请将下方 eth0 替换为你实际查询到的网卡名称,端口可按需调整为其他未被占用的端口):

mv /etc/danted.conf /etc/danted.conf.bak

cat > /etc/danted.conf <<'EOF'
logoutput: syslog
user.privileged: root
user.unprivileged: nobody

# 监听地址与端口
internal: 0.0.0.0 port = 2080
external: eth0

# 认证方式:使用系统用户密码认证
socksmethod: username

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error
}
EOF

创建专门用于 SOCKS5 认证的系统用户(不授予 shell 权限):

# 创建代理专用账号 proxyuser
useradd -r -s /bin/false proxyuser

# 设置密码(根据提示输入两次强密码)
passwd proxyuser

启动并设置开机自启:

systemctl restart danted
systemctl enable danted
systemctl status danted

注意:若 VPS 服务商控制台设有“安全组”或防火墙规则,需在后台放行对应的 SOCKS5 端口(如上例中的 TCP 2080)。

3. 本地验证连通性

在自己的电脑终端(PowerShell 或 Terminal)上执行以下命令测试代理是否可用:

curl --socks5-hostname <用户名>:<密码>@<服务器IP>:<端口> https://ipinfo.io

若能正确返回包含 VPS 出口 IP 及地区信息的 JSON,说明 SOCKS5 服务已正常可用。


第二步:在 AdsPower 中配置环境并登录 Claude

为了保证网页端登录环境与后续终端授权环境一致,需在 AdsPower 中固定浏览器指纹:

  1. 打开 AdsPower,点击 新建环境;
  2. 基础信息中自定义名称(如 Claude);
  3. 代理设置:
    • 代理类型:选择 SOCKS5;
    • 代理主机:填写 VPS IP;
    • 代理端口:填写刚才配置的端口(如 2080);
    • 代理账号与密码:填写创建的代理账号(如 proxyuser)与对应密码;
  4. 点击 检查代理,确认检测结果显示连接成功且 IP 属于目标地区;
  5. 点击 确定 保存环境,随后点击 打开 启动该浏览器窗口;
  6. 环境与 IP 质量预检(关键步骤): 在打开的 AdsPower 专用浏览器中,建议在正式登录美区账号前,依次访问以下两个检测网址,确认当前伪装环境与网络质量:
    • IP 质量与纯净度检测:打开 ip.net.coffee/claude
      • 验证出口 IP 是否被识别为美国家庭宽带(ISP/住宅),而非数据中心机房(Datacenter);
      • 查看 Trust Score(信任评分),确认处于安全区间,并检查 DNS 与 WebRTC 未出现异常归属地。
    • 浏览器特征与环境泄露检测:打开 fuck-claude.vercel.app
      • 进行一键特征扫描,检测浏览器的系统时区(避免留在东八区)、语言首选项、中文字体库、WebRTC 穿透等特征;
      • 确认风险分处于安全低危状态,确保 AdsPower 已经有效屏蔽了本地设备的中国特征指纹。
  7. 确认以上两项检测均无异常后,在同一个 AdsPower 窗口中访问 claude.ai,完成美区账号登录。

重要:后续所有与该账号相关的操作(日常提问、充值订阅、以及后文中的 Claude Code OAuth 授权),均必须在此时配置的 AdsPower 环境内进行,避免因多处异地登录导致环境关联。


第三步:安装 Docker 环境

claude-env 以容器方式运行,便于隔离依赖并管理本地网络路由:

  1. 访问 Docker Desktop 官网 下载并安装:
    • Windows 用户建议勾选 WSL 2 后端;
    • macOS 用户根据芯片类型(Apple Silicon 或 Intel)选择对应版本;
    • Linux 用户直接通过包管理器安装 Docker Engine。
  2. 安装完成后启动 Docker,并在终端中验证:
    docker --version

第四步:配置与启动 claude-env

claude-env 镜像内部预装了 Mihomo 代理路由。启动时容器会读取环境变量中的 SOCKS5 配置,并在容器内将上游代理转为本地标准的 HTTP / SOCKS 端口(7890),供 Claude Code 全局使用。

1. 创建工作目录与配置文件

在本地创建一个用于存放配置和持久化代码的工作目录。

macOS / Linux 用户:

mkdir -p claude-env-workspace
cd claude-env-workspace

cat > .env <<'EOF'
SOCKS_SERVER=<VPS公网IP>
SOCKS_PORT=<SOCKS5端口>
SOCKS_USERNAME=<代理用户名>
SOCKS_PASSWORD=<代理密码>
LOOKLOOK_AUTO_LOGIN=0
EOF

Windows 用户(PowerShell):

mkdir -Force claude-env-workspace
cd claude-env-workspace

@'
SOCKS_SERVER=<VPS公网IP>
SOCKS_PORT=<SOCKS5端口>
SOCKS_USERNAME=<代理用户名>
SOCKS_PASSWORD=<代理密码>
LOOKLOOK_AUTO_LOGIN=0
'@ | Out-File -FilePath .env -Encoding utf8

字段说明:

  • SOCKS_SERVER / SOCKS_PORT:第一步搭建的 SOCKS5 代理 IP 和端口;
  • SOCKS_USERNAME / SOCKS_PASSWORD:SOCKS5 认证账号与密码;
  • LOOKLOOK_AUTO_LOGIN:是否自动配置 Looklook 远程终端,默认设为 0(暂不启用)。

2. 启动容器

在 claude-env-workspace 目录下执行容器启动命令:

macOS / Linux:

docker run -d --name claude-env --restart unless-stopped \
  --env-file .env \
  -p 7890:7890 \
  -v "$PWD:/workspace" \
  -v claude-config:/root/.claude \
  -v looklook-data:/root/.local/share/looklook \
  ghcr.io/imythu/claude-env:latest

Windows PowerShell:

docker run -d --name claude-env --restart unless-stopped --env-file .env -p 7890:7890 -v "${PWD}:/workspace" -v claude-config:/root/.claude -v looklook-data:/root/.local/share/looklook ghcr.io/imythu/claude-env:latest

挂载参数说明:

  • -p 7890:7890:将容器内代理端口映射到宿主机;
  • -v "$PWD:/workspace":将当前本地目录挂载为容器内的工作区,代码双向实时同步;
  • -v claude-config:/root/.claude:命名卷,用于持久化存储 Claude Code 的登录 Token,容器销毁后凭证不会丢失;
  • -v looklook-data:/root/.local/share/looklook:命名卷,用于持久化 Looklook 状态。

3. 验证容器运行与网络

# 检查容器状态
docker ps

# 查看容器日志,确认 Mihomo 代理组件正常加载
docker logs claude-env

# 在容器内请求 IP 测试接口,检查出口是否为 VPS 的 IP
docker exec claude-env curl -s https://ipinfo.io

第五步:安装与授权 Claude Code

1. 进入容器终端

docker exec -it claude-env bash

2. 安装 Node.js 22 与 Claude Code

在容器内部依次运行:

cd /workspace

# 安装 Node.js 22 LTS
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs

# 全局安装 Claude Code
npm install -g @anthropic-ai/claude-code

# 检查安装
claude --version

3. 执行登录与网页授权

在容器中输入:

claude

首次运行会进入授权流程,终端会打印出类似如下的授权链接:

https://claude.ai/login?oauth=...

关键授权步骤:

  1. 复制终端中显示的完整 URL;
  2. 切换至前面已经登录好 Claude 的 AdsPower 浏览器窗口;
  3. 新建标签页,粘贴该 URL 并回车;
  4. 页面显示授权确认信息,点击 Authorize;
  5. 回到容器终端,终端将自动完成握手并进入 Claude Code 交互界面。

说明:因为授权请求是在 AdsPower 中完成的,Anthropic 服务端接收到的 OAuth 回调 IP 与容器内 Claude Code 发起请求的出口 IP 完全一致,从而保障了环境统一性。


第六步:配置 Looklook 远程终端(可选)

如需通过移动端或外部设备查看并管理 Claude Code 任务,可启用 Looklook:

  1. 编辑 .env 文件,将变量修改为:
    LOOKLOOK_AUTO_LOGIN=1
  2. 重建容器应用配置:
    docker stop claude-env && docker rm claude-env
    重新执行第四步的 docker run 命令;
  3. 查看并登录 Looklook:
    # 查看初始化日志
    docker exec claude-env cat /tmp/looklook-bootstrap.log
    
    # 交互式登录
    docker exec -it claude-env looklook login
    
    # 后台启动守护进程
    docker exec -d claude-env looklook run --no-browser

完成登录后,即可在任意浏览器中通过 Looklook 提供的网页端操作该容器终端。


日常使用与维护

1. 日常进入工作环境

电脑开机后,仅需两条命令即可恢复工作状态:

docker start claude-env
docker exec -it claude-env bash
cd /workspace
claude

由于认证凭据保存在 claude-config 卷中,无需重复进行 OAuth 授权。

2. 升级镜像

当 claude-env 镜像更新时,拉取新镜像并重新创建容器即可,切勿删除数据卷:

docker pull ghcr.io/imythu/claude-env:latest
docker stop claude-env
docker rm claude-env
# 重新执行第四步的 docker run 命令即可继续使用

常见问题排查

1. 容器启动时报错端口已被占用(port is already allocated)

  • 原因:本机其他软件(如 Clash、V2Ray 等)占用了宿主机的 7890 端口。
  • 解决:修改 docker run 参数中的宿主机端口映射,改为 -p 7891:7890。容器内依然监听 7890,不影响 Claude Code 内部请求。

2. 容器内无法连接外网

  • 排查步骤:
    1. 检查 .env 文件中的 IP、端口、用户名和密码是否有书写错误;
    2. 确认 VPS 的防火墙与服务商安全组已放行 SOCKS5 端口;
    3. 执行 docker logs claude-env 查看 Mihomo 启动日志,确认代理节点是否存活;
    4. 查看生成的 Mihomo 配置文件排查参数:
      docker exec claude-env cat /etc/mihomo/config.yaml

3. Windows 下路径挂载失败

  • 确保在 Docker Desktop 的 Settings -> Resources -> File sharing 中开启了当前目录所在磁盘分区的共享权限;
  • 在 PowerShell 中执行命令时,确认当前处于 claude-env-workspace 目录下。

点击为《罗小黑战记2》盖上小黑的灵力肉垫印章!

← 返回大电影2特辑列表
嘿咻!点击我飞回顶部~ 🐾