96 lines
2.8 KiB
Bash
96 lines
2.8 KiB
Bash
#!/bin/bash
|
||
# 设置Cloudflare Tunnel(推荐方案)
|
||
|
||
set -e
|
||
|
||
echo "========================================"
|
||
echo "设置Cloudflare Tunnel"
|
||
echo "========================================"
|
||
echo ""
|
||
echo "⚠️ 注意: 此脚本需要Cloudflare账户"
|
||
echo " 如果没有账户,请先访问 https://dash.cloudflare.com 注册"
|
||
echo ""
|
||
|
||
# 检查是否已安装cloudflared
|
||
if ! command -v cloudflared &> /dev/null; then
|
||
echo "📦 安装cloudflared..."
|
||
|
||
# 下载最新版本
|
||
ARCH=$(uname -m)
|
||
if [ "$ARCH" = "x86_64" ]; then
|
||
ARCH="amd64"
|
||
elif [ "$ARCH" = "aarch64" ]; then
|
||
ARCH="arm64"
|
||
fi
|
||
|
||
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-${ARCH} -O /tmp/cloudflared
|
||
chmod +x /tmp/cloudflared
|
||
sudo mv /tmp/cloudflared /usr/local/bin/cloudflared
|
||
|
||
echo "✅ cloudflared已安装"
|
||
else
|
||
echo "✅ cloudflared已安装: $(cloudflared --version)"
|
||
fi
|
||
|
||
echo ""
|
||
echo "========================================"
|
||
echo "下一步操作:"
|
||
echo "========================================"
|
||
echo ""
|
||
echo "1. 登录Cloudflare:"
|
||
echo " cloudflared tunnel login"
|
||
echo ""
|
||
echo "2. 创建隧道:"
|
||
echo " cloudflared tunnel create youyidian-3d"
|
||
echo ""
|
||
echo "3. 配置路由(在Cloudflare Dashboard):"
|
||
echo " - 访问 https://dash.cloudflare.com"
|
||
echo " - 选择你的域名"
|
||
echo " - 进入 Network > Tunnels"
|
||
echo " - 配置路由规则"
|
||
echo ""
|
||
echo "4. 或使用配置文件 (~/.cloudflared/config.yml):"
|
||
echo " tunnel: <tunnel-id>"
|
||
echo " credentials-file: /root/.cloudflared/<tunnel-id>.json"
|
||
echo " "
|
||
echo " ingress:"
|
||
echo " - hostname: 3d.yydd.ai"
|
||
echo " service: http://127.0.0.1:4320"
|
||
echo " - hostname: s3.yydd.ai"
|
||
echo " service: http://192.168.58.20:9000"
|
||
echo " - service: http_status:404"
|
||
echo ""
|
||
echo "5. 创建Systemd服务:"
|
||
echo " cat > /etc/systemd/system/cloudflared.service << 'SERVICE_EOF'"
|
||
echo " [Unit]"
|
||
echo " Description=Cloudflare Tunnel"
|
||
echo " After=network.target"
|
||
echo " "
|
||
echo " [Service]"
|
||
echo " Type=simple"
|
||
echo " User=root"
|
||
echo " ExecStart=/usr/local/bin/cloudflared tunnel run youyidian-3d"
|
||
echo " Restart=always"
|
||
echo " RestartSec=5s"
|
||
echo " "
|
||
echo " [Install]"
|
||
echo " WantedBy=multi-user.target"
|
||
echo " SERVICE_EOF"
|
||
echo ""
|
||
echo "6. 启用并启动服务:"
|
||
echo " systemctl daemon-reload"
|
||
echo " systemctl enable cloudflared.service"
|
||
echo " systemctl start cloudflared.service"
|
||
echo ""
|
||
echo "========================================"
|
||
echo "优势:"
|
||
echo "========================================"
|
||
echo "✅ 99.99%可用性(Cloudflare全球基础设施)"
|
||
echo "✅ 完全免费(无流量限制)"
|
||
echo "✅ 自动SSL证书"
|
||
echo "✅ 全球CDN加速"
|
||
echo "✅ DDoS防护"
|
||
echo "✅ 详细监控和日志"
|
||
echo "✅ 零维护成本"
|
||
echo ""
|