12 stable releases
1.1.6 | May 10, 2022 |
---|---|
1.1.1 | Oct 13, 2021 |
1.1.0 | Feb 10, 2021 |
1.0.6 | Oct 13, 2020 |
1.0.5 | Oct 12, 2020 |
#1925 in Command line utilities
36 downloads per month
130KB
2.5K
SLoC
Acme DNS Rust
WIP!
This is an implementation based on the awesome Go Project Acme DNS written by @joohoi. It aims to be API compatible with the original implementation.
Configuration
By default a configuration file is expected in the working directory with the name config.toml .
Example config:
[general]
dns = "0.0.0.0:8053"
db = "postgresql://postgres:mysecretpassword@localhost/postgres"
acme = "https://acme-staging-v02.api.letsencrypt.org/directory"
name = "acme.example.com"
[records."acme.example.com"]
A = [100, "1.1.1.1", "2.2.2.2"]
TXT = [100, "First", "Record"]
[records."acme2.example.com"]
TXT = [100, "Hallo", "World"]
CNAME = [100, "lb.cloudflare.com"]
[api]
http = "0.0.0.0:8080"
# Adding a true after the addr activates proxy protocol for a listener
https = ["0.0.0.0:8081", true]
#Every listener is optional this line could be removed completely
prom = "0.0.0.0:8081"
It is possible to pass a diferent path as the first argument to the executable.
./acme-dns-rust different_name.toml
Records configuration
Acme DNS supports serving static DNS Records.
Currently supported records are:
- TXT
- A
- CNAME
CName records get resolved by the default OS DNS configuration. For obvious reasons CNAME records don't support multiple values, unlike TXT and A records.
Dependencies
~37–52MB
~1M SLoC