|
20 | 20 | import requests
|
21 | 21 | import subprocess
|
22 | 22 | from datetime import datetime
|
| 23 | +from urllib3.exceptions import InsecureRequestWarning |
| 24 | +requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning) |
23 | 25 |
|
24 |
| -PRIVATEKEY_PATH = "/root/.acme.sh/your_fqdn/your_fqdn.key" |
25 |
| -FULLCHAIN_PATH = "/root/.acme.sh/your_fqdn/fullchain.cer" |
26 |
| -USER = "root" |
27 |
| -PASSWORD = "ReallySecurePassword" |
28 | 26 | DOMAIN_NAME = "your_fqdn"
|
| 27 | +PASSWORD = "ReallySecurePassword" |
| 28 | + |
| 29 | +USER = "root" |
| 30 | +PRIVATEKEY_PATH = "/root/.acme.sh/" + DOMAIN_NAME + "/" + DOMAIN_NAME + ".key" |
| 31 | +FULLCHAIN_PATH = "/root/.acme.sh/" + DOMAIN_NAME + "/fullchain.cer" |
29 | 32 | PROTOCOL = 'http://'
|
| 33 | +PORT = '80' |
30 | 34 | now = datetime.now()
|
31 |
| -cert = "letsencrypt-%s-%s-%s" %(now.year, now.strftime('%m'), now.strftime('%d')) |
| 35 | +cert = "letsencrypt-%s-%s-%s-%s" %(now.year, now.strftime('%m'), now.strftime('%d'), ''.join(c for c in now.strftime('%X') if |
| 36 | +c.isdigit())) |
32 | 37 |
|
33 | 38 | # Load cert/key
|
34 | 39 | with open(PRIVATEKEY_PATH, 'r') as file:
|
|
38 | 43 |
|
39 | 44 | # Update or create certificate
|
40 | 45 | r = requests.post(
|
41 |
| - PROTOCOL + DOMAIN_NAME + '/api/v1.0/system/certificate/import/', |
| 46 | + PROTOCOL + 'localhost:' + PORT + '/api/v1.0/system/certificate/import/', |
| 47 | + verify=False, |
42 | 48 | auth=(USER, PASSWORD),
|
43 | 49 | headers={'Content-Type': 'application/json'},
|
44 | 50 | data=json.dumps({
|
|
58 | 64 | # Download certificate list
|
59 | 65 | limit = {'limit': 0} # set limit to 0 to disable paging in the event of many certificates
|
60 | 66 | r = requests.get(
|
61 |
| - PROTOCOL + DOMAIN_NAME + '/api/v1.0/system/certificate/', |
| 67 | + PROTOCOL + 'localhost:' + PORT + '/api/v1.0/system/certificate/', |
| 68 | + verify=False, |
62 | 69 | params=limit,
|
63 | 70 | auth=(USER, PASSWORD))
|
64 | 71 |
|
|
80 | 87 |
|
81 | 88 | # Set our cert as active
|
82 | 89 | r = requests.put(
|
83 |
| - PROTOCOL + DOMAIN_NAME + '/api/v1.0/system/settings/', |
| 90 | + PROTOCOL + 'localhost:' + PORT + '/api/v1.0/system/settings/', |
| 91 | + verify=False, |
84 | 92 | auth=(USER, PASSWORD),
|
85 | 93 | headers={'Content-Type': 'application/json'},
|
86 | 94 | data=json.dumps({
|
|
98 | 106 | # Reload nginx with new cert
|
99 | 107 | try:
|
100 | 108 | r = requests.post(
|
101 |
| - PROTOCOL + DOMAIN_NAME + '/api/v1.0/system/settings/restart-httpd-all/', |
| 109 | + PROTOCOL + 'localhost:' + PORT + '/api/v1.0/system/settings/restart-httpd-all/', |
| 110 | + verify=False, |
102 | 111 | auth=(USER, PASSWORD),
|
103 | 112 | )
|
104 | 113 | except requests.exceptions.ConnectionError:
|
|
0 commit comments