DNSAgent 是一个在 Windows 上对 DNS 请求进行过滤的装置,你可以用它完成以下事情:

* 给指定域名返回固定地址(类似 hosts,但支持正则表达式)
* 给不同域名使用不同的 DNS 服务器
* 使用任意自定义端口收发请求
* 获取不受污染的解析结果

譬如我想把中国的域名全部用当地速度更快的服务器来解析,对海外的域名用 8.8.8.8 解析并开启绕过污染的功能,可以这样配置:
前往 https://github.com/felixonmars/dnsmasq-china-list 获取一份国内域名的列表
利用 https://stackia.github.io/masq2agent/ 这个工具将它转换为 DNSAgent 可以用的格式,加入 rules.cfg
然后在 options.cfg 里设置:
“NameServer”: “8.8.8.8″,
“CompressionMutation” true
(CompressionMutation 表示是否对该 DNS 服务器启用绕过污染的功能)

目前有两种工作模式:

* 直接运行。可以最小化到任务栏托盘。如需开机自动启动,需要自己把这个程序加入启动项。
* 作为 Windows 服务运行。运行 Install.bat 可以安装并启动服务。服务会在开机后自动启动。使用 Uninstall.bat 可以卸载。这种模式下如果需要重新载入配置,需要重启服务。

v1.2 更新内容:

* 支持最小化到任务栏托盘
* 更好的处理超时,解析更加稳定
* 重写转发逻辑,效率提升

项目地址: https://github.com/stackia/DNSAgent
下载 : https://github.com/stackia/DNSAgent/releases
注意需要 .NET Framework 4.5

此外,如果你是 Linux / Mac OS X 用户,或者有其他更复杂的需求,推荐你看看这个项目:
https://github.com/chengr28/Pcap_DNSProxy

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