/namesilo-letsencrypt

Automatically generate/renew Let's Encrypt certificates with Certbot on NameSilo DNS

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

NameSilo Let's Encrypt

License (3-Clause BSD) Python 3.4

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 tldextract and untangle libraries, if not already installed on your system:

pip install tldextract untangle

Download the latest release archive and expand it in the desired directory.

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-manager
apikey = "YOUR_API_KEY"

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

Using with Certbot

To issue or renew a 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

Please note that NameSilo DNS propagation takes up to 15 minutes. The scripts will wait 25 minutes before completing, just to be safe.