dae

eBPF-based Linux high-performance transparent proxy solution.

AGPL-3.0 License

Stars
3.1K

Bot releases are hidden (Show)

dae - v0.2.2

Published by yqlbu about 1 year ago

Release date: 2023/07/24

Features

  • feat/chore: add log file/refine code/add tip for no-load in #219 by (@mzz2017)
  • feat: latency-based failover #119 by (@mzz2017)

Bug Fixes

  • fix(ebpf): udp problem caused by #221 by accident in #225 by (@mzz2017)
  • fix: support to bind dae to wg lan (and other tun) in #221 by (@mzz2017)
  • fix: No AddrPort presented in #207 by (@mzz2017)
  • fix/optimize/refactor(udp): fix potential stuck UDP and optimize reroute logic in #204 by (@mzz2017)
  • fix: truncated dns resp in #203 by (@mzz2017)
  • fix(dns): should reject with nx instead of 0.0.0.0 #141 by (@mzz2017)

Others

  • ci/hotfix(build): inherit secret in #223 by (@yqlbu)
  • ci/hotfix(seed-build): add condition to run report-result in #222 by (@yqlbu)
  • ci/fix(daily-build): add missing ref input in #220 by (@yqlbu)
  • ci/feat(build,pr-build,seed-build): integrate check runs to report build status in #218 by (@yqlbu)
  • ci/fix(build): add ref input (required) in #216 by (@yqlbu)
  • ci(pr-build): don't trigger workflow for draft PRs in #215 by (@yqlbu)
  • ci(pr-build): fix default branch for seed workflow in #214 by (@yqlbu)
  • ci(build,pr-build): watch changes made to seed-build.yml in #211 by (@yqlbu)
  • ci/fix(seed-build): catch non-pr condition in #210 by (@yqlbu)
  • ci(pr-build): use pr.head.sha as default ref in #209 by (@yqlbu)
  • ci(build,daily-build.yml): adhere to naming convention in #208 by (@yqlbu)
  • docs(run-on-alpine.md)Add Alpine guide in #206 by (@MarksonHon)
  • docs: demise dae.v2raya.org in #205 by (@yqlbu)
  • chore(pr_template): add test result section in #202 by (@yqlbu)
  • ci(generate-changelogs): set dry_run as true in #201 by (@yqlbu)
  • ci(daily-build): update cron schedule in #198 by (@yqlbu)
  • ci(release): draft release v0.2.1rc1 in #197 by (@daebot)

特性支持

  • 特性/杂项: 添加写入到 log 文件,添加更友好的空载提示 in #219 by (@mzz2017)
  • 特性: 基于时延的故障转移 #119 by (@mzz2017)

问题修复

  • 修复(ebpf): 由 #221 导致的 udp 问题 in #225 by (@mzz2017)
  • 修复: 支持绑定 wg lan (以及其他 tun) in #221 by (@mzz2017)
  • 修复: 报错 No AddrPort presented 的问题 in #207 by (@mzz2017)
  • 修复/优化/重构(udp): 修复潜在的 UDP 阻塞并优化重路由逻辑 in #204 by (@mzz2017)
  • 修复: dns 回包过大被截断的问题 in #203 by (@mzz2017)
  • 修复(dns): 应当使用 NX 而不是 0.0.0.0 来进行 reject #141 by (@mzz2017)

其他变更

  • 自动化/修复(build): 继承 secret 问题 in #223 by (@yqlbu)
  • 自动化/修复(seed-build): 添加运行 report-result 的条件 in #222 by (@yqlbu)
  • 自动化/修复(daily-build): 添加丢失的 ref input in #220 by (@yqlbu)
  • 自动化/特性(build,pr-build,seed-build): 持续检查运行来报告构建状态 in #218 by (@yqlbu)
  • 自动化/修复(build): 添加必须的 ref input in #216 by (@yqlbu)
  • 自动化(pr-build): 不要为 draft PRs 触发 actions in #215 by (@yqlbu)
  • 自动化(pr-build): 修复 seed 工作流的默认分支 in #214 by (@yqlbu)
  • 自动化(build,pr-build): 观察并响应 seed-build.yml 的变更 in #211 by (@yqlbu)
  • 自动化/修复(seed-build): 捕获 non-pr 条件 in #210 by (@yqlbu)
  • 自动化(pr-build): 使用 pr.head.sha 作为默认 ref in #209 by (@yqlbu)
  • 自动化(build,daily-build.yml): 遵守命名约定 in #208 by (@yqlbu)
  • 文档(run-on-alpine.md): 添加 Alpine 安装指南 in #206 by (@MarksonHon)
  • 文档: 暂时从 README 移除 dae.v2raya.org in #205 by (@yqlbu)
  • 杂项(pr_template): 添加测试结果一节 in #202 by (@yqlbu)
  • 自动化(generate-changelogs): 设置 dry_run 为 true in #201 by (@yqlbu)
  • 自动化(daily-build): 更新自动执行时间 in #198 by (@yqlbu)

Example Config: https://github.com/daeuniverse/dae/blob/v0.2.2/example.dae

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.2.1...v0.2.2

dae - v0.1.10.p1 (patch 1)

Published by mzz2017 over 1 year ago

功能变更

Changes

Also see: https://github.com/daeuniverse/dae/releases/tag/v0.1.10

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.9...v0.1.10.p1

Example Config: https://github.com/daeuniverse/dae/blob/v0.1.10.p1/example.dae

dae - v0.1.10

Published by mzz2017 over 1 year ago

已知问题:使用 trojan 可能会 panic,trojan 用户请使用 https://github.com/daeuniverse/dae/releases/tag/v0.1.10.p1
DO NOT USE!! PLEASE USE https://github.com/daeuniverse/dae/releases/tag/v0.1.10.p1

