#dns-server #dns #server #domain-name #host #record #dns-records

app single-use-dns

简单的临时 DNS 服务器,用于托管单个域名的记录

1 个不稳定版本

0.1.0 2020年3月19日

#domain-name 中排名第 49

BSD-2-Clause 协议

11KB
105 行(不包括注释)

single-use-dns

简单的临时 DNS 服务器,用于托管单个域名的记录。

适用于临时托管 DNS 记录,例如 ACME DNS-01 挑战。

示例

$ single-use-dns --domain _acme-challenge.example.com --txt O_FFiiKTKtSYllnIKhXteCYji_d2vDk_FFiiKTKtSYl
Listening on [::]:53 (UDP and TCP)
Serving 1 record(s) for _acme-challenge.example.com

acme.sh 一起使用

要使用此工具与 acme.sh 一起使用,请将以下脚本添加到 ~/.acme.sh/dns_single_use.sh

#!/usr/bin/env sh

dns_single_use_add() {
        single-use-dns --domain "$1" --txt "$2" &
}

dns_single_use_rm() {
        killall single-use-dns
}

确保您打算使用此工具的域名具有指向您运行的此服务器的 NS 记录,用于 _acme-challenge 子域名。

然后您应该可以使用带有 --dns dns_single_use 选项的 acme.sh 运行。

$ acme.sh --issue --dns dns_single_use --dnssleep 0 -d '*.example.com'

如果您希望它监听特定的 IP 地址而不是通配符地址,则可以将 --listen 选项添加到 single-use-dns 命令: --listen [fdff:1234:1234:1234::2]:53

在 Linux 上无需 root 权限

要允许此工具在 Linux 上处理 DNS 端口(UDP 和 TCP 端口 53)上的流量而无需以 root 身份运行,您可以为它提供 CAP_NET_BIND_SERVICE 权限。

sudo setcap CAP_NET_BIND_SERVICE=+ep ./single-use-dns

确保只有应允许运行它的用户账户可以执行它。

依赖关系

~15–25MB
~357K SLoC