模板示例(请替换为你的服务器信息,不要提交真实 IP/密码)
CC-Switch Web 服务器已启用安全保护:
-
✅ 仅监听本地回环地址 (
127.0.0.1)- 外网完全无法访问,即使配置云安全组也无效
- 必须通过 SSH 隧道访问
-
✅ HTTP Basic Auth 密码保护
- 每台服务器首次启动时自动生成独立的 16 位随机密码
- 密码存储在
~/.cc-switch/web_password(权限 600) - 访问时需要输入用户名(admin)和密码
-
✅ 双重保护机制
- 网络层:只能从本地访问
- 应用层:需要密码认证
- 确保 API 密钥不会泄露
启动服务器时会在终端显示密码,或手动查看:
cat ~/.cc-switch/web_password当前密码:请查看 ~/.cc-switch/web_password(首次启动自动生成)
如果你已经通过 SSH 连接到服务器:
- 按
Enter键 - 输入
~C(波浪号 + 大写C) - 看到
ssh>提示符后,输入:-L 3000:localhost:8080 - 按
Enter - 浏览器访问:
http://localhost:3000
# 退出当前 SSH
exit
# 重新连接(带端口转发)
ssh -L 3000:localhost:8080 user@your-server
# 或者转发到本地 8080 端口
ssh -L 8080:localhost:8080 user@your-server然后浏览器访问:
http://localhost:3000(第一种)http://localhost:8080(第二种)
登录凭证:
- 用户名:
admin - 密码:查看
~/.cc-switch/web_password
如果你在服务器的 SSH 终端内:
# 安装文本浏览器(可选)
apt-get install -y lynx
# 测试访问
curl http://localhost:8080/
lynx http://localhost:8080/注意:所有 API 请求都需要 Basic Auth 认证
# 获取密码
PASSWORD=$(cat ~/.cc-switch/web_password)
# 测试 Provider API
curl -u admin:$PASSWORD http://localhost:8080/api/providers/claude
# 测试 Settings API
curl -u admin:$PASSWORD http://localhost:8080/api/settings
# 测试 MCP API
curl -u admin:$PASSWORD http://localhost:8080/api/mcp/servers
# 或直接使用密码
curl -u admin:c3UEBlNq39biO9Ot http://localhost:8080/api/settingsps aux | grep cc-switch-server
netstat -tulpn | grep 8080pkill cc-switch-servercd /root/cc-switch/src-tauri
./target/debug/cc-switch-servercd /root/cc-switch/src-tauri
nohup ./target/debug/cc-switch-server > /var/log/cc-switch.log 2>&1 &PORT=3000 ./target/debug/cc-switch-servertail -f /var/log/cc-switch.log# 查找占用 8080 端口的进程
lsof -i:8080
netstat -tulpn | grep 8080
# 杀死进程
kill -9 <PID># 检查防火墙状态
ufw status
iptables -L -n
# 临时开放端口(如果使用 ufw)
ufw allow 8080/tcp# 检查进程是否运行
ps aux | grep cc-switch
# 重启服务
pkill cc-switch-server
./target/debug/cc-switch-server-
防止 API 密钥泄露
- Claude/Codex/Gemini API 密钥非常敏感
- 服务器只监听 127.0.0.1,外网无法访问
- 即使端口冲突顺延(8081/8082),依然安全
-
每台服务器独立密码
- 首次启动自动生成随机密码
- 未来开源后,每个用户部署都有自己的密码
- 密码文件权限 600,只有服务器所有者可读
-
双重保护
- 网络层:必须通过 SSH 隧道访问
- 应用层:必须输入 Basic Auth 密码
- 保护级别:军事级加密(SSH)+ 密码认证
| 场景 | 适用性 | 说明 |
|---|---|---|
| 个人云服务器 | ✅ 完美 | SSH 隧道简单安全 |
| 多人协作 | ✅ 可行 | 共享 SSH 密钥或设置多个用户 |
| 公开服务 | ❌ 不适用 | 设计目标是个人使用,不适合暴露在公网 |
最佳实践:
- 启动服务器(自动生成密码)
- 建立 SSH 隧道:
ssh -L 3000:localhost:8080 root@49.235.180.6 - 浏览器访问:
http://localhost:3000 - 输入用户名
admin和密码(查看~/.cc-switch/web_password) - 享受安全的可视化管理
端口冲突处理:
- 如果 8080 被占用,服务器会失败并提示
- 手动指定其他端口:
PORT=8081 ./target/debug/cc-switch-server - 即使使用其他端口,依然只监听 127.0.0.1,外网无法访问