[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6256":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":42,"readmeContent":43,"aiSummary":44,"trendingCount":16,"starSnapshotCount":16,"syncStatus":45,"lastSyncTime":46,"discoverSource":47},6256,"smartdns","pymumu\u002Fsmartdns","pymumu","A local DNS server to obtain the fastest website IP for the best Internet experience, support DoT, DoH, DoQ. 一个本地DNS服务器，获取最快的网站IP，获得最佳上网体验，支持DoH，DoT，DoQ。","https:\u002F\u002Fpymumu.github.io\u002Fsmartdns\u002F",null,"C",10912,1223,128,271,0,1,32,97,20,44.26,"GNU General Public License v3.0",false,"master",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,5,41],"c","dns","dns-over-https","dns-over-tls","dns-server","dns64","doh","doh3","doq","dot","nftables","nftables-sets","openwrt","openwrt-package","stubby","2026-06-12 02:01:17","# SmartDNS\n\n**[English](ReadMe_en.md)**\n\n![SmartDNS](doc\u002Fsmartdns-banner.png)\nSmartDNS 是一个运行在本地的 DNS 服务器，它接受来自本地客户端的 DNS 查询请求，然后从多个上游 DNS 服务器获取 DNS 查询结果，并将访问速度最快的结果返回给客户端，以此提高网络访问速度。\nSmartDNS 同时支持指定特定域名 IP 地址，并高性匹配，可达到过滤广告的效果; 支持DOT，DOH，DOQ，DOH3，更好的保护隐私。  \n\n与 DNSmasq 的 all-servers 不同，SmartDNS 返回的是访问速度最快的解析结果。\n\n支持树莓派、OpenWrt、华硕路由器原生固件和 Windows 系统等。\n\n## 使用指导\n\nSmartDNS官网：[https:\u002F\u002Fpymumu.github.io\u002Fsmartdns](https:\u002F\u002Fpymumu.github.io\u002Fsmartdns)\n\n## 软件效果展示\n\n### 仪表盘\n\n![SmartDNS-WebUI](doc\u002Fsmartdns-webui.png)\n\n### 速度对比\n\n**阿里 DNS**  \n使用阿里 DNS 查询百度IP，并检测结果。  \n\n```shell\n$ nslookup www.baidu.com 223.5.5.5\nServer:         223.5.5.5\nAddress:        223.5.5.5#53\n\nNon-authoritative answer:\nwww.baidu.com   canonical name = www.a.shifen.com.\nName:   www.a.shifen.com\nAddress: 180.97.33.108\nName:   www.a.shifen.com\nAddress: 180.97.33.107\n\n$ ping 180.97.33.107 -c 2\nPING 180.97.33.107 (180.97.33.107) 56(84) bytes of data.\n64 bytes from 180.97.33.107: icmp_seq=1 ttl=55 time=24.3 ms\n64 bytes from 180.97.33.107: icmp_seq=2 ttl=55 time=24.2 ms\n\n--- 180.97.33.107 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 1001ms\nrtt min\u002Favg\u002Fmax\u002Fmdev = 24.275\u002F24.327\u002F24.380\u002F0.164 ms\npi@raspberrypi:~\u002Fcode\u002Fsmartdns_build $ ping 180.97.33.108 -c 2\nPING 180.97.33.108 (180.97.33.108) 56(84) bytes of data.\n64 bytes from 180.97.33.108: icmp_seq=1 ttl=55 time=31.1 ms\n64 bytes from 180.97.33.108: icmp_seq=2 ttl=55 time=31.0 ms\n\n--- 180.97.33.108 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 1001ms\nrtt min\u002Favg\u002Fmax\u002Fmdev = 31.014\u002F31.094\u002F31.175\u002F0.193 ms\n```\n\n**SmartDNS**  \n使用 SmartDNS 查询百度 IP，并检测结果。\n\n```shell\n$ nslookup www.baidu.com\nServer:         192.168.1.1\nAddress:        192.168.1.1#53\n\nNon-authoritative answer:\nwww.baidu.com   canonical name = www.a.shifen.com.\nName:   www.a.shifen.com\nAddress: 14.215.177.39\n\n$ ping 14.215.177.39 -c 2\nPING 14.215.177.39 (14.215.177.39) 56(84) bytes of data.\n64 bytes from 14.215.177.39: icmp_seq=1 ttl=56 time=6.31 ms\n64 bytes from 14.215.177.39: icmp_seq=2 ttl=56 time=5.95 ms\n\n--- 14.215.177.39 ping statistics ---\n2 packets transmitted, 2 received, 0% packet loss, time 1001ms\nrtt min\u002Favg\u002Fmax\u002Fmdev = 5.954\u002F6.133\u002F6.313\u002F0.195 ms\n```\n\n从对比看出，SmartDNS 找到了访问 `www.baidu.com` 最快的 IP 地址，比阿里 DNS 速度快了 5 倍。\n\n## 特性\n\n1. **多虚拟DNS服务器**  \n   支持多个虚拟DNS服务器，不同虚拟DNS服务器不同的端口，规则，客户端。\n\n1. **多 DNS 上游服务器**  \n   支持配置多个上游 DNS 服务器，并同时进行查询，即使其中有 DNS 服务器异常，也不会影响查询。  \n\n1. **支持每个客户端独立控制**  \n   支持基于MAC，IP地址控制客户端使用不同查询规则，可实现家长控制等功能。  \n\n1. **返回最快 IP 地址**  \n   支持从域名所属 IP 地址列表中查找到访问速度最快的 IP 地址，并返回给客户端，提高网络访问速度。\n\n1. **支持多种查询协议**  \n   支持 UDP、TCP、DOT、DOH、DOQ 和 DOH3 查询及服务，以及非 53 端口查询；支持通过socks5，HTTP代理查询;\n\n1. **特定域名 IP 地址指定**  \n   支持指定域名的 IP 地址，达到广告过滤效果、避免恶意网站的效果。\n\n1. **域名高性能后缀匹配**  \n   支持域名后缀匹配模式，简化过滤配置，过滤 20 万条记录时间 \u003C 1ms。\n\n1. **域名分流**  \n   支持域名分流，不同类型的域名向不同的 DNS 服务器查询，支持iptable和nftable更好的分流；支持测速失败的情况下设置域名结果到对应ipset和nftset集合。\n\n1. **Windows \u002F Linux 多平台支持**  \n   支持标准 Linux 系统（树莓派）、OpenWrt 系统各种固件和华硕路由器原生固件。同时还支持 WSL（Windows Subsystem for Linux，适用于 Linux 的 Windows 子系统）。\n\n1. **支持 IPv4、IPv6 双栈**  \n   支持 IPv4 和 IPV 6网络，支持查询 A 和 AAAA 记录，支持双栈 IP 速度优化，并支持完全禁用 IPv6 AAAA 解析。\n\n1. **支持DNS64**  \n   支持DNS64转换。\n\n1. **高性能、占用资源少**  \n   多线程异步 IO 模式，cache 缓存查询结果。\n\n1. **主流系统官方支持**  \n   主流路由系统官方软件源安装smartdns。\n\n## 架构\n\n![Architecture](https:\u002F\u002Fgithub.com\u002Fpymumu\u002Ftest\u002Freleases\u002Fdownload\u002Fblob\u002Farchitecture.png)\n\n1. SmartDNS 接收本地网络设备的DNS 查询请求，如 PC、手机的查询请求；\n1. 然后将查询请求发送到多个上游 DNS 服务器，可支持 UDP 标准端口或非标准端口查询，以及 TCP 查询；\n1. 上游 DNS 服务器返回域名对应的服务器 IP 地址列表，SmartDNS 则会检测从本地网络访问速度最快的服务器 IP；\n1. 最后将访问速度最快的服务器 IP 返回给本地客户端。\n\n## 编译\n\n- 代码编译：\n\n  SmartDNS 提供了编译软件包的脚本（`package\u002Fbuild-pkg.sh`），支持编译 LuCI、Debian、OpenWrt 和 Optware 安装包。\n\n- 文档编译：\n\n  文档分支为`doc`，安装`mkdocs`工具后，执行`mkdocs build`编译。\n\n## 捐赠\n\n如果你觉得此项目对你有帮助，请捐助我们，使项目能持续发展和更加完善。\n\n### PayPal 贝宝\n\n[![Support via PayPal](https:\u002F\u002Fcdn.rawgit.com\u002Ftwolfson\u002Fpaypal-github-button\u002F1.0.0\u002Fdist\u002Fbutton.svg)](https:\u002F\u002Fpaypal.me\u002FPengNick\u002F)\n\n### AliPay 支付宝\n\n![alipay](doc\u002Falipay_donate.jpg)\n\n### WeChat Pay 微信支付\n\n![wechat](doc\u002Fwechat_donate.jpg)\n\n## 开源声明\n\nSmartDNS 基于 GPL V3 协议开源。\n","SmartDNS 是一个本地DNS服务器，旨在通过从多个上游DNS服务器中选择响应最快的IP地址来优化用户的上网体验。其核心功能包括支持多种DNS查询协议（如DoT、DoH、DoQ），能够指定特定域名的IP地址以实现广告过滤，并且具备高性能的域名后缀匹配能力。此外，SmartDNS还提供了基于MAC或IP地址的客户端独立控制功能，以及多虚拟DNS服务器的支持。该软件适用于需要提高网络访问速度和加强隐私保护的各种场景，特别适合在树莓派、OpenWrt路由器或Windows系统上部署使用。",2,"2026-06-11 03:06:05","top_language"]