Skip to main content

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

certbot_dns_lws-1.0.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certbot_dns_lws-1.0.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

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

Hashes for certbot_dns_lws-1.0.0.tar.gz
Algorithm Hash digest
SHA256 eadb6e262e628de3f3236a008b24ab4b745b4fec37230d9dfd6fdb1feace09c7
MD5 f232a0efad0295707c007c85cd1af003
BLAKE2b-256 2a6d5b6a2ba4f7f0705dadcbf3eff0d5be764c1df50b1b546d038507a7fd375d

See more details on using hashes here.

File details

Details for the file certbot_dns_lws-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for certbot_dns_lws-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7bab075bc3a077fccf76352ffa8a855acc351dd60a744d0b8f912b783ed8c00c
MD5 740c6ef632366ddf7ba831162fa996eb
BLAKE2b-256 dd8ba7dcccd00b50918ed7773042fee3996a7092320d696a3a18b5b9b1b469e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page