What is this?
certbot-dns-1bytedns is a Python plugin for certbot. It obtains TLS certificates using the DNS-01 challenge for zones hosted on 1bytedns.ru: the plugin creates and removes the TXT record _acme-challenge.{domain} through the existing Client API — no new endpoints, no direct database access.
How it works
1. certbot requests an authorization from the CA. 2. The plugin finds your zone (exact name, then parent domains) and checks that it is active (NS verification passed) and enabled. 3. It creates the TXT record with the validation key (idempotently). 4. After the CA verifies the record in public DNS, the certificate is issued and the plugin removes the TXT record.
Requirements
- Python 3.9+
- certbot 2.0+ (tested on 5.x)
- A zone on 1bytedns with status active (NS verification passed) and enabled
- An API token with zones:read, records:read, records:edit permissions (create it in the web interface → API Tokens)
Installation
1. Download the archive (button above) and unpack it:
unzip certbot-dns-1bytedns-*.zip
2. Install the wheel:
pip install certbot_dns_1bytedns-*.whl
3. Verify that certbot sees the plugin:
certbot plugins
# * dns-1bytedns
Usage
Create a credentials file with your API token:
# /etc/1bytedns/certbot.ini
dns_1bytedns_api_token = abc123def456...
Restrict permissions on the file (certbot warns otherwise):
install -m 600 /etc/1bytedns/certbot.ini
Issue a certificate:
certbot certonly --authenticator dns-1bytedns \
--dns-1bytedns-credentials /etc/1bytedns/certbot.ini \
-d example.com
Wildcard certificate:
certbot certonly --authenticator dns-1bytedns \
--dns-1bytedns-credentials /etc/1bytedns/certbot.ini \
-d '*.example.com'