Files
tuic_docker/bin/create_config.sh
T
2026-05-22 10:58:33 +08:00

107 lines
3.0 KiB
Bash

#!/bin/bash
create_tuic_acme_tls_config() {
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径
local CONFIG_DIR="$SCRIPT_DIR/../config"
local CONFIG_FILE="$CONFIG_DIR/config.json"
cp "$CONFIG_DIR/template/tuic/tuic_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
# 设置UUID
update_uuid
green "成功创建配置"
}
create_tuic_self_tls_config() {
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径
local CONFIG_FILE="$SCRIPT_DIR/../config/config.json"
cp "$SCRIPT_DIR/../config/template/tuic/tuic_self_tls_config.json" "$CONFIG_FILE"
# 生成自签名证书和设置域名
local DOMAIN="bing.com"
create_self_tls "$DOMAIN"
sed -i "s/你的域名/$DOMAIN/g" "$CONFIG_FILE"
# 设置端口
update_port
# 设置密码
update_password
# 设置UUID
update_uuid
green "成功创建配置"
}
create_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证书配置"
local CHOICE
read -p "输入您的选择: " CHOICE
case $CHOICE in
1)
echo "重置为自签名证书配置..."
create_tuic_self_tls_config
;;
2)
echo "重置为acme tls证书配置..."
create_tuic_acme_tls_config
;;
*)
echo "无效的选择, 请重新选择."
;;
esac
}