功能变更

其他变更

Changes

Other Changes

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.9...v0.1.10
Example Config: https://github.com/daeuniverse/dae/blob/v0.1.10/example.dae

dae - v0.1.9-patch.1

Published by mzz2017 over 1 year ago

功能变更

Changes

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.9...v0.1.9patch1

另见 https://github.com/daeuniverse/dae/releases/tag/v0.1.9

See also https://github.com/daeuniverse/dae/releases/tag/v0.1.9

dae - v0.1.9

Published by mzz2017 over 1 year ago

功能变更

其他变更

Changes

Other Changes

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.8...v0.1.9

dae - v0.1.8

Published by mzz2017 over 1 year ago

功能变更

其他变更

New Contributors

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.7...v0.1.8

dae - v0.1.7

Published by mzz2017 over 1 year ago

特性

支持 global.sniffing_timeout 来设定嗅探的超时时间,调大这个值对于时延较高的局域网来说较为有用。

修复

  1. 修复无法解析小火箭shadowrocket的vmess+ws+tls分享链接的问题。
  2. 修复域名嗅探失败的问题。

PR

New Contributors

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.6...v0.1.7

dae - v0.1.6

Published by mzz2017 over 1 year ago

特性

  • 支持在 dns 的 request 路由中使用 reject 出站。
  • 支持在 routing 中使用 must_组名 的出站,该规则将强制作用于 DNS 请求,直接通过特定组发出,而绕过 dns 模块,提供给有特殊用途的用户使用。
  • 支持在 routing 中使用 must_rules 的出站,命中该出站的 DNS 请求将绕过 dns 模块,直接进行路由并发出,提供给有特殊用途的用户使用。
  • 支持 v2rayN 格式的 vmess 分享格式中的不标准 bool 值解析。
  • 支持在 dns 中使用 ipversion_prefer,设定当域名是双栈时,只返回 ipv4 还是只返回 ipv6。

修复

  • 修复在 dns 的 response 路由中对无序 ip 序列的支持问题。
  • 修复 trojan 可能的 panic 问题。
  • dns 缓存丢失且dial_mode 为 domain 时将尝试重路由,以缓解 dns 缓存丢失时无法使用 domain 进行路由的问题。
  • 修复部分游戏无法进入的问题,该问题是由于 tcp 建立连接时,dae 总是等待客户端发包,但一些游戏场景中,首包是由服务端 push 的,因此陷入无限等待。

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.5...v0.1.6

dae - v0.1.5

Published by mzz2017 over 1 year ago

  • 修复 wan_interface 填入 auto 时可能出现的无法启动的问题。
  • 修复 https 协议(naiveproxy)的支持问题,新增对 h2 的长连接和多路复用。
  • 移除 DNS 抢答检测器,因为它不总是在所有地区都有效,而且在失效时会减慢查询速度。
  • 文档(example.dae):增加通过节点标签精确筛选节点的示例 @yqlbu in https://github.com/daeuniverse/dae/pull/44
  • 文档(example.dae):新增一个 tcp 健康检测 url by @yqlbu in https://github.com/daeuniverse/dae/pull/46

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.4...v0.1.5

dae - v0.1.4

Published by mzz2017 over 1 year ago

更新内容

  • domain routing 给出不标准的域名时将忽略而不是报错。
  • 将 config 所在目录加入到 geodata 的搜索路径。
  • 优化 udp 的内存占用。
  • 忽略 sighup 而使用 sigusr2 作为 suspend 的信号。
  • 支持自动配置 sysctl 参数。
  • 文档: 更新 debian-kernel-upgrade by @yqlbu in https://github.com/daeuniverse/dae/pull/39

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.3...v0.1.4

dae - v0.1.3

Published by mzz2017 over 1 year ago

用户相关

  • 新增 amd64_v2_sse 和 amd64_v3_avx 的可执行文件构建,使用更高的版本理论上可提高一定性能(这次 Release 的 CI 失败了,等下次吧) by @MarksonHon in https://github.com/daeuniverse/dae/pull/38
  • 支持自动侦测 WAN 接口,在 wan_interface 填入 auto 即可。
  • 修复热重载失败时的不正确的回滚行为,以及在一定条件下更改 group 配置时可能无法连接新组的问题。
  • 修复在有 MAC 地址路由的情况下 bind to WAN 将导致无网络的问题。
  • 修改启动时网络联通性检查使用的链接 https://github.com/daeuniverse/dae/commit/c2e02482d0588823d2a3d9cae6998b9a7a5a1fae
  • 修复在一定条件下可能的针对 DNS upstream 的域名分流失败的问题。

开发者相关

  • 打包了包括 go vendor 和 git submodules 在内的源码并随 releases 发布。
  • 增加了 export 命令的描述。

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.2...v0.1.3

dae - v0.1.2

Published by mzz2017 over 1 year ago

  1. 优化热重载时的 DNS 缓存行为,解决热重载时 outbound out of range 的问题。
  2. 增加高通的 generate_204 作为网络联通性检查的链接,以解决部分用户无法访问www.msftconnecttest.com的问题。
  3. 支持龙芯 loong64 架构。
  4. 修复大并发下可能的崩溃问题。

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.1...v0.1.2

dae - v0.1.1

Published by mzz2017 over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/daeuniverse/dae/compare/v0.1.0...v0.1.1

dae - Goose out of shell

Published by mzz2017 over 1 year ago

Package Rankings
Top 5.52% on Proxy.golang.org
Badges
Extracted from project README
Stargazers over time
Related Projects