Releases: daeuniverse/dae
v0.8.0
Release date: 2024/10/11
Features
- feat: add sysdump as subcommand in #572 by (@linglilongyi)
- optimize(bpf): Use direct packet access in #562 by (@jschwinger233)
- feat(cmd): shell completion subcommand in #576 by (@zzzsyyy)
- optimize(bpf): Alternative way to avoid parsing packet at dae0 in #600 by (@jschwinger233)
- feat: add MPTCP support in #601 by (@AkinoKaede)
- feat: support ipip tunnel as lan/wan interface in #615 by (@pcmid)
- feat(dialer): support reality (without udp support) in #573 by (@mzz2017)
- optimize: replace c arithmetic operators with bitwise ones in #628 by (@Integral-Tech)
- feat: allow group override global node connectivity check in #623 by (@KagurazakaNyaa)
- feat: support bandwidth configuration in #645 by (@mnixry)
- feat(trace): add drop-only option in #632 by (@linglilongyi)
Bug Fixes
- fix/chore(hy2): update outbound submodule to fix userpass auth in #550 by (@mzz2017)
- fix(udp_task_pool): panic: close of closed channel in #570 by (@mzz2017)
- fix: unknown tls implementation in #569 by (@mzz2017)
- fix: cannot sniff tls fragments in #555 by (@mzz2017)
- fix(cmd/run.go): always check whether network online in #588 by (@MarksonHon)
- patch: revert: refactor: improve code readability of struct initialization in #637 by (@mzz2017)
- fix: compatible issue when DNS msg not be compressed in #646 by (@EkkoG)
- fix(sniffer): remove useless EOF warning logs printing in #650 by (@douglarek)
- fix(vless): allow empty flow as ordinary tls in #652 by (@mzz2017)
- fix: crash on openwrt in #640 by (@mzz2017)
- fix(hy2): dialer regression introduced by #645 pr in #663 by (@douglarek)
- fix: unknown type due to dae-wing fixed policy in #582 by (@wanlce)
- fix: connection leaks in #624 by (@mzz2017)
Others
- ci(release): draft release v0.7.0rc1 in #545 by (@dae-prow)
- ci(prerelease): fix go version ref in #546 by (@sumire88)
- ci: update action-gh-release to v2 in #547 by (@MarksonHon)
- docs(protocols): add hysteria2 in #558 by (@wanlce)
- docs: Update build-by-yourself.md in #561 by (@linglilongyi)
- docs: persistent subscription in #577 by (@st0nie)
- ci(release): draft release v0.8.0rc1 in #585 by (@dae-prow)
- chore(example.dae): add hy2 in comments in #605 by (@4860575)
- chore(changelogs): add v0.7.1 release changelogs in #609 by (@sumire88)
- ci: add trigger-downstream-flake-sync workflow in #612 by (@sumire88)
- ci/fix(trigger-downstream-flake-sync): update dispatch target in #613 by (@sumire88)
- docs: update persistent script in #603 by (@st0nie)
- docs: add reality tcp support to proxy-protocols in #627 by (@Integral-Tech)
- refactor: remove redundant assignments in #634 by (@Integral-Tech)
- refactor: improve code readability of struct initialization in #633 by (@Integral-Tech)
- refactor: reuse existing functions & format code in #641 by (@Integral-Tech)
- docs: add linux-aarch64-7ji as recommended kernel for Arch Linux ARM in #648 by (@Integral-Tech)
- chore(changelogs): include v0.7.2 changelogs in #653 by (@sumire88)
- ci(release): draft release v0.8.0rc2 in #655 by (@dae-prow)
- chore: fix go.mod for v0.7.2 in #656 by (@mzz2017)
- chore(changelogs): add v0.7.3 changelogs in #658 by (@sumire88)
- ci(workflows/{prerelease,release}): force checkout to specific tag in #660 by (@sumire88)
- chore(changelogs): add v0.7.4 changelogs in #659 by (@sumire88)
- docs: Google DNS should use dns.google instead of dns.google.com in #664 by (@EkkoG)
Example Config: https://github.com/daeuniverse/dae/blob/v0.8.0/example.dae
Full Changelog: v0.7.0...v0.8.0
New Contributors
- @4860575 made their first contribution in #605
- @KagurazakaNyaa made their first contribution in #623
v0.7.4
v0.7.3 (Deprecated)
v0.7.2 (Deprecated)
v0.7.1
v0.7.0
Release date: 2024/07/21
Features
- feat: support assist connectivity check (udp-dns) by dns module in #543 by (@mzz2017)
- feat: Add support for hysteria2 dialer and protocol in #533 by (@mnixry)
Bug Fixes
- fix: support to report all error when reloading in #540 by (@mzz2017)
- fix: cannot route for sniffed domain with port in #542 by (@mzz2017)
- fix: incidental packet drop and weird UDP state maintaining in #539 by (@mzz2017)
Others
- chore: Add a global config to enable pprof in #532 by (@jschwinger233)
- docs: add protocols uri schema in #541 by (@mzz2017)
- docs: update arch installation in #531 by (@Integral-Tech)
- docs: add gaming-oriented routing tutorial in #527 by (@rustcult)
Example Config: https://github.com/daeuniverse/dae/blob/v0.7.0rc1/example.dae
Full Changelog: v0.6.0...v0.7.0rc1
New Contributors
v0.6.0
Release date: 2024/06/11
Breaking Changes
Note
Please read the following PRs for details
- feat(bpf): implement stack bypass in #458 by (@jschwinger233)
- patch/optimize(bpf): improve lan hijack datapath performance in #466 by (@jschwinger233)
- patch/optimize(bpf): improve wan tcp hijack datapath performance in #481 by (@jschwinger233)
Features
- feat: dae trace in #435 by (@jschwinger233)
- feat(bpf): implement stack bypass in #458 by (@jschwinger233)
- feat: add httpupgrade in #472 by (@AkinoKaede)
- feat: support reloading progress and error for
dae reload
in #470 by (@mzz2017) - feat: add .clang-format file from torvalds/linux in #492 by (@mzz2017)
- feat: support to maintain udp conn state in #493 by (@mzz2017)
Bug Fixes
- fix: Create DaeNetns instance strictly once on reload in #446 by (@jschwinger233)
- patch/optimize(bpf): improve lan hijack datapath performance in #466 by (@jschwinger233)
- fix: Fix bpf CO-RE issue on 6.9 in #483 by (@jschwinger233)
- fix(bpf): revert using bpf_redirect_peer in #480 by (@jschwinger233)
- patch/optimize(bpf): improve wan tcp hijack datapath performance in #481 by (@jschwinger233)
- fix: shoot ipv6 icmp redirects in #494 by (@mzz2017)
- fix: cannot use must in bracket in fallback in #495 by (@mzz2017)
- fix: Don't enable net.ipv6.conf.all.forwarding in #496 by (@jschwinger233)
- fix: auto_config_kernel_parameter sets net.ipv6.conf.all.forwarding=1 when binding lan interfaces in #499 by (@jschwinger233)
- fix/chore: update submodule outbound to fix panic in some edge cases in #503 by (@mzz2017)
- fix: maintain udp conn direction to fix possible dns leaking in #505 by (@mzz2017)
- fix: sysctl net.ipv4.conf.dae0peer.accept_local=1 in #512 by (@jschwinger233)
- fix: Opt out TCP sockmap bypass by default in #518 by (@jschwinger233)
- fix: set accept_ra=2 to fix missing ipv6 address on WAN interface if necessary in #504 by (@mzz2017)
Others
- docs(protocols): delete redundant line in #452 by (@bradfordzhang)
- ci(Makefile): enable trace module by default in #455 by (@hero-intelligent)
- ci: update actions/checkout@v3 to actions/checkout@v4 in #461 by (@MarksonHon)
- ci: update ci modules using nodejs to latest in #465 by (@MarksonHon)
- style: format bpf c code using kernel checkpatch.pl in #477 by (@jschwinger233)
- chore: bump submodule dae_bpf_headers in #487 by (@jschwinger233)
- chore: Replace regexp with regexp2 for better filtering in #467 by (@xishang0128)
- docs(example): add '# Multiple filters indicate 'or' logic.' in #488 by (@akiooo45)
- ci(generate-changelogs.yml): generate auth token on the fly in #489 by (@sumire88)
- ci(release): draft release v0.6.0rc1 in #491 by (@dae-prow)
- docs(readme): remove unnecessary lines in #500 by (@sumire88)
- chore: upgrade quic-go to 0.42.0 and utls to 1.6.4 in #497 by (@mzz2017)
- ci(release): draft release v0.6.0rc2 in #502 by (@dae-prow)
- chore(dae.service): set TimeoutStartSec=120 instead of 10 in #510 by (@hiifeng)
- chore(issue_template): update template params in #514 by (@sumire88)
- docs: update dae-with-opnsense.md in #517 by (@linglilongyi)
- chore: right the wrong gateway config in opnsense document in #520 by (@troubadour-hell)
Example Config: https://github.com/daeuniverse/dae/blob/v0.6.0/example.dae
Full Changelog: v0.5.1...v0.6.0
New Contributors
- @xishang0128 made their first contribution in #467
- @akiooo45 made their first contribution in #488
- @hiifeng made their first contribution in #510
- @linglilongyi made their first contribution in #517
v0.5.1
Release date: 2024/01/23
Features
- feat: support to auto config firewall (firewalld) in #420 by (@mzz2017)
- optimize: avoid conflict with potential local dns server in #422 by (@mzz2017)
Bug Fixes
- fix: Workaround UDP port conflicts when another local process binds 53 in #414 by (@jschwinger233)
- fix/docs: fix the first check failure and possible dns leaking in #418 by (@mzz2017)
- fix: Watch sysctl changes to ensure expected values in #426 by (@jschwinger233)
Others
- ci(release): draft release v0.5.0 in #409 by (@dae-prow-robot)
- chore(changelogs): fix changelogs corruption in #410 by (@sumire88)
- chore(issue_template): demise telegram support in #425 by (@sumire88)
- docs(tutorials): add run-on-centos7 in #434 by (@kuseee)
- chore(cmd/version): update print info in #417 by (@sumire88)
- refactor/optimize: remove dead code in #411 by (@jschwinger233)
- docs(tutorials): add dae-with-opnsense(en/zh) in #438 by (@troubadour-hell)
特性支持
问题修复
- 修复: 解决另一个本地进程绑定 53 时的 UDP 端口冲突 in #414 由 (@jschwinger233)
- 修复/文档: 修复第一次检查失败和可能的 DNS 泄漏 in #418 由 (@mzz2017)
- 修复: 观察 sysctl 更改以确保预期的值 in #426 由 (@jschwinger233)
其他变更
- 自动化(release): 起草版本 v0.5.0 in #409 由 (@dae-prow-robot)
- 杂项(changelogs): 修复变更日志损坏 in #410 由 (@sumire88)
- 杂项(issue_template): 暂时移除 Telegram 支持 in #425 由 (@sumire88)
- 文档(tutorials): 添加在 CentOS 7 上运行指南 in #434 由 (@kuseee)
- 杂项(cmd/version): 更新打印信息 in #417 由 (@sumire88)
- 重构/优化: 移除无用代码 in #411 由 (@jschwinger233)
- 文档(tutorials): 添加 dae-with-opnsense(en/zh) in #438 由 (@troubadour-hell)
Example Config: https://github.com/daeuniverse/dae/blob/v0.5.1/example.dae
Full Changelog: v0.5.0...v0.5.1
New Contributors
v0.5.0
Release date: 2024/01/04
Features
- feat/refactor: refactor outbound and support v2ray-plugin in #390 by (@mzz2017)
- feat: use bpf_sk_assign at tproxy_wan_ingress in #383 by (@jschwinger233)
Bug Fixes
- fix/chore: disable gso on client by default and upgrade softwind/quic-go in #391 by (@mzz2017)
- fix: add _ into valid charset of ac machine in #388 by (@mzz2017)
- fix: running issue and no network on android in #264 by (@mzz2017)
- fix: ip rule is not added when only binding to wan in #399 by (@mzz2017)
- fix(bpf): sk_lookup_udp for listener only in #401 by (@jschwinger233)
- patch: rewrite bpf spec before loading to avoid bpf map lookup during runtime in #376 by (@jschwinger233)
- patch(bpf): Don't clear checksum on wan_egress in #393 by (@jschwinger233)
Others
- docs: add guide to separate configuration files in #389 by (@epmtyicu)
- ci: Add more kernel tests in #386 by (@jschwinger233)
- ci(docker): remove support for armv6 in #392 by (@mzz2017)
- ci(release): draft release v0.5.0rc1 in #396 by (@dae-prow-robot)
- chore: add fish completion in #398 by (@zzzsyyy)
- chore: Build statically linked binary in #402 by (@jschwinger233)
- docs(troubleshooting.md): add firewalld related docs in #403 by (@mzz2017)
- ci(release): draft release v0.5.0rc2 in #405 by (@dae-prow-robot)
- chore(license): update license signature in #406 by (@sumire88)
特性支持
- 特性/重构: 重构出站并支持 v2ray-plugin in #390 by (@mzz2017)
- 特性: 在 #383 的 tproxy_wan_ingress 中使用 bpf_sk_assign by (@jschwinger233)
问题修复
- 修复/杂项: 默认情况下禁用客户端的 gso 并升级 softwind/quic-go in #391 by (@mzz2017)
- 修复: 在 ac 机器的有效字符集中添加 _ in #388 by (@mzz2017)
- 修复: Android 上的运行问题和无网络 in #264 by (@mzz2017)
- 修复: 只绑定到 wan 时未添加 ip 规则 in #399 by (@mzz2017)
- 修复(bpf): 仅针对监听器执行 sk_lookup_udp in #401 by (@jschwinger233)
- 补丁: 重写 bpf 规范,以避免在运行时进行 bpf 映射查找 in #376 by (@jschwinger233)
- 补丁(bpf): 不要在 #393 的 wan_egress 上清除校验和 by (@jschwinger233)
其他变更
- 文档: 添加分离配置文件的指南 in #389 by (@epmtyicu)
- 自动化: 在 #386 中添加更多内核测试 by (@jschwinger233)
- 自动化(docker): 移除对 armv6 的支持 in #392 by (@mzz2017)
- 自动化(release): 在 #396 中起草发布 v0.5.0rc1 by (@dae-prow-robot)
- 杂项: 在 #398 中添加 fish 补全 by (@zzzsyyy)
- 杂项: 在 #402 中构建静态链接二进制 by (@jschwinger233)
- 文档(troubleshooting.md): 在 #403 中添加与 firewalld 相关的文档 by (@mzz2017)
- 自动化(release): 在 #405 中起草发布 v0.5.0rc2 by (@dae-prow-robot)
- 杂项(license): 在 #406 中更新许可证签名 by (@sumire88)
Example Config: https://github.com/daeuniverse/dae/blob/v0.5.0/example.dae
Full Changelog: v0.4.0...v0.5.0
New Contributors
v0.4.0
Changelogs
Features
- feat(cmd): extend --version print info in #356 by (@yqlbu)
- feat: support --abort for reload and suspend in #346 by (@mzz2017)
- feat/optimize: print SubscriptionTag in AliveDialerSet::printLatencies() in #319 by (@luochen1990)
- optimize: latencyString shows realLatency( offset) in #307 by (@luochen1990)
- optimize(udp)/fix(quicSniffer): optimize performance of udp and fix a potential panic of quic in #301 by (@mzz2017)
- feat: support ToS routing rule in #292 by (@mzz2017)
Bug Fixes
Others
- ci: Test against various kernels on PR in #373 by (@jschwinger233)
- docs: add guide for ufw 'binding to LAN' in #372 by (@st0nie)
- chore: upgrade softwind in #359 by (@mzz2017)
- chore: add zsh completion in #353 by (@st0nie)
- chore: add bash completion in #352 by (@shenghuang147)
- docs: improve docs about reload in #347 by (@bradfordzhang)
- docs: tweak archlinux installation guide in #333 by (@Integral-Tech)
- docs: refine DNS example in #329 by (@EkkoG)
- chore(Dockerfile): upgrade golang and clang (daeuniverse/daed#250) in #320 by (@hero-intelligent)
- docs(readme): refine project description in #317 by (@yqlbu)
- ci(generate-changelogs): update default assignees list in #314 by (@yqlbu)
- ci(release): draft release v0.4.0rc1 in #313 by (@daeBot)
- chore(release): add changelogs entry for v0.3.0 in #311 by (@mzz2017,@yqlbu)
- docs: improve docs about pppoe and mark in #305 by (@mzz2017)
- chore: close file descriptor & remove duplicated error handle in #303 by (@douglarek)
- docs(en): update how-it-works in #300 by (@yqlbu)
- chore: bump quic-go to v0.38.0 in #297 by (@mzz2017)
- refactor/fix: match dscp instead of tos in #294 by (@mzz2017)
- chore: honk with sound in #289 by (@troubadour-hell)
特性
- 特性(cmd): 在 #356 中扩展 --version 打印信息 by (@yqlbu)
- 特性: 为重载和挂起支持 --abort in #346 by (@mzz2017)
- 特性/优化: 在 #319 中打印 SubscriptionTag 到 AliveDialerSet::printLatencies() by (@luochen1990)
- 优化: latencyString 在 #307 中显示 realLatency( offset) by (@luochen1990)
- 优化(udp)/修复(quicSniffer): 优化 udp 性能并修复 quic 潜在的 panic in #301 by (@mzz2017)
- 特性: 在 #292 中支持 ToS 路由规则 by (@mzz2017)
问题修复
其他
- ci: 在 #373 中对 PR 测试不同内核 by (@jschwinger233)
- docs: 在 #372 中添加 ufw 'binding to LAN' 指南 by (@st0nie)
- 杂项: 在 #359 中升级 softwind by (@mzz2017)
- 杂项: 在 #353 中添加 zsh 完成 by (@st0nie)
- 杂项: 在 #352 中添加 bash 完成 by (@shenghuang147)
- docs: 在 #347 中改进关于重载的文档 by (@bradfordzhang)
- docs: 在 #333 中微调 Arch Linux 安装指南 by (@Integral-Tech)
- docs: 在 #329 中完善 DNS 示例 by (@EkkoG)
- 杂项(Dockerfile): 在 #320 中升级 golang 和 clang (daeuniverse/daed#250) by (@hero-intelligent)
- docs(readme): 在 #317 中改进项目描述 by (@yqlbu)
- ci(generate-changelogs): 在 #314 中更新默认分配人列表 by (@yqlbu)
- ci(release): 在 #313 中起草发布 v0.4.0rc1 by (@daeBot)
- 杂项(release): 在 #311 中为 v0.3.0 添加变更日志条目 by (@mzz2017,@yqlbu)
- docs: 在 #305 中改进关于 pppoe 和 mark 的文档 by (@mzz2017)
- 杂项: 在 #303 中关闭文件描述符并删除重复的错误处理 by (@douglarek)
- docs(en): 在 #300 中更新 how-it-works by (@yqlbu)
- 杂项: 在 #297 中升级 quic-go 到 v0.38.0 by (@mzz2017)
- 重构/修复: 在 #294 中匹配 DSCP 而不是 TOS by (@mzz2017)
- 杂项: 在 #289 中用声音 honk by (@troubadour-hell)
Example Config: https://github.com/daeuniverse/dae/blob/v0.4.0rc2/example.dae
Full Changelog: v0.3.0...v0.4.0rc2
New Contributors
- @jschwinger233 made their first contribution in #373