claude.ai 镜像站,致敬 fuclaude。
通过 oauth 登录实现会话隔离(跟 fuclaude 一样)。
生成 oauth_token 时指定 unique_name:
curl 'http://127.0.0.1:8282/manage-api/auth/oauth_token' \
-H 'Content-Type: application/json' \
-d '{
"session_key": "sk-ant-sid01-xxx",
"unique_name": "user1",
"expires_in": 0
}'拿回的 login_url 发给用户。
- 一台装好 Docker 的服务器
- 一个能出墙的代理(如Cloudflare Warp SOCKS5)
- 一个域名 + 通配证书(推荐
*.yourdomain.com),用来分别接主站和 artifacts 子域 - Nginx 或同类反代
git clone https://github.com/aiporters/funclaude-deploy.git
cd funclaude-deploy
cp .env.example .env
cp docker-compose.example.yml docker-compose.yml编辑 .env,填入必填项(见下面变量表)。
docker compose up -d
docker compose logs -f默认监听 0.0.0.0:8282。
参考 nginx/funclaude.conf.example,把 funclaude.yourdomain.com 和 claudeusercontent.yourdomain.com 换成你的域名
| 变量 | 说明 |
|---|---|
FUNCLAUDE_COOKIE_SECRET |
Cookie 加密密钥,填任意足够长的随机字符串 |
FUNCLAUDE_DOMAIN |
主域名(例如 funclaude.yourdomain.com) |
| 变量 | 默认值 | 说明 |
|---|---|---|
FUNCLAUDE_USERCONTENT_DOMAIN |
空 | artifacts 子域(如 claudeusercontent.yourdomain.com)。留空则 HTML/docs artifacts 预览不可用,强烈建议配置 |
FUNCLAUDE_PROXY_URL |
socks5://warp:1080 |
出站代理。默认假设 docker 网络里有叫 warp 的容器;实际一般要改成自己的代理地址 |
FUNCLAUDE_SITE_PASSWORD |
空 | 站点总门禁,空=不启用 |