This commit is contained in:
Olia Lisa 2025-11-20 18:34:01 +08:00
parent 21e587e023
commit 210597c0f1
2 changed files with 109 additions and 33 deletions

108
bin/create_config.sh Normal file
View File

@ -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

View File

@ -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)
# 启动容器