Wedos DNS Authenticator plugin for Certbot
Project description
CertBot DNS plugin
This plugin uses certbot's dns-01 challenge to create and delete TXT records on a Wedos domain server, thanks to the API interface called WAPI provided by Wedos. With this plugin you can make wildcard ssl.
Installation
Prerequirements
For the functionality of this plugin, you will need to install these programs/softwares.
| Name | Install | Version |
|---|---|---|
| python | Link | >= 3.9.0 |
| pip | Link | >= 24.1 |
| certbot | Link | >= 3.0.0 |
Note that in theory, even an older version should work, but it has not been tested.
WAPI
You will also need to have WAPI activated for communication between Wedos and the plugin. To activate WAPI, you can read the article from Wedos, available at this link WAPI activation and settings.
CAUTION: Please note that the IP address of the server where Certbot with the plugin will be located must be allowed on WAPI, otherwise it will not work.
The Install
With snap (recommend)
snap install certbot-dns-wedos
sudo snap set certbot trust-plugin-with-root=ok
sudo snap connect certbot:plugin certbot-dns-wedos
With pip
sudo pip install certbot-dns-wedos
From source
git clone https://github.com/clazzor/certbot-dns-wedos.git
sudo pip install ./certbot-dns-wedos
After installation, the created folders may be deleted.
rm -r certbot-dns-wedos
Setup
Arguments
| Name | Required | Description |
|---|---|---|
| --dns-wedos-propagation-seconds | ❌ | Seconds to wait for DNS propagation before verifying DNS record with ACME server. |
| --dns-wedos-credentials | ✅ | The complete path to the INI file for credentials containing data for authorization. |
The default value of
propagation-secondsis 450, if there is a problem with validation, increase the number. The lower limit is 300.
Command example
The basic structure of the command is the same as with all other cerbot plugins, we define which plugin to use, propagation-seconds, credentials file and domains, like this:
certbot certonly \
--authenticator dns-wedos \
--dns-wedos-propagation-seconds 450 \
--dns-wedos-credentials /path/to/the/file.ini \
-d example.com -d *.example.com
Credentials file
| Name | Required | Description |
|---|---|---|
| dns_wedos_user | ✅ | The user (email) for WAPI. |
| dns_wedos_auth | ✅ | The auth (password) for WAPI. |
This is what the credentials file for wedos plugin should look like.
dns_wedos_user=user@example.com
dns_wedos_auth=examplepassword
- Values are written after an equal sign
=. For values with spaces, such ashello world, a space can be used. - For the ini file you should apply permission:
chmod 600 file.inifor security reason.
Reloading certificates on services
Usually services like haproxy, nginx, apache and more need to restart to retrieve a new certificate.
For this is used the deploy hook.
Errors
If an error occurs, Certbot will display the type of error that has occurred.
- If you get this error "Certbot failed to authenticate some domains (authenticator: dns-wedos)", increase the number in the
--dns-wedos-propagation-secondsargument. - If you encounter an HTTP error related to communication with WAPI, you will receive an HTTP error.
- If it is an error related to communication between the plugin and WAPI, you will receive a return code. Wedos has a list of error codes on their website, which you can access through this link WAPI list of return codes.
Used Modules/Libraries
I just want to mention which modules/libraries this plugin uses for better debugging of errors in the future, in case any occur.
| Name | License |
|---|---|
| certbot | Apache 2.0 |
| datetime | PSF |
| hashlib | PSF |
| json | PSF |
| logging | PSF |
| pytz | MIT |
| re | PSF |
| requests | Apache 2.0 |
| setuptools | MIT |
| typing | PSF |
Project details
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_wedos-2.4.tar.gz.
File metadata
- Download URL: certbot_dns_wedos-2.4.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a57b786804bc153c5df471a0b262db77ada6391acf5e920d03b61bc7c6f0781
|
|
| MD5 |
4bb27f5fae76cb19a0498c1fb8e21b6f
|
|
| BLAKE2b-256 |
b631991307aed1aee78076116dc31586a17b82f10fb08ea61d039ca460ac3955
|
Provenance
The following attestation bundles were made for certbot_dns_wedos-2.4.tar.gz:
Publisher:
publish.yml on clazzor/certbot-dns-wedos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
certbot_dns_wedos-2.4.tar.gz -
Subject digest:
4a57b786804bc153c5df471a0b262db77ada6391acf5e920d03b61bc7c6f0781 - Sigstore transparency entry: 165577970
- Sigstore integration time:
-
Permalink:
clazzor/certbot-dns-wedos@1d2c9baa15866ffbe8fe74b9880e7b052b7dfa7c -
Branch / Tag:
refs/tags/v2.4 - Owner: https://github.com/clazzor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1d2c9baa15866ffbe8fe74b9880e7b052b7dfa7c -
Trigger Event:
release
-
Statement type:
File details
Details for the file certbot_dns_wedos-2.4-py3-none-any.whl.
File metadata
- Download URL: certbot_dns_wedos-2.4-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7803363590e3d8b29d3fd77084287bab9ff0bf674652a424e5c39f48b4cdcf5
|
|
| MD5 |
03cc2078798b389d393e56d8db26f9ef
|
|
| BLAKE2b-256 |
bf896d7be3d8d5cca4e89b92b9c4b3a3b3cbb7968313673dba65c36e5c49cf73
|
Provenance
The following attestation bundles were made for certbot_dns_wedos-2.4-py3-none-any.whl:
Publisher:
publish.yml on clazzor/certbot-dns-wedos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
certbot_dns_wedos-2.4-py3-none-any.whl -
Subject digest:
d7803363590e3d8b29d3fd77084287bab9ff0bf674652a424e5c39f48b4cdcf5 - Sigstore transparency entry: 165577971
- Sigstore integration time:
-
Permalink:
clazzor/certbot-dns-wedos@1d2c9baa15866ffbe8fe74b9880e7b052b7dfa7c -
Branch / Tag:
refs/tags/v2.4 - Owner: https://github.com/clazzor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1d2c9baa15866ffbe8fe74b9880e7b052b7dfa7c -
Trigger Event:
release
-
Statement type: