2020 年的时候 OP 为了跳槽学了 go ,然后写了一个用于防止 dns 污染的小工具:ts-dns
,还在 V2EX 上发了帖子:用 Go 写了一个老少皆宜的 DNS 分流 /转发器:TS-DNS - V2EX
虽然后续迭代了一些版本、而且 OP 在使用时也发现有可改进的地方,但困于初版糟糕的代码结构,项目在 OP 跳槽到新公司后不久就停滞了。最近偶然发现有人在催更新功能,于是索性花时间整体重构了一遍,并发布了 v1.0.0 版,主要是移除了初版所谓的 [半智能污染检测] 、增加了解析重定向功能。
ts-dns 的定位是灵活快速的 DNS 分组转发器:
整体架构也是比较简单的:
查找 hosts -> 查找缓存 -> 匹配规则 -> 指定 group 处理 -> 重定向 -> 设置缓存
配置文件示例:
listen = ":53"
[groups]
[groups.clean]
dns = ["223.5.5.5", "114.114.114.114"]
concurrent = true
[groups.dirty]
dns = ["208.67.222.222:5353", "176.103.130.130:5353"]
gfwlist_file = "gfwlist.txt"
1
nebkad 2022-12-07 22:18:09 +08:00
我来说一个不合时宜的话,当时等 OP 更新等到我绝望我甚至捏着鼻子学了一下 golang.
现在已经转投用 rust 写的了 XD |
3
CharlesGray 2022-12-07 22:47:01 +08:00
@nebkad 来个地址?
|
4
nebkad 2022-12-07 23:21:10 +08:00
|
5
nebkad 2022-12-07 23:32:34 +08:00
|