#acme #dns #tls #letsencrypt #async #dns-records #acme-dns

bin+lib acme-dns-rust

Rust 编写的 Acme DNS 实现

12 个稳定版本

1.1.6 2022 年 5 月 10 日
1.1.1 2021 年 10 月 13 日
1.1.0 2021 年 2 月 10 日
1.0.6 2020 年 10 月 13 日
1.0.5 2020 年 10 月 12 日

#1543命令行工具

每月 36 次下载

自定义许可

130KB
2.5K SLoC

Build codecov crates.io Cache Size

Acme DNS Rust

进行中!

这是基于 @joohoi 编写的出色的 Go 项目 Acme DNS 的一个实现。它旨在与原始实现具有 API 兼容性。

配置

默认情况下,期望在当前工作目录中有一个名为 config.toml 的配置文件。

示例配置

[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"

可以将不同的路径作为可执行文件的第一个参数传递。

./acme-dns-rust different_name.toml

记录配置

Acme DNS 支持提供静态 DNS 记录。

当前支持的记录包括

  • TXT
  • A
  • CNAME

CName 记录由默认操作系统 DNS 配置解析。由于明显的原因,CName 记录不支持多个值,与 TXT 和 A 记录不同。

依赖项

~35–51MB
~1M SLoC