hoster.by DNS Authenticator plugin for Certbot
Project description
certbot-dns-hosterby
Third-party Certbot DNS authenticator plugin for hoster.by.
Status
This plugin has already been validated against the live hoster.by DNS API for the full TXT lifecycle used by ACME DNS-01:
- create TXT record
- update TXT record
- delete TXT record
certbot certonly --dry-runfor root + wildcard domains
Features
- resolves the correct hoster.by DNS order for the requested domain
- creates
_acme-challengeTXT records - appends TXT values when a record already exists
- removes only the matching TXT value during cleanup
- deletes the TXT record entirely when no values remain
- supports either a ready access token or long-lived access key + secret key
Confirmed hoster.by TXT format
The plugin uses the TXT format that was confirmed against the live API:
namemust be the full FQDN with a trailing dot, for example_acme-challenge.example.com.recordsmust be an array of objects- each TXT
contentvalue must include quotes inside the JSON string, for example"token-value" disabledmust befalsettl = 600is accepted
Credentials file
Create a credentials file, for example:
dns_hosterby_access_key = YOUR_ACCESS_KEY
dns_hosterby_secret_key = YOUR_SECRET_KEY
Or use a ready access token:
dns_hosterby_access_token = YOUR_ACCESS_TOKEN
Optional override:
dns_hosterby_api_url = https://serviceapi.hoster.by
Protect the file:
chmod 600 /etc/letsencrypt/hosterby.ini
Installation
Install from the repository root:
python3 -m pip install .
Or build and install a wheel:
python3 -m pip install --upgrade build
python3 -m build
python3 -m pip install dist/certbot_dns_hosterby-0.1.0-py3-none-any.whl
Check that Certbot sees the plugin
certbot plugins
You should see dns-hosterby in the plugin list.
Example usage
certbot certonly \
--authenticator dns-hosterby \
--dns-hosterby-credentials /etc/letsencrypt/hosterby.ini \
--dns-hosterby-propagation-seconds 30 \
--dry-run \
-d example.com \
-d '*.example.com'
Optional settings
--dns-hosterby-api-url https://serviceapi.hoster.by
--dns-hosterby-ttl 600
Development
Run tests:
python3 -m pip install -e .[test]
pytest
Build the package:
python3 -m pip install --upgrade build
python3 -m build
Project details
Release history Release notifications | RSS feed
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_hosterby-0.1.0.tar.gz.
File metadata
- Download URL: certbot_dns_hosterby-0.1.0.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fda5a0ce15dde81e0445ecb73e702e9a91d1862e32fa1461d61ad04b9ae4cb84
|
|
| MD5 |
dc6ea0e8b645d5755db583a857e8b903
|
|
| BLAKE2b-256 |
ebfde413ee7a8a80068f08a68e88115937b9c19c7567b17ebd7fc338ed60c940
|
Provenance
The following attestation bundles were made for certbot_dns_hosterby-0.1.0.tar.gz:
Publisher:
release.yml on butalex11/certbot-dns-hosterby
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
certbot_dns_hosterby-0.1.0.tar.gz -
Subject digest:
fda5a0ce15dde81e0445ecb73e702e9a91d1862e32fa1461d61ad04b9ae4cb84 - Sigstore transparency entry: 1293467879
- Sigstore integration time:
-
Permalink:
butalex11/certbot-dns-hosterby@bf043239d70f2d948e1ec842d2eb0055a99fe150 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/butalex11
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bf043239d70f2d948e1ec842d2eb0055a99fe150 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file certbot_dns_hosterby-0.1.0-py3-none-any.whl.
File metadata
- Download URL: certbot_dns_hosterby-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73345775bdbb1965c55875ab4e96c35398818994e740c2ce1e21ce740278cfaa
|
|
| MD5 |
c0e6bbc91ac05e1006d71a6a3038376e
|
|
| BLAKE2b-256 |
8ba31fbef565f0a29c5aa2aeab56d99849c0ee0c3a7783244a975ffe0d6ba411
|
Provenance
The following attestation bundles were made for certbot_dns_hosterby-0.1.0-py3-none-any.whl:
Publisher:
release.yml on butalex11/certbot-dns-hosterby
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
certbot_dns_hosterby-0.1.0-py3-none-any.whl -
Subject digest:
73345775bdbb1965c55875ab4e96c35398818994e740c2ce1e21ce740278cfaa - Sigstore transparency entry: 1293467882
- Sigstore integration time:
-
Permalink:
butalex11/certbot-dns-hosterby@bf043239d70f2d948e1ec842d2eb0055a99fe150 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/butalex11
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@bf043239d70f2d948e1ec842d2eb0055a99fe150 -
Trigger Event:
workflow_dispatch
-
Statement type: