#dns #doh #dns-over-https

app homer

轻量级 DNS-over-HTTPS 代理

1 个不稳定版本

0.2.0 2019 年 1 月 3 日

#12 in #doh

MIT 许可证

12KB
182

Homer 构建状态

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

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

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

安装

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

用法

USAGE:
    homer [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --bind <bind>               listen for DNS requests on this address and port [default: 127.0.0.1:53]
    -u, --upstream <upstream>...    URL(s) of upstream DNS-over-HTTPS service [default: https://1.1.1.1/dns-query]

在 Pi-Hole 上运行

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

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

您可以通过请求当前版本来确认 Homer 是否正常工作

pi@raspberrypi:~ $ homer --version
Homer 0.2.0

然后,您可以配置 Homer 作为在端口 5053 上监听并将请求转发到 Cloudflare 的 DNS-over-HTTPS 解析器 的 Systemd 服务运行。

首先,为 Homer 创建一个系统用户

pi@raspberrypi:~ $ sudo adduser --system --no-create-home homer

然后编写 Systemd 单元文件

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

[Service]
Type=simple
User=homer
ExecStart=/usr/local/bin/homer -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

现在您可以启动 Homer 并检查它是否正在运行

pi@raspberrypi:~ $ sudo systemctl enable homer
pi@raspberrypi:~ $ sudo systemctl start homer
pi@raspberrypi:~ $ sudo systemctl status homer

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

参考资料

许可证

版权 © 2018-2019 Paul Mucur

在 MIT 许可证下分发。

依赖项

~25MB
~542K SLoC