tuic_docker/bin/gen_self_tls.sh
2026-01-14 23:30:02 +08:00

32 lines
926 B
Bash

#!/bin/bash
# 导入依赖脚本文件
for f in $(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/utils/*.sh; do
source "$f"
done
# 生成自签名证书
gen_self_tls() {
local domain="${1:-bing.com}"
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # 脚本文件夹绝对路径
local key_dir="$script_dir/../tls/self-tls"
local config_file="$script_dir/../config/config.json"
# 创建存放证书的目录
mkdir -p "$key_dir"
# 生成自签名证书
openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) \
-keyout "$key_dir/server.key" \
-out "$key_dir/server.crt" \
-subj "/CN=$domain" \
-days 36500
# 更新config.json文件中的域名信息
modify_json_file "$config_file" "inbounds[0].tls.server_name" "$domain"
}
# 调用函数,传入第一个参数作为域名
gen_self_tls "${1:-bing.com}"