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.
Metadata
Release files for certbot-dns-lws 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| certbot_dns_lws-1.0.0.tar.gz | 6.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| certbot_dns_lws-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / certbot_dns_lws-1.0.0.tar.gz
| Download URL | certbot_dns_lws-1.0.0.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eadb6e262e628de3f3236a008b24ab4b745b4fec37230d9dfd6fdb1feace09c7
|
|
BLAKE2b-256 checksum How to use checksums |
2a6d5b6a2ba4f7f0705dadcbf3eff0d5be764c1df50b1b546d038507a7fd375d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / certbot_dns_lws-1.0.0-py3-none-any.whl
| Download URL | certbot_dns_lws-1.0.0-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7bab075bc3a077fccf76352ffa8a855acc351dd60a744d0b8f912b783ed8c00c
|
|
BLAKE2b-256 checksum How to use checksums |
dd8ba7dcccd00b50918ed7773042fee3996a7092320d696a3a18b5b9b1b469e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|