diff --git a/cl穿透 b/cl穿透 index 109c5dd..44f601a 100644 --- a/cl穿透 +++ b/cl穿透 @@ -1,27 +1,44 @@ #!/bin/bash -# ========================================== -# 在下方引号内填入你的 Cloudflare Tunnel Token -# ========================================== -TUNNEL_TOKEN="这里填入你的Token" +# 颜色定义 +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +RED='\033[0;31m' +NC='\033[0m' -# 检查 Token 是否已填写 -if [ "$TUNNEL_TOKEN" = "这里填入你的Token" ] || [ -z "$TUNNEL_TOKEN" ]; then - echo -e "\033[31m[错误] 请先在脚本中填入你的 Tunnel Token!\033[0m" +echo -e "${GREEN}==== Cloudflare Tunnel Docker 交互安装脚本 ====${NC}" + +# 1. 交互式获取 Token +read -p "请输入你的 Cloudflare Tunnel Token: " USER_TOKEN + +# 检查输入是否为空 +if [ -z "$USER_TOKEN" ]; then + echo -e "${RED}[错误] Token 不能为空!请重新运行脚本并输入有效密钥。${NC}" exit 1 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 \ --name cf-tunnel \ --restart always \ cloudflare/cloudflared:latest \ - tunnel --no-autoupdate run --token "$TUNNEL_TOKEN" + tunnel --no-autoupdate run --token "$USER_TOKEN" +# 4. 验证结果 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 - echo -e "\033[31m[失败] 容器启动失败,请检查 Docker 安装情况。\033[0m" + echo -e "${RED}[错误] 容器启动失败,请检查 Docker 是否正常运行。${NC}" fi \ No newline at end of file