From 210597c0f15469d856e42eea1e24fa86f9ad952a Mon Sep 17 00:00:00 2001 From: Olia Lisa Date: Thu, 20 Nov 2025 18:34:01 +0800 Subject: [PATCH] udpate --- bin/create_config.sh | 108 +++++++++++++++++++++++++++++++++++++++++++ install.sh | 34 +------------- 2 files changed, 109 insertions(+), 33 deletions(-) create mode 100644 bin/create_config.sh diff --git a/bin/create_config.sh b/bin/create_config.sh new file mode 100644 index 0000000..3fc9f12 --- /dev/null +++ b/bin/create_config.sh @@ -0,0 +1,108 @@ +#!/bin/bash + +create_config_with_tls_cert() { + local script_dir=$(cd "$(dirname "$0")"; pwd) + + cp "$script_dir/../config_template/tls_cert_config.json" "$script_dir/../config.json" + + # 设置端口 + bash "$script_dir/update_port.sh" + + # 设置密码 + bash "$script_dir/update_password.sh" + + # 设置混淆密码 + bash "$script_dir/update_obfs_password.sh" + + # 获取邮箱 + read -p "请输入你的邮箱: " user_email + while [[ -z "$user_email" ]]; do + echo "[错误] 邮箱不能为空" + read -p "请输入你的邮箱: " user_email + done + + # 获取域名 + read -p "请输入你的域名 (例如: example.com): " user_domain + while [[ -z "$user_domain" ]]; do + echo "[错误] 域名不能为空" + read -p "请输入你的域名: " user_domain + done + + # 获取 Cloudflare API Token + read -p "请输入你的 Cloudflare API Token: " cloudflare_token + while [[ -z "$cloudflare_token" ]]; do + echo "[错误] Cloudflare API Token 不能为空" + read -p "请输入你的 Cloudflare API Token: " cloudflare_token + done + + # 替换配置文件中的占位符 + local config_file="$script_dir/../config.json" + + # 使用 sed 替换邮箱 + sed -i "s/你的邮箱/$user_email/g" "$config_file" + + # 替换域名 (在 domains 数组和 masquerade url 中) + sed -i "s/你的域名/$user_domain/g" "$config_file" + + # 替换 Cloudflare API Token + sed -i "s/你的cloudflare_api_token/$cloudflare_token/g" "$config_file" + + echo "初始化设置完成" +} + +create_self_tls_config() { + local script_dir=$(cd "$(dirname "$0")"; pwd) + + cp "$script_dir/../config_template/self_cert_config.json" "$script_dir/../config.json" + + # 设置端口 + bash "$script_dir/update_port.sh" + + # 设置密码 + bash "$script_dir/update_password.sh" + + # 设置混淆密码 + bash "$script_dir/update_obfs_password.sh" + + # 生成自签名证书和设置域名 + bash "$script_dir/set_domain.sh" "bing.com" + + echo "初始化设置完成" +} + +create_config(){ + local script_dir=$(cd "$(dirname "$0")"; pwd) + local config_password=$(jq -r '.auth.password' "$script_dir/../config.json") + if [ "$config_password" != "你的密码" ]; then + local regenerate + read -p "检测到配置已存在,是否重新生成配置?(y/n): " regenerate + if [ "$regenerate" != "y" ] && [ "$regenerate" != "Y" ]; then + echo "取消重新生成配置." + return + fi + fi + + echo "请选择配置类型:" + echo "1. 自签名证书配置" + echo "2. tls证书配置" + local choice + read -p "输入您的选择: " choice + case $choice in + 1) + echo "重置为自签名证书配置..." + create_self_tls_config + ;; + 2) + echo "重置为tls证书配置..." + create_config_with_tls_cert + ;; + *) + echo "无效的选择, 请重新选择." + ;; + esac +} + + +create_config + + diff --git a/install.sh b/install.sh index 0601e06..7fbb4c5 100644 --- a/install.sh +++ b/install.sh @@ -27,38 +27,6 @@ install(){ fi } -create_config(){ - local config_password=$(jq -r '.auth.password' "./config.json") - if [ "$config_password" != "你的密码" ]; then - local regenerate - read -p "检测到配置已存在,是否重新生成配置?(y/n): " regenerate - if [ "$regenerate" != "y" ] && [ "$regenerate" != "Y" ]; then - echo "取消重新生成配置." - return - fi - fi - - echo "请选择配置类型:" - echo "1. 自签名证书配置" - echo "2. tls证书配置" - local choice - read -p "输入您的选择: " choice - case $choice in - 1) - echo "重置为自签名证书配置..." - bash ./bin/init.sh - ;; - 2) - echo "重置为tls证书配置..." - bash ./bin/init_with_tls_cert.sh - ;; - *) - echo "无效的选择, 请重新选择." - ;; - esac -} - - # 显示菜单 echo "请选择一个操作:" echo "0. 生成配置" @@ -76,7 +44,7 @@ read -p "输入您的选择: " choice case $choice in 0) echo "重新生成配置.." - create_config + bash ./bin/create_config.sh ;; 1) # 启动容器