diff --git a/bin/create_config.sh b/bin/create_config.sh index 986c341..50ed15b 100644 --- a/bin/create_config.sh +++ b/bin/create_config.sh @@ -5,28 +5,18 @@ create_tuic_config(){ local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径 local CONFIG_FILE="$SCRIPT_DIR/../config/config.json" - # 如果配置文件已存在,提示用户是否重新生成 - if [ -e "$CONFIG_FILE" ]; then - local REGENERATE - read -p "检测到配置已存在,是否重新生成配置?(y/n): " REGENERATE - if [ "$REGENERATE" != "y" ] && [ "$REGENERATE" != "Y" ]; then - echo "取消重新生成配置." - return - fi - fi - echo "请选择配置类型:" - echo "1. 自签名证书配置" - echo "2. tls证书配置" + echo "1. Tuic 自签名证书配置" + echo "2. Tuic tls证书配置" local CHOICE read -p "输入您的选择: " CHOICE case $CHOICE in 1) - echo "重置为自签名证书配置..." + echo "重置为 tuic 自签名证书配置..." create_tuic_self_tls_config ;; 2) - echo "重置为acme tls证书配置..." + echo "重置为 tuic acme tls证书配置..." create_tuic_acme_tls_config ;; *) @@ -36,6 +26,30 @@ create_tuic_config(){ } +create_hysteria_config(){ + local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径 + local CONFIG_FILE="$SCRIPT_DIR/../config/config.json" + + echo "请选择配置类型:" + echo "1. Hysteria 自签名证书配置" + echo "2. Hysteria tls证书配置" + local CHOICE + read -p "输入您的选择: " CHOICE + case $CHOICE in + 1) + echo "重置为hysteria自签名证书配置..." + create_hysteria_self_tls_config + ;; + 2) + echo "重置为hysteria acme tls证书配置..." + create_hysteria_acme_tls_config + ;; + *) + echo "无效的选择, 请重新选择." + ;; + esac +} + create_tuic_acme_tls_config() { local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径 @@ -129,6 +143,52 @@ create_hysteria_self_tls_config() { green "成功创建配置" } +create_hysteria_acme_tls_config() { + local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径 + local CONFIG_FILE="$SCRIPT_DIR/../config/config.json" + + cp "$SCRIPT_DIR/../config/template/hysteria/hysteria_acme_tls_config.json" "$CONFIG_FILE" + + # 获取邮箱 + local USER_EMAIL + read -p "请输入你的邮箱(可留空): " USER_EMAIL + if [[ -z "$USER_EMAIL" ]]; then + USER_EMAIL="example@example.com" + fi + + # 获取域名 + local USER_DOMAIN + read -p "请输入你的域名 (例如: example.com): " USER_DOMAIN + while [[ -z "$USER_DOMAIN" ]]; do + echo "[错误] 域名不能为空" + read -p "请输入你的域名: " USER_DOMAIN + done + + # 获取 Cloudflare API Token + local CLOUDFLARE_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 + + sed -i "s/你的邮箱/$USER_EMAIL/g" "$CONFIG_FILE" + sed -i "s/你的域名/$USER_DOMAIN/g" "$CONFIG_FILE" + sed -i "s/你的Cloudflare_API_Token/$CLOUDFLARE_TOKEN/g" "$CONFIG_FILE" + + # 设置端口 + update_port + + # 设置密码 + update_password + + # 设置混淆密码 + update_obfs_password + + green "成功创建配置" +} + + create_config(){ local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径 local CONFIG_FILE="$SCRIPT_DIR/../config/config.json" @@ -150,11 +210,9 @@ create_config(){ read -p "输入您的选择: " CHOICE case $CHOICE in 1) - echo "重置为自签名证书配置..." create_tuic_config ;; 2) - echo "功能未是实现, 敬请期待..." create_hysteria_config ;; *)