ts-dns v1.0.0 发布了!

2022-12-07 21:42:12 +08:00
 marquina

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"

下载地址: https://github.com/wolf-joe/ts-dns/releases/latest

1639 次点击
所在节点    分享创造
6 条回复
nebkad
2022-12-07 22:18:09 +08:00
我来说一个不合时宜的话,当时等 OP 更新等到我绝望我甚至捏着鼻子学了一下 golang.
现在已经转投用 rust 写的了 XD
marquina
2022-12-07 22:28:18 +08:00
@nebkad 太真实了……我填坑的时候也挺愧疚的。
现在用的是哪个服务呢?感觉咋样?
CharlesGray
2022-12-07 22:47:01 +08:00
@nebkad 来个地址?
nebkad
2022-12-07 23:21:10 +08:00
@marquina @CharlesGray
/t/726539
虽然帖子发布得挺早但我是很久之后才知道
nebkad
2022-12-07 23:32:34 +08:00
@marquina
我又要说不合时宜的话了,那位的作品用起来真的挺稳定的,修过一次 bug 之后从来没有问题。
至少对我来说是够用了。如果还不够用,还可以自己写脚本决定怎么转发 dns 请求。
marquina
2022-12-08 08:02:49 +08:00
@nebkad #5 dns 服务器是一个百花齐放的 topic ,你能找到适合自己的工具我很开心。
dcompass 的自定义脚本确实有点惊到我了,有点在配置文件里写代码的感觉😂在编译型语言里做到这一点我觉得很不容易
anyway ,感谢分享

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/900896

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX