jonssonyan пре 2 година
родитељ
комит
b1bfdad56b
1 измењених фајлова са 65 додато и 62 уклоњено
  1. 65 62
      install_script.sh

+ 65 - 62
install_script.sh

@@ -326,47 +326,9 @@ EOF
   fi
 }
 
-# 安装Caddy2
-install_caddy2() {
-  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-caddy$") ]]; then
-    echo_content green "---> 安装Caddy2"
-
-    wget --no-check-certificate -O ${WEB_PATH}html.tar.gz -N ${STATIC_HTML} &&
-      tar -zxvf ${WEB_PATH}html.tar.gz -k -C ${WEB_PATH}
-
-    read -r -p "请输入Caddy的端口(默认:80): " caddy_port
-    [[ -z "${caddy_port}" ]] && caddy_port=80
-    read -r -p "请输入Caddy的转发端口(默认:8863): " caddy_remote_port
-    [[ -z "${caddy_remote_port}" ]] && caddy_remote_port=8863
-
-    echo_content yellow "提示:请确认域名已经解析到本机 否则可能安装失败"
-    while read -r -p "请输入你的域名(必填): " domain; do
-      if [[ -z "${domain}" ]]; then
-        echo_content red "域名不能为空"
-      else
-        break
-      fi
-    done
-
-    read -r -p "请输入你的邮箱(可选): " your_email
-
-    while read -r -p "请选择设置证书的方式?(1/自动申请和续签证书 2/手动设置证书路径 默认:1/自动申请和续签证书): " ssl_option; do
-      if [[ -z ${ssl_option} || ${ssl_option} == 1 ]]; then
-        while read -r -p "请选择申请证书的方式(1/acme 2/zerossl 默认:1/acme): " ssl_module_type; do
-          if [[ -z "${ssl_module_type}" || ${ssl_module_type} == 1 ]]; then
-            ssl_module="acme"
-            CADDY_CERT_DIR="${CERT_PATH}certificates/acme-v02.api.letsencrypt.org-directory/"
-            break
-          elif [[ ${ssl_module_type} == 2 ]]; then
-            ssl_module="zerossl"
-            CADDY_CERT_DIR="${CERT_PATH}certificates/acme.zerossl.com-v2-dv90/"
-            break
-          else
-            echo_content red "不可以输入除1和2之外的其他字符"
-          fi
-        done
-
-        cat >${CADDY_CONFIG} <<EOF
+# 手动设置证书路径
+caddy2_https_config() {
+  cat >${CADDY_CONFIG} <<EOF
 {
     "admin":{
         "disabled":true
@@ -471,6 +433,12 @@ install_caddy2() {
             "certificates":{
                 "automate":[
                     "${domain}"
+                ],
+                "load_files":[
+                    {
+                        "certificate":"${CADDY_CERT_DIR}${domain}/${domain}.crt",
+                        "key":"${CADDY_CERT_DIR}${domain}/${domain}.key"
+                    }
                 ]
             },
             "automation":{
@@ -489,10 +457,11 @@ install_caddy2() {
     }
 }
 EOF
-        break
-      elif [[ ${ssl_option} == 2 ]]; then
-        install_custom_cert "${domain}"
-        cat >${CADDY_CONFIG} <<EOF
+}
+
+# 自动申请和续签证书
+caddy2_https_auto_config() {
+  cat >${CADDY_CONFIG} <<EOF
 {
     "admin":{
         "disabled":true
@@ -597,12 +566,6 @@ EOF
             "certificates":{
                 "automate":[
                     "${domain}"
-                ],
-                "load_files":[
-                    {
-                        "certificate":"${CADDY_CERT_DIR}${domain}/${domain}.crt",
-                        "key":"${CADDY_CERT_DIR}${domain}/${domain}.key"
-                    }
                 ]
             },
             "automation":{
@@ -621,6 +584,52 @@ EOF
     }
 }
 EOF
+}
+
+# 安装Caddy2
+install_caddy2() {
+  if [[ -z $(docker ps -a -q -f "name=^trojan-panel-caddy$") ]]; then
+    echo_content green "---> 安装Caddy2"
+
+    wget --no-check-certificate -O ${WEB_PATH}html.tar.gz -N ${STATIC_HTML} &&
+      tar -zxvf ${WEB_PATH}html.tar.gz -k -C ${WEB_PATH}
+
+    read -r -p "请输入Caddy的端口(默认:80): " caddy_port
+    [[ -z "${caddy_port}" ]] && caddy_port=80
+    read -r -p "请输入Caddy的转发端口(默认:8863): " caddy_remote_port
+    [[ -z "${caddy_remote_port}" ]] && caddy_remote_port=8863
+
+    echo_content yellow "提示:请确认域名已经解析到本机 否则可能安装失败"
+    while read -r -p "请输入你的域名(必填): " domain; do
+      if [[ -z "${domain}" ]]; then
+        echo_content red "域名不能为空"
+      else
+        break
+      fi
+    done
+
+    read -r -p "请输入你的邮箱(可选): " your_email
+
+    while read -r -p "请选择设置证书的方式?(1/自动申请和续签证书 2/手动设置证书路径 默认:1/自动申请和续签证书): " ssl_option; do
+      if [[ -z ${ssl_option} || ${ssl_option} == 1 ]]; then
+        while read -r -p "请选择申请证书的方式(1/acme 2/zerossl 默认:1/acme): " ssl_module_type; do
+          if [[ -z "${ssl_module_type}" || ${ssl_module_type} == 1 ]]; then
+            ssl_module="acme"
+            CADDY_CERT_DIR="${CERT_PATH}certificates/acme-v02.api.letsencrypt.org-directory/"
+            break
+          elif [[ ${ssl_module_type} == 2 ]]; then
+            ssl_module="zerossl"
+            CADDY_CERT_DIR="${CERT_PATH}certificates/acme.zerossl.com-v2-dv90/"
+            break
+          else
+            echo_content red "不可以输入除1和2之外的其他字符"
+          fi
+        done
+        caddy2_https_auto_config
+        break
+      elif [[ ${ssl_option} == 2 ]]; then
+        install_custom_cert "${domain}"
+        caddy2_https_config
         break
       else
         echo_content red "不可以输入除1和2之外的其他字符"
@@ -742,19 +751,13 @@ install_nginx() {
       if [[ -z ${nginx_https} || ${nginx_https} == 1 ]]; then
         install_custom_cert "custom_cert"
         domain=$(cat "${DOMAIN_FILE}")
-        if [[ -n ${domain} ]]; then
-          nginx_https_config
-        else
-          nginx_http_config
-        fi
+        nginx_https_config
+        break
+      elif [[ ${nginx_https} == 0 ]]; then
+        nginx_http_config
         break
       else
-        if [[ ${nginx_https} == 0 ]]; then
-          nginx_https_config
-          break
-        else
-          echo_content red "不可以输入除0和1之外的其他字符"
-        fi
+        echo_content red "不可以输入除0和1之外的其他字符"
       fi
     done