Update 自动部署并配置 cloudflared 隧道服务
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# cloudflared Docker 容器化一键部署脚本
|
# cloudflared Docker 容器化一键部署脚本
|
||||||
# 功能:自动部署并配置 cloudflared 隧道服务
|
# 功能:自动部署并配置 cloudflared 隧道服务,支持选择密钥和服务器位置
|
||||||
|
|
||||||
set -e # 遇到任何错误立即退出脚本
|
set -e # 遇到任何错误立即退出脚本
|
||||||
|
|
||||||
@@ -12,8 +12,15 @@ YELLOW='\033[1;33m'
|
|||||||
BLUE='\033[0;34m'
|
BLUE='\033[0;34m'
|
||||||
NC='\033[0m' # 无颜色
|
NC='\033[0m' # 无颜色
|
||||||
|
|
||||||
# Cloudflare Tunnel 令牌(您提供的)
|
# 默认 Cloudflare Tunnel 令牌
|
||||||
CF_TUNNEL_TOKEN="eyJhIjoiYmI2OTg1ZGU4N2ZiMDEyYjNjNjI2YWExM2VkYTY3OTciLCJ0IjoiNGYyMjNhM2UtNWNjYy00ZmMwLWI1N2MtNjQzZGY5ZmI1ZWZmIiwicyI6Ik1qTmxOR1U0WmpndE5ERXlPQzAwTjJKaExUazNaVFl0WVRWaU5tUmtObVkxTkdSaSJ9"
|
DEFAULT_CF_TUNNEL_TOKEN="eyJhIjoiYmI2OTg1ZGU4N2ZiMDEyYjNjNjI2YWExM2VkYTY3OTciLCJ0IjoiNGYyMjNhM2UtNWNjYy00ZmMwLWI1N2MtNjQzZGY5ZmI1ZWZmIiwicyI6Ik1qTmxOR1U0WmpndE5ERXlPQzAwTjJKaExUazNaVFl0WVRWaU5tUmtObVkxTkdSaSJ9"
|
||||||
|
|
||||||
|
# 用户提供的 Cloudflare Tunnel 令牌
|
||||||
|
USER_CF_TUNNEL_TOKEN="eyJhIjoiYmI2OTg1ZGU4N2ZiMDEyYjNjNjI2YWExM2VkYTY3OTciLCJ0IjoiOWRhNTU2YmMtMWZhNC00Njg2LTg1YTQtZTczOTQ1YmEwMGNmIiwicyI6Ik5XWTNPV05tTkRjdFltVTBOQzAwTkRkaExXRm1ZVEF0T1daaE9XRTVaVFUyTWpRMSJ9"
|
||||||
|
|
||||||
|
# 当前使用的令牌
|
||||||
|
CF_TUNNEL_TOKEN=""
|
||||||
|
SERVER_LOCATION=""
|
||||||
|
|
||||||
# 输出带颜色的信息函数
|
# 输出带颜色的信息函数
|
||||||
log_info() {
|
log_info() {
|
||||||
@@ -123,6 +130,8 @@ deploy_cloudflared() {
|
|||||||
|
|
||||||
# 运行 cloudflared 容器
|
# 运行 cloudflared 容器
|
||||||
log_info "启动 cloudflared 隧道服务..."
|
log_info "启动 cloudflared 隧道服务..."
|
||||||
|
log_info "服务器位置: ${SERVER_LOCATION}"
|
||||||
|
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--name ${container_name} \
|
--name ${container_name} \
|
||||||
--restart=unless-stopped \
|
--restart=unless-stopped \
|
||||||
@@ -156,6 +165,7 @@ verify_deployment() {
|
|||||||
echo ""
|
echo ""
|
||||||
log_info "容器名称: ${container_name}"
|
log_info "容器名称: ${container_name}"
|
||||||
log_info "运行状态: ${status}"
|
log_info "运行状态: ${status}"
|
||||||
|
log_info "服务器位置: ${SERVER_LOCATION}"
|
||||||
log_info "数据目录: /data/cloudflared/"
|
log_info "数据目录: /data/cloudflared/"
|
||||||
log_info "配置目录: /data/cloudflared/config"
|
log_info "配置目录: /data/cloudflared/config"
|
||||||
log_info "日志目录: /data/cloudflared/logs"
|
log_info "日志目录: /data/cloudflared/logs"
|
||||||
@@ -195,12 +205,68 @@ show_usage() {
|
|||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 选择使用哪个令牌
|
||||||
|
select_token() {
|
||||||
|
echo ""
|
||||||
|
log_info "请选择要使用的 Cloudflare Tunnel Token:"
|
||||||
|
echo "1. 使用默认密钥"
|
||||||
|
echo "2. 使用用户提供的密钥"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
read -p "请输入选择 (1/2): " choice
|
||||||
|
case $choice in
|
||||||
|
1)
|
||||||
|
CF_TUNNEL_TOKEN=$DEFAULT_CF_TUNNEL_TOKEN
|
||||||
|
log_info "已选择使用默认密钥"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
CF_TUNNEL_TOKEN=$USER_CF_TUNNEL_TOKEN
|
||||||
|
log_info "已选择使用用户提供的密钥"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log_error "无效的选择,请输入 1 或 2"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# 选择服务器位置
|
||||||
|
select_server_location() {
|
||||||
|
echo ""
|
||||||
|
log_info "请选择服务器位置:"
|
||||||
|
echo "1. 国内服务器"
|
||||||
|
echo "2. 香港服务器"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
read -p "请输入选择 (1/2): " choice
|
||||||
|
case $choice in
|
||||||
|
1)
|
||||||
|
SERVER_LOCATION="国内服务器"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
SERVER_LOCATION="香港服务器"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log_error "无效的选择,请输入 1 或 2"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
# 主执行函数
|
# 主执行函数
|
||||||
main() {
|
main() {
|
||||||
echo ""
|
echo ""
|
||||||
log_info "🚀 开始部署 Cloudflare Tunnel Docker 容器..."
|
log_info "🚀 开始部署 Cloudflare Tunnel Docker 容器..."
|
||||||
log_info "=========================================="
|
log_info "=========================================="
|
||||||
|
|
||||||
|
select_token
|
||||||
|
select_server_location
|
||||||
validate_token
|
validate_token
|
||||||
check_docker
|
check_docker
|
||||||
prepare_directories
|
prepare_directories
|
||||||
@@ -210,6 +276,7 @@ main() {
|
|||||||
log_info "=========================================="
|
log_info "=========================================="
|
||||||
log_info "✅ Cloudflare Tunnel 部署完成!"
|
log_info "✅ Cloudflare Tunnel 部署完成!"
|
||||||
log_info "隧道已使用提供的 Token 进行认证"
|
log_info "隧道已使用提供的 Token 进行认证"
|
||||||
|
log_info "服务器位置: ${SERVER_LOCATION}"
|
||||||
|
|
||||||
show_usage
|
show_usage
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user