重构代码, 优化自签名证书和ACME TLS配置生成逻辑

This commit is contained in:
Olia Lisa
2026-05-22 18:37:56 +08:00
parent 348862520c
commit d8559dafb4
3 changed files with 23 additions and 69 deletions
+2 -29
View File
@@ -32,9 +32,7 @@ create_hysteria_self_tls_config() {
cp "$SCRIPT_DIR/../config/template/hysteria/hysteria_self_tls_config.json" "$CONFIG_FILE" cp "$SCRIPT_DIR/../config/template/hysteria/hysteria_self_tls_config.json" "$CONFIG_FILE"
# 生成自签名证书和设置域名 # 生成自签名证书和设置域名
local DOMAIN="bing.com" update_self_tls "$CONFIG_FILE" "bing.com"
create_self_tls_file "$DOMAIN"
sed -i "s/你的域名/$DOMAIN/g" "$CONFIG_FILE"
# 设置端口 # 设置端口
update_port update_port
@@ -54,32 +52,7 @@ create_hysteria_acme_tls_config() {
cp "$SCRIPT_DIR/../config/template/hysteria/hysteria_acme_tls_config.json" "$CONFIG_FILE" cp "$SCRIPT_DIR/../config/template/hysteria/hysteria_acme_tls_config.json" "$CONFIG_FILE"
# 获取邮箱 update_acme_tls "$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_port
+2 -29
View File
@@ -32,32 +32,7 @@ create_tuic_acme_tls_config() {
cp "$CONFIG_DIR/template/tuic/tuic_acme_tls_config.json" "$CONFIG_FILE" cp "$CONFIG_DIR/template/tuic/tuic_acme_tls_config.json" "$CONFIG_FILE"
# 获取邮箱 update_acme_tls "$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_port
@@ -78,9 +53,7 @@ create_tuic_self_tls_config() {
cp "$SCRIPT_DIR/../config/template/tuic/tuic_self_tls_config.json" "$CONFIG_FILE" cp "$SCRIPT_DIR/../config/template/tuic/tuic_self_tls_config.json" "$CONFIG_FILE"
# 生成自签名证书和设置域名 # 生成自签名证书和设置域名
local DOMAIN="bing.com" update_self_tls "$CONFIG_FILE" "bing.com"
create_self_tls_file "$DOMAIN"
sed -i "s/你的域名/$DOMAIN/g" "$CONFIG_FILE"
# 设置端口 # 设置端口
update_port update_port
+19 -11
View File
@@ -18,28 +18,36 @@ create_self_tls_file() {
} }
update_self_tls(){ update_self_tls(){
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径 local CONFIG_FILE="${1:-}"
local CONFIG_DIR=$(readlink -f "$SCRIPT_DIR/../config") local DOMAIN="${2:-bing.com}" # 域名,默认为bing.com
local CONFIG_FILE="$CONFIG_DIR/config.json"
if [[ -z "$CONFIG_FILE" ]]; then
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径
local CONFIG_DIR=$(readlink -f "$SCRIPT_DIR/../config")
CONFIG_FILE="$CONFIG_DIR/config.json"
fi
# 生成自签名证书, 设置域名 # 生成自签名证书, 设置域名
local DOMAIN="${1:-bing.com}" # 域名,默认为bing.com
create_self_tls_file "$DOMAIN" create_self_tls_file "$DOMAIN"
sed -i "s/你的域名/$DOMAIN/g" "$CONFIG_FILE" sed -i "s/你的域名/$DOMAIN/g" "$CONFIG_FILE"
} }
update_acme_tls(){ update_acme_tls(){
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径 local CONFIG_FILE="${1:-}"
local CONFIG_DIR=$(readlink -f "$SCRIPT_DIR/../config")
local CONFIG_FILE="$CONFIG_DIR/config.json" if [[ -z "$CONFIG_FILE" ]]; then
local SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径
local CONFIG_DIR=$(readlink -f "$SCRIPT_DIR/../config")
CONFIG_FILE="$CONFIG_DIR/config.json"
fi
# 获取邮箱 # 获取邮箱
local USER_EMAIL local USER_EMAIL
read -p "请输入你的邮箱: " USER_EMAIL read -p "请输入你的邮箱: " USER_EMAIL
if [[ -z "$USER_EMAIL" ]]; then while [[ -z "$USER_EMAIL" ]]; do
echo "[错误] 域名不能为空" echo "[错误] 邮箱不能为空"
read -p "请输入你的邮箱: " USER_EMAIL read -p "请输入你的邮箱: " USER_EMAIL
fi done
# 获取域名 # 获取域名
local USER_DOMAIN local USER_DOMAIN