OpenWrt 一体包:dae 内核 + daed 配套 + luci-app-daede 管理界面。
需要用于支持 dae / daed 的固件,可使用
kenzok8/imagebuilder 构建。
- dae —— 基于 eBPF 的高性能透明代理内核。流量在内核态分流,直连流量几乎零开销,适合做软路由主力代理。
- daed —— dae 的「带 Web 面板」发行版(daed app + dae-wing + dae 核心 + 内嵌前端),开箱即用的图形化管理。
- luci-app-daede —— 统一管理界面,同一套 UCI 配置同时适配 dae 和 daed,内核切换无需重装。
不是简单打包上游二进制,而是一条可复现、性能优化、自托管的源码构建链:
-
性能优化栈(相比原版 dae 的核心差异)
- dae 核心:追 daeuniverse/dae 官方
main,装配时把 olicesx 的性能 fork 作基线、官方 main merge 在其上(eBPF 数据面优化:连接状态合并、egress 重定向、DNS/UDP 路径优化等)。核心永远跟官方同步,又保住性能 fork - QUIC:基线 + 我们自持的性能补丁(
ci/patches/quic-go/,B-tree 节点池优化),复现的 perf tip ** - 出站:
outbound仍用 olicesx 的优化分支(anytls/sticky-ip 等,分叉较大暂骑上游) - PGO(Profile-Guided Optimization):内置
ci/default.pgo采样档,-pgo=auto让编译器按真实热点优化 - Go 1.26 +
GOEXPERIMENT=newinliner,simd(新内联器 + SIMD),静态链接、-trimpath
- dae 核心:追 daeuniverse/dae 官方
-
可复现构建
- 所有上游 commit 锁定在
ci/pins.env(单一事实来源) - 装配工作流把固定 commit 的源码冻结成自托管 tarball(发布在本仓库
dae-src/daed-src),并写入PKG_HASH - SDK 只 go-compile 这份冻结源 —— 旧 commit 永远能复现,不受上游变动影响
- 所有上游 commit 锁定在
-
广架构覆盖
- x86_64 / i386 / aarch64(a53/a72/generic)/ armv7(a7/a9) 出完整内核包
- armv7 通过移植 sbwml/openwrt_helloworld 的
vmlinux-arm.h补丁解决 trace eBPF 编译问题
| 依赖 | 来源 | 状态 |
|---|---|---|
| PGO 采样档 | 自采样 | ✅ 已 vendored(ci/default.pgo,完全闭合) |
| dae 核心 | daeuniverse/dae main + olicesx 性能基线(装配时 merge) |
✅ 追官方 + 保性能:核心跟官方同步,性能 fork 作冻结基线,不再受 olicesx 滞后影响 |
| quic-go | 基线 + 自持补丁 ci/patches/quic-go/ |
✅ 完全闭合 + 与官方同步:补丁复现的 perf tip 即官方 dae 所 pin,olicesx 删库无影响 |
| outbound | olicesx → 镜像 kenzok8 | |
| 真上游 | daeuniverse/dae · daed · dae-wing | 🔗 主动跟随(真源头,追它是对的) |
设计哲学:把易变、会删的中间层逐步内化——PGO 已 vendored、quic-go 性能已转自持补丁、dae 核心改追官方 main(olicesx 性能作基线 merge);只剩 outbound 因分叉过大暂骑上游。详见
ci/PERF-PATCHES.md。
- 更快:性能 fork + PGO + 新 Go 优化器,不是原版 daeuniverse 直接打包
- 更稳:自托管冻结源 +
PKG_HASH,上游 force-push / 删库都不影响历史版本构建 - 更全:一个
luci-app-daede同时管 dae 和 daed,热切换内核不用重装;架构覆盖到 armv7 - 可追溯:所有依赖 commit 在
ci/pins.env一处锁定,装配 / 发布全自动且留痕
dae—— 性能优化版 dae 内核(eBPF 透明代理)daed—— daed app + dae-wing + dae 核心 + outbound + quic-go + 内嵌 Web 面板luci-app-daede—— 双内核统一 LuCI 管理界面
wget -O - https://raw.githubusercontent.com/kenzok8/openwrt-daede/refs/heads/main/scripts/install.sh | ash大陆网络加速:
wget --no-check-certificate -O - https://ghfast.top/https://raw.githubusercontent.com/kenzok8/openwrt-daede/refs/heads/main/scripts/install.sh | ash在 OpenWrt 路由器上执行以下命令:
wget -qO- https://down.dllkids.xyz/openwrt-feed/openwrt-feed-setup.sh | sh脚本自动完成:
- ✅ 检测 SDK 版本(24.10 / 25.12)与处理器架构
- ✅ 检测该架构 feed 是否存在(覆盖
Packages.gz/APKINDEX.tar.gz/packages.adb三类索引),缺则回退all - ✅ 下载对应公钥,opkg →
opkg-key add;apk → 放入/etc/apk/keys/ - ✅ 写入/更新源配置(
customfeeds.conf或/etc/apk/repositories),不会重复堆积 - ✅ 执行
opkg update/apk update,签名校验失败时自动回退--allow-untrusted - ✅
apk update && apk add dae daed luci-app-daede
wget -O - https://raw.githubusercontent.com/kenzok8/openwrt-daede/refs/heads/main/scripts/uninstall.sh | ash- 安装后进入 LuCI「服务 → daede」
- 选择后端(dae 或 daed)
- 导入配置文件并启动
📖 新手教程:dae 后端使用指南 —— 订阅、节点、分组、路由、DNS 怎么填,常见问题一篇讲清。
| 包名 | 说明 |
|---|---|
ca-bundle |
CA 证书包 |
kmod-sched-core |
eBPF 调度核心 |
kmod-sched-bpf |
eBPF 流量分类 |
kmod-veth |
虚拟以太网设备 |
kmod-xdp-sockets-diag |
XDP socket 诊断 |
kmod-nft-tproxy |
nftables TPROXY 支持 |
dae / daed 二进制由用户按需安装,luci-app-daede 的 Makefile 会自动拉取对应后端包。
dae / daed 用 CO-RE eBPF,运行时需要内核 BTF(/sys/kernel/btf/vmlinux)。开了 CONFIG_DEBUG_INFO_BTF 的内核自带(ImmortalWrt 25.12 等);官方 OpenWrt、在线 ImageBuilder 等固件常未开,daed 会启动失败。
补救方式:
- 装匹配内核的 kenzok8/vmlinux-btf 包补上 BTF(一键安装脚本会自动检测并拉取匹配你内核 + 架构的包)
- 或刷带 BTF 内核的固件:kenzok8/imagebuilder(在线生成,内核已开 BTF)
- OpenWrt 24.10+(推荐 25.x)
见仓库内 LICENSE 文件。








