From 5387b09dfea5680d26a07a78d7d77534baa5fd6d Mon Sep 17 00:00:00 2001 From: qaq <1937228092@qq.com> Date: Tue, 28 Oct 2025 17:34:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=8F=8D=E4=BB=A3=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- panel_install.sh | 40 +--------- proxy.sh | 191 ----------------------------------------------- 2 files changed, 1 insertion(+), 230 deletions(-) delete mode 100644 proxy.sh diff --git a/panel_install.sh b/panel_install.sh index f63bc2d..1398151 100755 --- a/panel_install.sh +++ b/panel_install.sh @@ -152,8 +152,7 @@ show_menu() { echo "2. 更新面板" echo "3. 卸载面板" echo "4. 导出备份" - echo "5. 安装并配置反向代理(Caddy)" - echo "6. 退出" + echo "5. 退出" echo "===============================================" } @@ -990,38 +989,6 @@ export_migration_sql() { fi } -# ===================== 新增:安装并配置反向代理(Caddy) ===================== -install_reverse_proxy() { - echo "🚀 开始安装并配置 Caddy 反向代理..." - # 尽量读取前端端口作为反代后端端口的建议值 - FRONTEND_HINT="" - if [[ -f ".env" ]]; then - ENV_FRONTEND_PORT=$(grep "^FRONTEND_PORT=" .env | cut -d'=' -f2 2>/dev/null || echo "") - if [[ -n "$ENV_FRONTEND_PORT" ]]; then - FRONTEND_HINT="$ENV_FRONTEND_PORT" - fi - fi - - echo "📥 下载 proxy.sh ..." - if ! curl -fsSL "$PROXY_SH_URL" -o proxy.sh; then - echo "❌ 下载 proxy.sh 失败:$PROXY_SH_URL" - exit 1 - fi - chmod +x proxy.sh - - echo "ℹ️ 即将启动反代安装脚本。填写建议:" - echo " - 反向代理目标地址:建议填 127.0.0.1" - if [[ -n "$FRONTEND_HINT" ]]; then - echo " - 反向代理目标端口:建议填 $FRONTEND_HINT(从 .env 读取的前端端口)" - else - echo " - 反向代理目标端口:建议填 6366(默认前端端口)" - fi - echo " - 其余选项按需选择(是否使用 DNS 验证、邮箱等)" - - ./proxy.sh - - echo "✅ 反向代理配置完成" -} # 卸载功能 uninstall_panel() { @@ -1079,11 +1046,6 @@ main() { exit 0 ;; 5) - install_reverse_proxy - delete_self - exit 0 - ;; - 6) echo "👋 退出脚本" delete_self exit 0 diff --git a/proxy.sh b/proxy.sh deleted file mode 100644 index ae283dd..0000000 --- a/proxy.sh +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env bash -# caddy-reverse-proxy.sh -# 自动安装&配置Caddy反代(支持SSL、DNS验证、IPv6、WS、自动续期免输入) - -set -e - -ENV_FILE="/etc/caddy/dns.env" -SYSTEMD_SERVICE="/etc/systemd/system/caddy.service" - -# ===== 用户输入 ===== -read -rp "请输入反向代理目标地址 (例如 127.0.0.1): " backend_host -read -rp "请输入反向代理目标端口 [默认6366]: " backend_port -backend_port=${backend_port:-6366} - -read -rp "请输入监听端口 [默认443]: " listen_port -listen_port=${listen_port:-443} - -read -rp "请输入反代访问域名 (必须已解析到本机): " domain -if [[ -z "$domain" ]]; then - echo "❌ 域名必填!" - exit 1 -fi - -read -rp "请输入邮箱(可选,留空则不设置): " ssl_email -read -rp "是否使用 DNS 验证申请证书?[y/N]: " use_dns -use_dns=${use_dns:-N} - -dns_provider="" -declare -A env_vars - -if [[ "$use_dns" =~ ^[Yy]$ ]]; then - echo "请选择 DNS 服务商:" - echo "1) Cloudflare" - echo "2) Dnspod (国内站)" - echo "3) Dnspod (国际站)" - echo "4) Aliyun (国内)" - echo "5) Aliyun (国际)" - read -rp "输入编号: " dns_choice - - case $dns_choice in - 1) - dns_provider="cloudflare" - read -rp "Cloudflare API Token: " CF_API_TOKEN - env_vars["CF_API_TOKEN"]=$CF_API_TOKEN - ;; - 2) - dns_provider="dnspod" - read -rp "Dnspod 国内站 API ID: " DP_ID - read -rp "Dnspod 国内站 API Key: " DP_KEY - env_vars["DP_ID"]=$DP_ID - env_vars["DP_KEY"]=$DP_KEY - ;; - 3) - dns_provider="dnspod" - read -rp "Dnspod 国际站 API Token: " DP_TOKEN - env_vars["DP_TOKEN"]=$DP_TOKEN - ;; - 4|5) - dns_provider="alidns" - read -rp "Aliyun AccessKey ID: " ALICLOUD_ACCESS_KEY - read -rp "Aliyun AccessKey Secret: " ALICLOUD_SECRET_KEY - env_vars["ALICLOUD_ACCESS_KEY"]=$ALICLOUD_ACCESS_KEY - env_vars["ALICLOUD_SECRET_KEY"]=$ALICLOUD_SECRET_KEY - ;; - *) - echo "❌ 无效选项" - exit 1 - ;; - esac -fi - -# ===== 检查IPv6支持 ===== -if ping6 -c1 google.com &>/dev/null; then - listen_address="[::]" - echo "✅ 检测到IPv6支持,将使用IPv6监听" -else - listen_address="0.0.0.0" - echo "⚠️ 未检测到IPv6支持,将使用IPv4监听" -fi - -# ===== 安装Caddy ===== -if ! command -v caddy &>/dev/null; then - echo "🔧 安装Caddy..." - apt update && apt install -y curl unzip - - # 使用官方安装脚本 - curl -sSfL https://caddyserver.com/static/install.sh | bash -s - - # 或者使用包管理器安装(取消注释以下行) - # curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg - # curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list - # apt update - # apt install caddy - - # 确保caddy在正确位置 - if [[ -f "/usr/bin/caddy" ]]; then - mv /usr/bin/caddy /usr/local/bin/caddy - fi -fi - -mkdir -p /etc/caddy - -# ===== 保存环境变量到dns.env ===== -echo "# Caddy DNS Provider API Keys" >"$ENV_FILE" -for key in "${!env_vars[@]}"; do - echo "$key=${env_vars[$key]}" >>"$ENV_FILE" -done -chmod 600 "$ENV_FILE" - -# ===== 配置systemd服务加载环境变量 ===== -cat >"$SYSTEMD_SERVICE" </etc/caddy/Caddyfile </etc/caddy/Caddyfile <