早期 alpha,不建议用于生产。 可能发生破坏性变更,部分功能尚未完成,真实环境验证仍然有限。
honk 的 eBPF 数据面和配置语法参考 dae 的设计,出站组与 Clash API 参考 sing-box 的设计。它是独立实现,并非任一项目的移植。
- 透明 TCP/UDP:通过 TC eBPF、
dae0/daens和编译路由处理 LAN 转发及本机发起的流量。 - 出站:SOCKS5、Shadowsocks/2022、Trojan、AnyTLS、Hysteria2、TUIC、Juicity、VMess、VLESS、
direct和block。Trojan/VMess/VLESS 支持 H2 XHTTP(packet-up、stream-up、stream-one);VMess 仅支持 TCP。详见协议限制。 - 组策略:Selector(默认)、URLTest、LoadBalance、Fallback 和 Score。Score 使用业务观测与有界验证,详见组策略参考。
- DNS:支持 UDP、TCP、DoT、DoH、DoQ、DoH3 上游,可经节点或组出站,并提供路由和缓存。
- 配置与控制:dae 语法、订阅、重载、Clash 兼容 REST/WebSocket API,以及
honk-toolCLI 工具箱。
不提供 FakeIP 引擎、完整 mihomo 兼容性或 Windows/macOS 数据面。
从 Releases 下载适合目标平台的归档。发布物支持 x86_64 与 aarch64 Linux,一般用途建议选择 full。
| 构建 | 原生 API | Clash API | 内嵌 doona 与 doona lite |
|---|---|---|---|
full |
是 | 是 | 是 |
native-api |
是 | 否 | 否 |
clash-api |
否 | 是 | 否 |
各构建均提供静态链接的 musl 版本,full 另提供链接 glibc 的 gnu 版本。名称含 stock 的归档使用系统分配器而非 mimalloc。每个版本的 Downloads 一节列出校验和及构建来源证明。
OpenWrt 用户可使用 daeuniverse 软件源。
自行编译请按从源码构建准备。发布二进制内嵌 eBPF;仅执行 cargo build --release 不会启用真实数据面。
按启动指南检查内核、安装程序并验证连通性。首次部署会修改网络 hook、命名空间和 sysctl,须保留带外管理通道。
honk 可配合以下两类网页界面使用:
- doona:基于原生 API,提供运行观测、诊断与配置编辑功能。doona lite 为其轻量预览版。在线演示见标准版与 lite 版。
- Clash 面板:基于 Clash 兼容 API,例如 zashboard。
使用 full 构建时,在 experimental.native_api 中将 ui 设为 'embedded' 即可启用 doona,设为 'embedded-lite' 则启用 doona lite。native-api 构建可将 ui 设为另行安装的 doona 所在目录。配置步骤见 doona 快速入门。启用 Clash 面板需配置 experimental.clash_api,honk 首次启动时自动下载 zashboard。各设置项的说明见 experimental 设置。
文档索引汇总中英文配置指南、原生与 Clash API 参考、子系统设计及运维指南。
- 自
v0.1.0起,发布遵循 SemVer;带-alpha.N、-beta.N或-rc.N后缀的标签为预发布。1.0之前,次版本可能改变配置或行为,升级前应阅读发布说明。 - 透明代理需要 root 权限、Linux 6.12+、所需内核选项和 bpffs。详见上方链接的启动指南。
- 配置使用 dae 语法。修改已有部署前,请查阅 NFQUEUE 运行说明和 VLESS 迁移指南。
- 原生 API 使用
/api/v1,其契约在1.0之前可能随次版本变化。GET /api/v1/version返回契约标识。
工作区包含配置、共享 eBPF 类型、NFQUEUE、出站、核心和工具 crate;crates/honk-ebpf 单独构建。详见 Justfile 与贡献政策。
无 root 的用户态开发可使用 mock 模式。--mock-ebpf 不会拦截流量,不能代替数据面测试。
滚动的 Debug 预发布提供来自 main 的最新 debug.* 测试构建。它们使用 release profile,并非 Cargo debug profile;保留期限与发布流程见发布规则。
代理、路由和 DNS 问题请提交至 honk issues;网页界面问题请提交至 doona issues。
安全漏洞请按 SECURITY.md 报告。
- dae / daed-rs:eBPF 透明代理谱系
- sing-box:出站组与 Clash API 模式
- daeuniverse/outbound:协议参考
- juicity-rs(Markson Pigeonzilla Plus):Juicity 协议参考、wire 格式对齐及真实互通测试
- aya-rs:Rust eBPF
SPDX-License-Identifier: GPL-3.0-only
Copyright (c) 2025, glassyiris <honk@catmint.cc> and honk contributors
仅用于开发的 dae 解析器 oracle链接了 dae(AGPL-3.0-only)。它不随发布物分发,也不链接进 honk-core。
- 评估 AF_XDP 与 XDP 路径以进一步提升性能
- 在 Clash 兼容 API 之外添加 honk 专用 REST API
- 添加入站支持
- 探索 macOS 与 Windows 支持;数据面基于 Linux eBPF,这两个平台需要另一种接管流量的方式

