Skip to content

ethauvin/namesilo-letsencrypt

Repository files navigation

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.php
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.