aboutsummaryrefslogtreecommitdiff
path: root/tool/aio.py
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-11-27 13:17:25 +0800
committercrupest <crupest@outlook.com>2022-11-27 13:17:25 +0800
commitc8b8633f0cc4c327ead96efb8a4e72a18aa50619 (patch)
tree55b9a3f4653d7ba685b8e0165bdc3504bdf1b401 /tool/aio.py
parent39b8d121b4867c667194369f17946be8ebb06e8b (diff)
downloadcrupest-c8b8633f0cc4c327ead96efb8a4e72a18aa50619.tar.gz
crupest-c8b8633f0cc4c327ead96efb8a4e72a18aa50619.tar.bz2
crupest-c8b8633f0cc4c327ead96efb8a4e72a18aa50619.zip
Add certbot check.
Diffstat (limited to 'tool/aio.py')
-rwxr-xr-xtool/aio.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/tool/aio.py b/tool/aio.py
index 9d14e5f..ec22537 100755
--- a/tool/aio.py
+++ b/tool/aio.py
@@ -517,8 +517,24 @@ if os.path.isdir(data_dir):
to_check = Confirm.ask(
"I want to check your ssl certs, but I need to sudo. Do you want me check", console=console, default=False)
if to_check:
- get_cert_path(check_domain_is_defined())
- # TODO: Do the check!
+ domain = check_domain_is_defined()
+ cert_path = get_cert_path(domain)
+ tmp_cert_path = os.path.join(tmp_dir, "fullchain.pem")
+ console.print("Temporarily copy cert to tmp...", style="yellow")
+ ensure_tmp_dir()
+ subprocess.run(
+ ["sudo", "cp", cert_path, tmp_cert_path], check=True)
+ subprocess.run(["sudo", "chown", os.geteuid(),
+ tmp_cert_path], check=True)
+ cert_domains = set(get_cert_domains(tmp_cert_path, domain))
+ domains = set(list_domains())
+ if not cert_domains == domains:
+ console.print(
+ "Cert domains are not equal to host domains. Run following command to recreate it.", style="red")
+ console.print(certbot_command_gen(
+ domain, "create", standalone=True), soft_wrap=False, highlight=False)
+ console.print("Remove tmp cert...", style="yellow")
+ os.remove(tmp_cert_path)
if not os.path.exists(os.path.join(data_dir, "code-server")):
os.mkdir(os.path.join(data_dir, "code-server"))