更新 cl穿透

This commit is contained in:
2026-01-20 22:21:39 +08:00
parent 48765d2bcb
commit 0733b5bd4d

View File

@@ -1,27 +1,44 @@
#!/bin/bash #!/bin/bash
# ========================================== # 颜色定义
# 在下方引号内填入你的 Cloudflare Tunnel Token GREEN='\033[0;32m'
# ========================================== YELLOW='\033[1;33m'
TUNNEL_TOKEN="这里填入你的Token" RED='\033[0;31m'
NC='\033[0m'
# 检查 Token 是否已填写 echo -e "${GREEN}==== Cloudflare Tunnel Docker 交互安装脚本 ====${NC}"
if [ "$TUNNEL_TOKEN" = "这里填入你的Token" ] || [ -z "$TUNNEL_TOKEN" ]; then
echo -e "\033[31m[错误] 请先在脚本中填入你的 Tunnel Token\033[0m" # 1. 交互式获取 Token
read -p "请输入你的 Cloudflare Tunnel Token: " USER_TOKEN
# 检查输入是否为空
if [ -z "$USER_TOKEN" ]; then
echo -e "${RED}[错误] Token 不能为空!请重新运行脚本并输入有效密钥。${NC}"
exit 1 exit 1
fi fi
echo -e "\033[32m[启动] 正在启动 Cloudflare Tunnel 容器...\033[0m" # 2. 检查并清理同名容器
if [ "$(docker ps -aq -f name=cf-tunnel)" ]; then
echo -e "${YELLOW}[提示] 发现已存在的 cf-tunnel 容器,正在更新...${NC}"
docker rm -f cf-tunnel >/dev/null 2>&1
fi
# 3. 运行 Docker 容器
echo -e "${GREEN}[执行] 正在启动 Cloudflare Tunnel...${NC}"
# 运行 Docker 容器
docker run -d \ docker run -d \
--name cf-tunnel \ --name cf-tunnel \
--restart always \ --restart always \
cloudflare/cloudflared:latest \ cloudflare/cloudflared:latest \
tunnel --no-autoupdate run --token "$TUNNEL_TOKEN" tunnel --no-autoupdate run --token "$USER_TOKEN"
# 4. 验证结果
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo -e "\033[32m[成功] Tunnel 容器已在后台运行。\033[0m" echo -e "------------------------------------------------"
echo -e "${GREEN}成功Cloudflare Tunnel 已在后台启动!${NC}"
echo -e "容器名称: cf-tunnel"
echo -e "查看日志命令: docker logs -f cf-tunnel"
echo -e "------------------------------------------------"
else else
echo -e "\033[31m[失败] 容器启动失败,请检查 Docker 安装情况。\033[0m" echo -e "${RED}[错误] 容器启动失败,请检查 Docker 是否正常运行。${NC}"
fi fi