wolf-joe / Ts Dns
Licence: mit
Telescope DNS,简单易用的DNS分组/转发器
Stars: ✭ 205
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Ts Dns
Chinadns Ng
chinadns next generation, refactoring with epoll and ipset
Stars: ✭ 407 (+98.54%)
Mutual labels: dns, gfwlist
openwrt-dnsmasq-extra
Anti Pollution/ADs DNS for OpenWrt/LEDE
Stars: ✭ 34 (-83.41%)
Mutual labels: dns, gfwlist
Bind9
Mirror of https://gitlab.isc.org/isc-projects/bind9, please submit issues and PR/MRs in the GitLab.
Stars: ✭ 197 (-3.9%)
Mutual labels: dns
Dnsautorebinding
ssrf、ssrfIntranetFuzz、dnsRebinding、recordEncode、dnsPoisoning、Support ipv4/ipv6
Stars: ✭ 188 (-8.29%)
Mutual labels: dns
Laitos
Top geek's chindogu - personal assistant over satellite/telephone/SMS/chatbot, plus web infrastructure servers (web & mail, ad-free DNS, web proxy, SNMP, etc)
Stars: ✭ 191 (-6.83%)
Mutual labels: dns
Swan
Swan stands for Stuff We All Need. Unosquare's collection of C# extension methods and classes.
Stars: ✭ 202 (-1.46%)
Mutual labels: dns
Alfred Network Workflow
Show and change your network settings
Stars: ✭ 186 (-9.27%)
Mutual labels: dns
Nsd
The NLnet Labs Name Server Daemon (NSD) is an authoritative, RFC compliant DNS nameserver.
Stars: ✭ 197 (-3.9%)
Mutual labels: dns
Dnsblast
A simple and stupid load testing tool for DNS resolvers
Stars: ✭ 185 (-9.76%)
Mutual labels: dns
Rethink App
DNS over HTTPS / DNS over Tor / DNSCrypt client, firewall, and connection tracker for Android.
Stars: ✭ 188 (-8.29%)
Mutual labels: dns
Knot Resolver
Knot Resolver - resolve DNS names like it's 2021
Stars: ✭ 200 (-2.44%)
Mutual labels: dns
Browsertunnel
Surreptitiously exfiltrate data from the browser over DNS
Stars: ✭ 177 (-13.66%)
Mutual labels: dns
Flamethrower
a DNS performance and functional testing utility supporting UDP, TCP, DoT and DoH (by @NS1)
Stars: ✭ 189 (-7.8%)
Mutual labels: dns
Telescope DNS
简单易用的DNS分组/转发器
基本特性
- 默认基于
CN IP列表
+GFWList
进行域名分组; - 支持DNS over UDP/TCP/TLS/HTTPS、非标准端口DNS;
- 支持选择ping值最低的IPv4地址(tcp/icmp ping);
- 支持并发请求/socks5代理请求上游DNS,支持附带指定ECS信息;
- 支持多Hosts文件 + 自定义Hosts、通配符Hosts;
- 支持配置文件自动重载,支持监听TCP/UDP端口;
- 支持DNS查询缓存(IP乱序、TTL倒计时、ECS);
- 支持屏蔽指定查询类型;
- 支持将查询结果中的IPv4地址添加至IPSet。
DNS查询请求处理流程
- 当域名匹配指定规则(配置文件里各组的
rules
)时,将请求转发至对应组上游DNS并直接返回; - 如未匹配规则,则假设域名为
clean
组,向clean
组的上游DNS转发查询请求,并做如下判断:- 如果查询结果中所有IPv4地址均为
CN IP
,则直接返回; - 如果查询结果中出现非
CN IP
,进一步判断:- 如果该域名匹配GFWList列表,则向
dirty
组的上游DNS转发查询请求并返回; - 否则返回查询结果。
- 如果该域名匹配GFWList列表,则向
- 如果查询结果中所有IPv4地址均为
使用说明
- 在Releases页面下载对应系统和平台的压缩包;
- 解压后按需求编辑配置文件
ts-dns.toml
(可选)并运行进程:
# ./ts-dns -h # 显示命令行帮助信息
# ./ts-dns -c ts-dns.toml # 指定配置文件名
# ./ts-dns -r # 自动重载配置文件
./ts-dns
配置示例
完整配置文件参见
ts-dns.full.toml
- 默认配置(
ts-dns.toml
),开箱即用
listen = ":53"
gfwlist = "gfwlist.txt"
cnip = "cnip.txt"
[groups]
[groups.clean]
dns = ["223.5.5.5", "114.114.114.114"]
concurrent = true
[groups.dirty]
dns = [""] # 省略
- 选择ping值最低的IPv4地址(启用时建议以root权限运行本程序)
# ...
[groups.clean]
dns = ["223.5.5.5", "114.114.114.114"]
fastest_v4 = true
# ...
- 指定hosts文件和自定义hosts
# ...
hosts_files = ["adaway.txt"]
[hosts]
"www.example.com" = "1.1.1.1"
# ...
- 使用socks5代理转发DNS请求
# ...
[groups.dirty]
socks5 = "127.0.0.1:1080"
# ...
- 转发至上游DNS时默认附带指定ECS信息(暂不支持DOH)
# ...
[groups.clean]
ecs = "1.2.4.0/24"
# ...
- 自定义域名分组
# ...
[groups.work]
dns = ["10.1.1.1"]
rules = ["company.com"]
# ...
- 动态添加IPSet记录(使用前请阅读
ts-dns.full.toml
对应说明)
# ...
[groups.dirty]
ipset = "blocked"
ipset_ttl = 86400
# ...
TODO
- 设置fallback DNS
特别鸣谢
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].