Releases: pymumu/smartdns
Releases · pymumu/smartdns
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界面如不显示,或显示不正常,可以尝试清除浏览器缓存,或使用隐私模式访问管理页面。
Release 41 RC1
更新内容:
- 支持通过socks5/http代理进行DNS查询。
proxy-server
参数 - bind参数支持绑定到具体的网口。
bind ip:port@interface
- luci界面增加socks5代理配置、测速模式、返回结果模式的配置。
- 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 40
更新内容:
- 优化luci界面,支持域名分流配置和定时更新规则。使用 参考这里
- 支持上游服务器配置socket mark(-set-mark)。
- 支持设置日志文件的默认权限。
- 支持禁用特定域名的过期缓存。
- 支持日志个数为0时,禁用日志。
- 优化一些log打印。
- 解决一些BUG。
如有问题请在github提交issue或改进代码。
Full Changelog: Release39...Release40