From c1d3e09c67b3feaca352454d805082b7b4455dab Mon Sep 17 00:00:00 2001 From: midoks Date: Thu, 17 Nov 2022 11:23:57 +0800 Subject: [PATCH] up --- README.md | 2 +- class/core/mw.py | 16 ++++++++++++++++ class/core/site_api.py | 19 +++++++++++++++---- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e76fcd14e..0fd982d0e 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ curl -fsSL https://cdn.jsdelivr.net/gh/midoks/mdserver-web@latest/scripts/update - 卸载脚本 ``` -curl -fsSL https://cdn.jsdelivr.net/gh/midoks/mdserver-web@latest/scripts/uninstall.sh | bash +wget -O uninstall.sh https://cdn.jsdelivr.net/gh/midoks/mdserver-web@latest/scripts/uninstall.sh && bash uninstall.sh ``` ### 备用地址 diff --git a/class/core/mw.py b/class/core/mw.py index a1b4db543..04120aba1 100755 --- a/class/core/mw.py +++ b/class/core/mw.py @@ -524,6 +524,22 @@ def dePunycode(domain): return newdomain[0:-1] +def buildSoftLink(src, dst, force=False): + ''' + 建立软连接 + ''' + if not os.path.exists(src): + return False + + if os.path.exists(dst) and force: + os.remove(dst) + + if not os.path.exists(dst): + execShell('ln -sf "' + src_csrpath + '" "' + dst_csrpath + '"') + return True + return False + + def HttpGet(url, timeout=10): """ 发送GET请求 diff --git a/class/core/site_api.py b/class/core/site_api.py index 02c96d207..19b605e7b 100755 --- a/class/core/site_api.py +++ b/class/core/site_api.py @@ -664,17 +664,28 @@ class site_api: path = self.sslDir + '/' + site_name csr_path = path + '/fullchain.pem' # 生成证书路径 + key_path = path + '/privkey.pem' # 生成证书路径 if ssl_type == 'lets': ssl_lets_dir = self.sslLetsDir + '/' + site_name - csr_lets_path = ssl_lets_dir + '/fullchain.pem' # 生成证书路径 - if mw.md5(mw.readFile(csr_lets_path)) == mw.md5(mw.readFile(csr_path)): + lets_csrpath = ssl_lets_dir + '/fullchain.pem' + lets_keypath = ssl_lets_dir + '/privkey.pem' + if mw.md5(mw.readFile(lets_csrpath)) == mw.md5(mw.readFile(csr_path)): return mw.returnJson(False, '已部署Lets') + else: + mw.buildSoftLink(lets_csrpath, csr_path, True) + mw.buildSoftLink(lets_keypath, key_path, True) + mw.execShell('echo "lets" > "' + path + '/README"') elif ssl_type == 'acme': ssl_acme_dir = mw.getAcmeDir() + '/' + site_name - csr_acme_path = ssl_acme_dir + '/fullchain.cer' # 生成证书路径 - if mw.md5(mw.readFile(csr_acme_path)) == mw.md5(mw.readFile(csr_path)): + acme_csrpath = ssl_acme_dir + '/fullchain.cer' + acme_keypath = ssl_acme_dir + '/' + site_name + '.key' + if mw.md5(mw.readFile(acme_csrpath)) == mw.md5(mw.readFile(csr_path)): return mw.returnJson(False, '已部署ACME') + else: + mw.buildSoftLink(acme_csrpath, csr_path, True) + mw.buildSoftLink(acme_keypath, key_path, True) + mw.execShell('echo "lets" > "' + path + '/README"') result = self.setSslConf(siteName) if not result['status']: