#dns #doh #proxy #resolver #requests

bin+lib dns-over-https

轻量级 HTTPS-DNS 代理

1 个不稳定版本

0.2.0 2024年4月27日

#6#doh

MIT 许可证

21KB
332

HTTPS-DNS

用 Rust 编写的轻量级 HTTPS-DNS ("DOH") 代理。

HTTPS-DNS 是一个轻量级代理,可以安全地将任何请求转发到像 Cloudflare 这样的 HTTPS-DNS 解析器。

当前版本 0.2.0
支持的 Rust 版本 1.31

安装

发布页面下载您架构的最新二进制文件。

用法

Usage: dns-over-https.exe [OPTIONS]

Options:
  -b, --bind <IP:port>       Listen for DNS requests on the addresses and ports [default: 127.0.0.1:53]
  -u, --upstream-urls <URL>  URL(s) of upstream DNS-over-HTTPS service [default: https://1.1.1.1/dns-query]
  -v, --verbosity <level>    Verbosity level [default: info] [possible values: off, error, warn, info, debug, trace]
  -h, --help                 Print help
  -V, --version              Print version

在 Pi-Hole 上运行

要使用 HTTPS-DNS 加密 Pi-Hole 上的 DNS 请求,请下载并安装最新的发布版本

pi@raspberrypi:~ $ wget https://github.com/ssrlive/dns-over-https/releases/download/v0.2.0/dns-over-https-v0.2.0-arm-unknown-linux-gnueabihf.tar.gz
pi@raspberrypi:~ $ tar xzf dns-over-https-v0.2.0-arm-unknown-linux-gnueabihf.tar.gz
pi@raspberrypi:~ $ sudo mv dns-over-https /usr/local/bin/

您可以通过请求当前版本来确认 dns-over-https 是否正常运行

pi@raspberrypi:~ $ dns-over-https --version
dns-over-https 0.2.0

然后,您可以将 dns-over-https 配置为作为监听端口 5053 并将请求转发到 Cloudflare 的 HTTPS-DNS 解析器的系统服务。

首先,为 dns-over-https 创建一个系统用户

pi@raspberrypi:~ $ sudo adduser --system --no-create-home dns-over-https

然后编写 Systemd 单元文件

pi@raspberrypi:~ $ sudo tee /lib/systemd/system/dns-over-https.service <<EOF
[Unit]
Description=dns-over-https
After=syslog.target network-online.target

[Service]
Type=simple
User=dns-over-https
ExecStart=/usr/local/bin/dns-over-https -b 127.0.0.1:5053 -u https://1.1.1.1/dns-query -u https://1.0.0.1/dns-query
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target
EOF

现在您可以启动 dns-over-https 并检查它是否正在运行

pi@raspberrypi:~ $ sudo systemctl enable dns-over-https
pi@raspberrypi:~ $ sudo systemctl start dns-over-https
pi@raspberrypi:~ $ sudo systemctl status dns-over-https

最后,您可以将 Pi-Hole 的配置更改为使用 127.0.0.1#5053 作为其唯一的上游 DNS 服务器,并通过使用 Cloudflare 的连接信息页面 来确认您的请求现在已加密。

参考资料

许可证

版权所有 © 2024-2024 @ssrlive 版权所有 © 2018-2019 Paul Mucur

在 MIT 许可证下分发。

依赖关系

~9–21MB
~310K SLoC