Releases: pymumu/smartdns
Release 47.1
更新内容:
- 解决nftable性能问题@chazikai24
- 解决高负载下进程crash的问题。
- 增加APK包。
- 其他一些BUG修复和性能改进。
近期更新:
- server增加
-fallback参数,支持设置后备DNS。 - 增加WebUI功能,此功能为Beta预览功能,请谨慎使用。指导文档。
- 增加DoQ,DoH3的支持(需要openssl 3.4以上版本)
- 提高兼容性,自动生成证书时,不再使用自签名证书,生成证书链,有效期13个月。
欢迎参与贡献:#1918
贡献请加QQ群:1033365479
smartdns帮助文档:https://pymumu.github.io/smartdns/
非静态版本下载:https://github.com/PikuZheng/smartdns/releases/
APK包安装方法:https://pymumu.github.io/smartdns/install/openwrt/
Full Changelog: Release47...Release47.1
Release 47
更新内容:
- server增加
-fallback参数,支持设置后备DNS。 - 增加WebUI功能,此功能为Beta预览功能,请谨慎使用。指导文档。
X86-64和ARM64安装包自带UI插件,其他CPU架构需要自行编译。
安装rust,nodejs,gcc等编译工具后,自行编译,编译命令参考:package/build-pkg.sh --platform linux --arch x86-64 --with-ui --static - 增加DoQ,DoH3的支持(需要openssl 3.4以上版本)
- 提高兼容性,自动生成证书时,不再使用自签名证书,生成证书链,有效期13个月。
问题修正和优化:
- 解决作为DOT服务端导致的crash问题。
- 解决DOH客户端的兼容性问题。
- 调整代码结构。
- 修正openwrt下dhcp设置错误问题。
- SSL优先校验SAN。
- 解决audit-num的默认值问题。
- 解决cache内存计算错误的问题。
- 解决一些问题和性能优化。
贡献人员名单
- fix ‘udp_socket_bio’ undeclared issue by @PikuZheng in #1953
- Add: quic protocol support by @zxlhhyccc in #2031
- openwrt: add DoH3 protocol support by @lwb1978 in #2038
- openwrt: luci adds ui support by @lwb1978 in #2043
- openwrt: dont touch dhcp config when auto_set_dnsmasq set by @rhjdvsgsgks in #2046
- openwrt: fix max-query-log-age by @xianren78 in #2073
- fix(security): prevent buffer overflow in domain_rule.c by @xiaobaishu1 in #2096
- https-record: add noech by @AndyChiang888 in #2132
- @lwb1978 made their first contribution in #2038
- @rhjdvsgsgks made their first contribution in #2046
- @xiaobaishu1 made their first contribution in #2096
- @AndyChiang888 made their first contribution in #2132
欢迎参与贡献:#1918
贡献请加QQ群:1033365479
smartdns帮助文档:https://pymumu.github.io/smartdns/
非静态版本下载:https://github.com/PikuZheng/smartdns/releases/
注意:
- 入门用户推荐优先使用luci-lite版本。
- 如果安装luci后界面无显示,请尝试清除浏览器缓存。
Full Changelog: Release46.1...Release47
Release 46.1
更新内容:
- test: fix test case issue. by @pymumu in #1900
- fix: smartdns.zh-cn.po typo by @xianren78 in #1899
- return 404 while request bad https path by @PikuZheng in #1895
- fix: Ensure HTTP Host Header format compliance by @sfiction in #1905
- Fix Selecting Automatic Update to automatically add scheduled tasks when smartdns is not started. by @zxlhhyccc in #1919
New Contributors
- @xianren78 made their first contribution in #1899
- @sfiction made their first contribution in #1905
smartdns帮助文档:https://pymumu.github.io/smartdns/
非静态版本下载:https://github.com/PikuZheng/smartdns/releases/
注意:
- 入门用户推荐优先使用luci-lite版本。
- 如果安装luci后界面无显示,请尝试清除浏览器缓存。
Full Changelog: Release46...Release46.1
Release 46
更新内容:
- audit日志增加输出group信息。
- 修正DOH GET方法查询错误问题。
- 修正bind选项crash问题。
- DNS64支持group组配置
- 修正上游查询重试的问题。
- 其他一些问题修正。
smartdns帮助文档:https://pymumu.github.io/smartdns/
非静态版本下载:https://github.com/PikuZheng/smartdns/releases/
注意:
- luci-compat版本后续不再演进,不再添加新功能,版本维护至2024年底,请及时升级至openwrt 2203之后的版本。
- 入门用户推荐优先使用luci-lite版本。
- 如果安装luci后界面无显示,请尝试清除浏览器缓存。
Release 45
🎉2024新春版,完善功能,提升性能、可靠性,推荐更新。
㊗️也祝福各位新春快乐。
更新内容:
- 增加luci-lite轻量版本,入门用户使用更容易。
- 增加
ip-alias选项,支持CDN IP加速,具体参考:https://pymumu.github.io/smartdns/config/ip-alias/ - 增加
ip-rules和ip-set参数,支持批量设置IP规则:https://pymumu.github.io/smartdns/config/ip-set/ - 发布smartdns官方docker镜像:https://hub.docker.com/r/pymumu/smartdns
- 增加
bind-https选项,支持DOH服务器。 - 新增
client-rules选项,支持按客户端MAC地址,IP分组:https://pymumu.github.io/smartdns/config/client-rule/ - 新增
group-begin,group-end,group-match配置组选项,支持虚拟DNS服务器能力:https://pymumu.github.io/smartdns/config/rule-group/ - 新增
acl-enable参数,配合client-rules选项控制客户端访问权限。 - 域名规则支持
-,.用于匹配主域名:https://pymumu.github.io/smartdns/config/ad-block/ - 优化缓存管理机制,减少内存占用和CPU占用。
/domain/类域名规则,增加/./根域名规则设置, 在不指定/domain/的情况下为全局规则,如: address #6, domain-rules /./ -[rules...]server参数增加短配置选项,-g -> -group -e -> -exclude-default-group -p -> -proxy -k -> -no-check-certificate -b -> -bootstrap-dns- luci界面周期下载支持配置小时和星期,by @zxlhhyccc
- smartdns命令行增加
-R选项和restart-on-crash yes参数,当进程崩溃时自动重启进程。 - conf-file支持通配符, conf-file *.conf
- 配置文件中的域名支持国际化,支持中文。
- 新增
srv-record用于配置SRV记录,可用于vlmcsd - 新增
https-record用于支持配置HTTPS记录,可支持ECH等安全特性。 - 支持proxy-dnssec。(关闭测速后启用)
- 增加
mdns-lookup参数,用于通过mDNS查询本地主机名或IP地址反查等。 - 增加
log-syslog, audit-syslog参数,支持配置smartdns输出日志到系统日志。 - 增加
max-query-limit参数,配置最大并发请求数。 - 增加
cache-mem-size参数,支持指定缓存占用的最大内存。
问题修正和优化:
- 解决debian系统中systemd启动依赖问题,by @brainos
- 修正optware下dnsmasq启动失败的问题。
- 对不支持的配置项输出日志,错误的配置,退出程序。
- 缓存PTR记录。
- 优化一些日志打印。
- 最快IP模式下,等待更多时间以获取最快IP。
- 当address指定IPv4的情况下,IPv6默认返回SOA。
- 其他若干问题修改。
smartdns帮助文档:https://pymumu.github.io/smartdns/
非静态版本下载:https://github.com/PikuZheng/smartdns/releases/
注意:
- luci-compat版本后续不再演进,不再添加新功能,版本维护至2024年底,请及时升级至openwrt 2203之后的版本。
- 入门用户推荐优先使用luci-lite版本。
- 如果安装luci后界面无显示,请尝试清除浏览器缓存。
Full Changelog: Release43...Release45
Release 43
更新内容:
force-qtype-SOA支持范围的写法,如: force-qtype-SOA 1-23,48-64。address参数支持多IP地址,支持最多8个IP地址,如:address /a.com/1.2.3.4,5.6.7.8- 域名规则支持前缀通配。(
*,-仅支持在域名开头)// 前缀通配 *-a.example.com // 仅匹配子域名 *.example.com // 仅匹配主域名 -.example.com - server/server-tcp/server-tls/server-https支持
-host-ip指定IP地址。 - 增加
ddns-domain选项,用于将DDNS域名解析为本机IP地址,避免上游查询。 - 配置文件配置项支持
\换行。 - 支持后台运行时输出日志到终端,
log-console yes。
问题修正:
- 修正max TTL问题
- 优化systemd服务启动时的错误情况。
- 代码结构优化和优化log打印。
- 修正openwrt系统下广告屏蔽失效的问题。
- 修正subnet不工作的问题。
- 修正bootstrap DNS重试失败的问题。
- 修正bugos-nxdomain问题。
smartdns帮助文档:https://pymumu.github.io/smartdns/
非静态版本下载:https://github.com/PikuZheng/smartdns/releases/
Full Changelog: Release42...Release43
Release 42
更新内容:
- 支持DOT服务器,
bind-tls选项。 - server参数增加
-bootstrap-dns选项,支持指定专门的bootstrapDNS服务器。 - 支持设置smartdns从控制台输出log,以方便容器化部署分析log,
log-console选项。新增log-level off,完全关闭LOG。 - 支持默认情况下按照设备内存自动设置cache大小。
- cache文件减少版本升级后不可用的概率。
- domain-rules新增
-no-cache,-response-mode参数。 - 支持完全禁用IPV6查询的情况下,允许例外的域名:
address /domain.com/- - 支持自动将address类域名,展开对应的PTR记录,
expand-ptr-from-address yes选项。 - server参数新增
-subnet选项,可指定单个DNS上游的ECS信息。联通或移动用户可模拟电信用户IP地址,让223.5.5.5返回电信就近的IP地址,部分网站网络访问时延会有较大改善。 - 新增
cache-checkpoint-time参数,设置周期保存cache文件,避免cache丢失。 - bind参数新增
-ipset,-nftset选项,支持对应端口查询时,强制设置ipset和nftset。
luci更新
- luci第二DNS新增ipset,和nftset选项。
- luci增加对log的设置。
- luci第一,第二DNS,增加额外标志参数,可以自定义参数。
- luci修正一些文字错误
其他更新
- 增加test测试代码,提升软件整体质量。
- 增加性能测试,具体性能指标参考:#1337 (comment)
- 全新的smartdns帮助文档:https://pymumu.github.io/smartdns/
- Release42版本合入openwrt主干,可以直接feed更新编译安装,软件体积更小。
BUG修正
- 修正几个Crash问题。
- 优化log,降低无效log的级别。
- 解决cname域名循环的问题。
注意事项
- luci界面如不显示,或显示不正常,可以尝试清除浏览器缓存,或使用隐私模式访问管理页面。
- lede如安装 luci-app-smartdns.*.all-luci-compat-all.ipk不显示,请额外安装luci-compat软件包。
- 推荐使用js版本(非compat)的luci界面,功能更加完善。
- smartdns从37版本已经会返回多个IP地址,具体原因查看:https://pymumu.github.io/smartdns/faq/#smartdnsip,判断smartdns是否生效,请使用
nslookup smartdns来查看。
Release 41
更新内容:
- 支持通过socks5/http代理进行DNS查询。
proxy-server参数 - bind参数支持绑定到具体的网口。
bind ip:port@interface - luci界面增加socks5代理配置、测速模式、返回结果模式、DNS64的配置。
- luci界面支持bind绑定设备配置。
- 随机化Query ID。
- 增加ipset-no-speed, nftset-no-speed参数,支持测速失败的情况下,将域名IP添加到对应的ipset/nftset。
- 增加cname参数,支持别名查询。
cname /a.com/b.com - 域名规则domain-rules增加rr-ttl, rr-ttl-min, rr-ttl-max参数设置TTL特定域名的TTL时间。
- 支持DNS64。
dns64 64:ff9b::/96参数 - 配置文件支持
\换行,避免行字符串过长。 - 解决一些BUG,提高稳定性。
注意事项:
- luci界面如不显示,或显示不正常,可以尝试清除浏览器缓存,或使用隐私模式访问管理页面。
Release 41 RC3
更新内容:
- 支持通过socks5/http代理进行DNS查询。
proxy-server参数 - bind参数支持绑定到具体的网口。
bind ip:port@interface - luci界面增加socks5代理配置、测速模式、返回结果模式、DNS64的配置。
- luci界面支持bind绑定设备配置。
- 随机化Query ID。
- 增加ipset-no-speed, nftset-no-speed参数,支持测速失败的情况下,将域名IP添加到对应的ipset/nftset。
- 增加cname参数,支持别名查询。
cname /a.com/b.com - 域名规则domain-rules增加rr-ttl, rr-ttl-min, rr-ttl-max参数设置TTL特定域名的TTL时间。
- 支持DNS64。
dns64 64:ff9b::/96参数 - 配置文件支持
\换行,避免行字符串过长。 - 解决一些BUG,提高稳定性。
注意事项:
- luci界面如不显示,或显示不正常,可以尝试清除浏览器缓存,或使用隐私模式访问管理页面。
Release 41 RC2
更新内容:
- 支持通过socks5/http代理进行DNS查询。
proxy-server参数 - bind参数支持绑定到具体的网口。
bind ip:port@interface - luci界面增加socks5代理配置、测速模式、返回结果模式、DNS64的配置。
- luci界面支持bind绑定设备配置。
- 随机化Query ID。
- 增加ipset-no-speed, nftset-no-speed参数,支持测速失败的情况下,将域名IP添加到对应的ipset/nftset。
- 增加cname参数,支持别名查询。
cname /a.com/b.com - 域名规则domain-rules增加rr-ttl, rr-ttl-min, rr-ttl-max参数设置TTL特定域名的TTL时间。
- 支持DNS64。
dns64 64:ff9b::/96参数 - 配置文件支持
\换行,避免行字符串过长。 - 解决一些BUG,提高稳定性。
注意事项:
- luci界面如不显示,或显示不正常,可以尝试清除浏览器缓存,或使用隐私模式访问管理页面。