Skip to content

Releases: zfl9/chinadns-ng

2023.04.01

01 Apr 09:43
2023.04.01
e2f0942
Compare
Choose a tag to compare
2023.04.01 Pre-release
Pre-release

预发布版本,功能粗略跑了下,问题不大。我这边 code review 后再正式发布。有问题随时交流。

  • -g/--gfwlist-file-m/--chnlist-file 支持多个文件路径,文件路径之间使用逗号隔开,如 -g a.txt,b.txt

  • 新增 -a/--add-tagchn-ip 选项:将chn域名的解析结果加入ipset/nftset,类似dnsmasq的ipset/nftset指令。见 #115

  • 添加nftset支持,参数还是原来的-4/--ipset-name4 <name>, -6/--ipset-name6 <name>,若name包含@字符,则使用nft后端,否则使用ipset后端。nft的name格式:family名称@table名称@set名称。注意:不支持混用ipset/nftset,即:v4和v6要么都用ipset,要么都用nftset。

  • 对nft的add操作进行了性能优化,效率要比dnsmasq的nftset实现高得多;对于dnsmasq,如果要添加的ip与集合中已存在的cidr存在重叠(在set已存储大部分大陆ip(cidr)时,很容易触发该条件),则add操作会导致数十毫秒级别的延迟,并且nftset会报告interval overlaps with an existing one错误。

  • -N/--no-ipv6 选项添加规则T,当一个AAAA查询只转发给了可信上游时,此规则开始发挥作用:若启用了规则T,则过滤非大陆ip的解析结果;否则(默认行为)不进行ip判定/过滤。见 issue #116

  • dnl相关优化,弃用brk/sbrk,改用mmap/mremap,并进行4k页面对齐。

  • 移除libm.so依赖,现在只依赖libc.so了。

2023.03.10

10 Mar 12:11
6f08642
Compare
Choose a tag to compare
  • 使用 -d gfw/chn 纯域名分流模式时,避免 ipest 相关调用。
  • 优化 makefile,加入常用编译控制选项,并兼容 gcc 和 clang。

2023.03.08

08 Mar 15:29
562c1ab
Compare
Choose a tag to compare
2023.03.08 Pre-release
Pre-release

新增 -d/--default-tag <tag> 选项,用来纯域名分流。见 #117

2023.03.06

06 Mar 03:21
Compare
Choose a tag to compare
  • 修复 no-ipv6 的逻辑 bug。
  • 弃用"抢答模式",只留"公平模式"。

2023.03.02

02 Mar 02:37
Compare
Choose a tag to compare

修复 #113 bug:主机源 IP 变动导致 chinadns-ng 无法与 DNS 上游进行通信。

2023.02.28

28 Feb 04:27
Compare
Choose a tag to compare

修复 2023.02.27 版本的 sbrk 兼容问题(musl) e185936

2023.02.27

27 Feb 08:13
Compare
Choose a tag to compare
  • 定时器实现调整,去除timerfd的使用,进一步减少系统调用次数
  • -N/--no-ipv6接受可选参数,允许更细致的AAAA查询过滤控制
  • 优化域名列表,寻求最小化的内存占用,最少的匹配/查找次数
  • likely/unlikely优化,减少防御语句对性能(分支预测)的影响
  • gcc编译参数调整,启用LTO链接时优化,重新启用O3优化
  • 代码结构调整,重构、以及性能优化
  • 版本号规则修改,以年月日命名