https://github.com/ethauvin/namesilo-letsencrypt
Automatically generate/renew Let's Encrypt certificates with Certbot on NameSilo DNS
https://github.com/ethauvin/namesilo-letsencrypt
acme certbot certificate challenge cleanup dns dns-01 hook lets-encrypt letsencrypt letsencrypt-certificates letsencrypt-cli letsencrypt-utils namesilo script ssl validation wiildcard
Last synced: 5 months ago
JSON representation
Automatically generate/renew Let's Encrypt certificates with Certbot on NameSilo DNS
- Host: GitHub
- URL: https://github.com/ethauvin/namesilo-letsencrypt
- Owner: ethauvin
- License: bsd-3-clause
- Created: 2019-04-30T03:05:45.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-31T04:18:45.000Z (about 1 year ago)
- Last Synced: 2024-07-31T21:55:12.138Z (about 1 year ago)
- Topics: acme, certbot, certificate, challenge, cleanup, dns, dns-01, hook, lets-encrypt, letsencrypt, letsencrypt-certificates, letsencrypt-cli, letsencrypt-utils, namesilo, script, ssl, validation, wiildcard
- Language: Python
- Homepage:
- Size: 40 KB
- Stars: 45
- Watchers: 3
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# NameSilo Let's Encrypt
[](https://opensource.org/licenses/BSD-3-Clause)
[](https://www.python.org/)Python scripts (hook) to automate obtaining [Let's Encrypt](https://letsencrypt.org/) certificates,
using [Certbot](https://certbot.eff.org/) DNS-01 challenge validation for domains DNS hosted on
[NameSilo](https://www.namesilo.com/).## Setup
### Using Package Manager
- For users of Fedora & RHEL, you can install [this COPR package](https://copr.fedorainfracloud.org/coprs/cyqsimon/namesilo-letsencrypt/), packaged by [@cyqsimon](https://github.com/cyqsimon).
- Feel free to package this repo for other OSes; then please submit a PR to reference it here.### Manual Install
The scripts use the [tldextract](https://github.com/john-kurkowski/tldextract) and [untangle](https://untangle.readthedocs.io/en/latest/) libraries, if not already installed on your system:
```
pip install tldextract untangle
```Download the [latest release](https://github.com/ethauvin/namesilo-letsencrypt/releases) archive and expand it in the desired directory.
## Configuration
Add your [NameSilo API key](https://www.namesilo.com/account/api-manager)
to the top of the `config.py` file:```python
# 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.comPlease note that NameSilo DNS propagation takes up to **15 minutes**. The scripts will wait **25 minutes** before completing, just to be safe.