diff --git a/bin/gen_cert.sh b/bin/gen_cert.sh index 7fac348..e2632e5 100644 --- a/bin/gen_cert.sh +++ b/bin/gen_cert.sh @@ -1,7 +1,24 @@ #!/bin/bash -script_dir="$(dirname "$(realpath "$0")")" # 当前脚本所在目录的绝对路径 -key_dir=$(readlink -f "$script_dir/../key") # key目录绝对路径 -domain="bing.com" # 域名 +gen_cert() { + local domain="$1" + local script_dir="$(dirname "$(realpath "$0")")" # 当前脚本所在目录的绝对路径 + local key_dir="$script_dir/../key" # key目录绝对路径 + # 使用openssl生成自签名证书,设置密钥和有效期,并指定域名信息 + 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 +} + +update_config() { + local domain="$1" + local script_dir="$(dirname "$(realpath "$0")")" # 当前脚本所在目录的绝对路径 + local config_file="$script_dir/../config.json" # config.json文件路径 + # 使用jq命令修改文件conifg.json中的masquerade.proxy.url + new_config=$(jq --arg new_url "https://$domain" '.masquerade.proxy.url = $new_url' "$config_file") + echo "$new_config" > "$config_file" +} + +domain="${1:-bing.com}" # 域名, 默认为"bing.com" +gen_cert "$domain" # 生成证书 +update_config "$domain" # 更新config.json文件 + -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 \ No newline at end of file