Automatically generate/renew Let's Encrypt certificates with Certbot on NameSilo DNS https://github.com/ethauvin/namesilo-letsencrypt
Find a file
2019-04-29 23:20:39 -07:00
.idea Added badges. 2019-04-29 20:54:20 -07:00
.editorconfig Initial commit. 2019-04-29 20:14:29 -07:00
.gitattributes Initial commit. 2019-04-29 20:14:29 -07:00
.gitignore Initial commit. 2019-04-29 20:14:29 -07:00
authenticator.py Initial commit. 2019-04-29 20:14:29 -07:00
cleanup.py Initial commit. 2019-04-29 20:14:29 -07:00
config.py Initial commit. 2019-04-29 20:14:29 -07:00
LICENSE.txt Reverted the license back to text. 2019-04-29 23:20:39 -07:00
README.md Fixed typo. 2019-04-29 21:08:31 -07:00

NameSilo Let's Encrypt

License (3-Clause BSD) Python 3.7

Python scripts (hook) to automate obtaining Let's Encrypt certificates, using Certbot DNS-01 challenge validation for domains DNS hosted on NameSilo.

Setup

The scripts use the untangle library, if not already installed on your system:

pip install untangle

Configuration

Add your NameSilo API key to the top of the config.py file:

# Get your API Key from: https://www.namesilo.com/account_api.php
apikey = "YOUR_API_KEY"

Alternatively, the API key can be set in the NAMESILO_API environment variable.

Using with Certbot

To issue a new certificate using the hook scripts, try something like:

certbot certonly --manual --email you@example.com \
--agree-tos --manual-public-ip-logging-ok \
--preferred-challenges=dns \
--manual-auth-hook /path/to/authenticator.py \
--manual-cleanup-hook /path/to/cleanup.py \
-d *.example.com -d example.com

Or to renew an existing certificate:

certbot renew --manual --email you@example.com \
--agree-tos --manual-public-ip-logging-ok \
--preferred-challenges=dns \
--manual-auth-hook /path/to/authenticator.py \
--manual-cleanup-hook /path/to/cleanup.py \
-d *.example.com -d example.com

Please note that NameSilo DNS propagation takes up to 15 minutes, so the scripts will wait 16 minutes before completing.