certbot-dns-lws
A Certbot DNS plugin for LWS (Ligne Web Services).
This plugin allows Certbot to complete DNS-01 ACME challenges using the official LWS DNS API, enabling automatic issuance and renewal of Let's Encrypt certificates, including wildcard certificates.
Features
- ✅ Automatic DNS-01 challenge
- ✅ Automatic certificate renewal
- ✅ Wildcard certificate support (
*.example.com) - ✅ Uses the official LWS DNS API
- ✅ Compatible with Certbot 2.x+
- ✅ Compatible with Nginx Proxy Manager (custom image or future native integration)
Requirements
- Python 3.10+
- Certbot 2.x or newer
- An LWS account
- An API key generated from the LWS customer area
- The public IP address of the server must be authorized in the LWS API settings
Installation
From source
git clone https://github.com/zergflag/certbot-dns-lws.git
cd certbot-dns-lws
python3 -m venv .venv
source .venv/bin/activate
pip install .
Credentials
Create a credentials file:
dns_lws_login = 123456
dns_lws_api_key = YOUR_API_KEY
Protect it:
chmod 600 lws.ini
Usage
Single domain
certbot certonly \
--authenticator dns-lws \
--dns-lws-credentials lws.ini \
-d example.com
Wildcard certificate
certbot certonly \
--authenticator dns-lws \
--dns-lws-credentials lws.ini \
-d example.com \
-d '*.example.com'
Custom propagation time
certbot certonly \
--authenticator dns-lws \
--dns-lws-credentials lws.ini \
--dns-lws-propagation-seconds 60 \
-d example.com
Configuration options
| Option | Description |
|---|---|
--dns-lws-credentials |
Credentials file |
--dns-lws-propagation-seconds |
Time to wait before validation |
Credentials file format:
dns_lws_login = 123456
dns_lws_api_key = YOUR_API_KEY
Renewal
Dry run:
certbot renew --dry-run
Automatic renewal is fully supported.
Nginx Proxy Manager
The plugin has been successfully tested with:
- Nginx Proxy Manager 2.15.x
- DNS Challenge
- Wildcard certificates
- Automatic renewals
Support for native integration into NPM is planned.
Tested
The plugin has been successfully tested with:
- Standard certificates
- Wildcard certificates
- DNS-01 validation
- Automatic TXT record cleanup
- Certbot renew (
--dry-run) - Nginx Proxy Manager
Development
Clone the repository:
git clone https://github.com/zergflag/certbot-dns-lws.git
Install in editable mode:
pip install -e .
Verify that the plugin is detected:
certbot plugins
Contributing
Pull requests, bug reports and feature requests are welcome.
License
MIT License.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file certbot_dns_lws-1.0.0.tar.gz.
File metadata
- Download URL: certbot_dns_lws-1.0.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eadb6e262e628de3f3236a008b24ab4b745b4fec37230d9dfd6fdb1feace09c7
|
|
| MD5 |
f232a0efad0295707c007c85cd1af003
|
|
| BLAKE2b-256 |
2a6d5b6a2ba4f7f0705dadcbf3eff0d5be764c1df50b1b546d038507a7fd375d
|
File details
Details for the file certbot_dns_lws-1.0.0-py3-none-any.whl.
File metadata
- Download URL: certbot_dns_lws-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bab075bc3a077fccf76352ffa8a855acc351dd60a744d0b8f912b783ed8c00c
|
|
| MD5 |
740c6ef632366ddf7ba831162fa996eb
|
|
| BLAKE2b-256 |
dd8ba7dcccd00b50918ed7773042fee3996a7092320d696a3a18b5b9b1b469e0
|