فهرست منبع

Optimize acme to test x-ui-ssl

Stille 4 سال پیش
والد
کامیت
fd8761a666
4فایلهای تغییر یافته به همراه17 افزوده شده و 8 حذف شده
  1. 1 1
      x-ui/x-ui-ssl/README.md
  2. 15 6
      x-ui/x-ui-ssl/conf/acme.sh
  3. 1 1
      x-ui/x-ui-ssl/conf/start.sh
  4. BIN
      x-ui/x-ui-ssl/x-ui-ssl.tar

+ 1 - 1
x-ui/x-ui-ssl/README.md

@@ -50,7 +50,7 @@ docker-compose up -d
 > 启动后稍等一分钟, **ssl** 目录下将会生成证书文件.
 
 ### 自动更新证书
-由于系统将在 GMT 时间每月`1`日`0`点,也就是北京时间`1`日早`8`点重新强制更新证书,并覆盖至`ssl`目录下.则需要同时为`x-ui`服务设置一个定时重启计划任务:
+由于系统将在 GMT 时间每月`10`日`0`点,也就是北京时间每月`10`日早`8`点重新强制更新证书,并覆盖至`ssl`目录下.则需要同时为`x-ui`服务设置一个定时重启计划任务:
 ```shell
 crontab -e
 # 添加以下计划任务

+ 15 - 6
x-ui/x-ui-ssl/conf/acme.sh

@@ -10,18 +10,27 @@ RedBG="\033[41;37m"
 Font="\033[0m"
 # fonts color
 
-
 DOMAIN=$(cat /conf/account.conf | awk -F= '{if($1~"DOMAIN")print $2}')
 DNSAPI=$(cat /conf/account.conf | awk -F= '{if($1~"DNSAPI")print $2}')
 
 acme (){
-    cat /conf/account.conf > /acme.sh/account.conf
+    cat /conf/account.conf >/acme.sh/account.conf
     /root/.acme.sh/acme.sh --upgrade
     /root/.acme.sh/acme.sh --register-account -m [email protected] --server zerossl
     /root/.acme.sh/acme.sh --issue $* --dns ${DNSAPI} -d ${DOMAIN} -d \*.${DOMAIN}
-    cp /acme.sh/${DOMAIN}/fullchain.cer /ssl/${DOMAIN}.cer
-    cp /acme.sh/${DOMAIN}/${DOMAIN}.key /ssl/${DOMAIN}.key
-    mv /acme.sh/${DOMAIN} /acme.sh/${DOMAIN}-$(date +%Y)-$(date +%m)-$(date +%d)-${RANDOM}
+    rm -rf /acme.sh/ca
+    rm -rf /acme.sh/http.header
+    if [ -f /acme.sh/${DOMAIN}/fullchain.cer ] && [ -f /acme.sh/${DOMAIN}/${DOMAIN}.key ]; then
+        rm -rf /ssl/${DOMAIN}.cer
+        rm -rf /ssl/${DOMAIN}.key
+        cp /acme.sh/${DOMAIN}/fullchain.cer /ssl/${DOMAIN}.cer
+        cp /acme.sh/${DOMAIN}/${DOMAIN}.key /ssl/${DOMAIN}.key
+        mv /acme.sh/${DOMAIN} /acme.sh/${DOMAIN}-$(date +%Y)-$(date +%m)-$(date +%d)-${RANDOM}
+    else
+        echo "证书申请失败,已退出脚本,请重新尝试."
+        rm -rf /acme.sh/${DOMAIN}
+        exit 1
+    fi
 }
 
 if [ ! -n "${DOMAIN}" ] ; then
@@ -31,5 +40,5 @@ else
 fi
 
 cat >/var/spool/cron/crontabs/root<<EOF
-0 0 1 * * /conf/acme.sh >/dev/null 2>&1
+0 0 10 * * /conf/acme.sh >/dev/null 2>&1
 EOF

+ 1 - 1
x-ui/x-ui-ssl/conf/start.sh

@@ -14,7 +14,7 @@ DOMAIN=$(cat /conf/account.conf | awk -F= '{if($1~"DOMAIN")print $2}')
 DNSAPI=$(cat /conf/account.conf | awk -F= '{if($1~"DNSAPI")print $2}')
 
 cat >/var/spool/cron/crontabs/root<<EOF
-0 0 1 * * /conf/acme.sh >/dev/null 2>&1
+0 0 10 * * /conf/acme.sh >/dev/null 2>&1
 EOF
 
 if [ ! -f "/ssl/${DOMAIN}.cer" ] && [ -n "${DOMAIN}" ]; then

BIN
x-ui/x-ui-ssl/x-ui-ssl.tar