doona
系统要求
演示
简体中文

系统要求

网关

honk 只能在 Linux 上以 root 身份运行。它会加载 eBPF 程序、创建 dae0 链路与 daens 命名空间并修改 sysctl,因此首次启动时请保留控制台等第二条管理通道。

  • Linux 6.12 或更高版本。内核版本过低时,honk 会在挂载任何程序之前拒绝启动。
  • 下列内核选项。桌面与服务器发行版通常已启用;OpenWrt、Armbian 与 VyOS 需要逐项检查。
  • pname(...) 规则需要 cgroup v2。缺少 cgroup v2 时 honk 仍可启动,但按进程名分流不可用。
  • bpffs 挂载于 /sys/fs/bpf。
  • CA 证书,例如 ca-certificates 软件包。缺少时 honk 会以 subscription network startup failed 退出。
  • 在 debug.2026.9.28.native-api.4 之前的 honk 构建上使用 geoip 规则时,建议至少 512 MB 内存:早期 OpenWrt 测试在 256 MB VM 上更新 geodata 时发生 OOM。从该构建起,honk 将 geodata 更新流式写入磁盘。在 OpenWrt 上,请保留 procd 服务中的 MIMALLOC_PURGE_DELAY=0。
uname -r
zcat /proc/config.gz 2>/dev/null || cat /boot/config-$(uname -r)
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_CGROUP_BPF=y
CONFIG_NET_CLS_BPF=y|m
CONFIG_NET_SCH_INGRESS=y|m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_NS=y
# Held-first-packet UDP (NFQUEUE, on by default) also needs:
CONFIG_NF_TABLES=y|m
CONFIG_NF_TABLES_INET=y
CONFIG_NETFILTER_NETLINK_QUEUE=y|m
CONFIG_NFT_QUEUE=y|m

系统未自动挂载 bpffs 时,执行:

sudo install -d -m 0755 /sys/fs/bpf
mountpoint -q /sys/fs/bpf || sudo mount -t bpf bpf /sys/fs/bpf
mountpoint /sys/fs/bpf
# To mount it at boot, add this line to /etc/fstab:
# bpf /sys/fs/bpf bpf defaults 0 0

honk 版本

  • 只有 Glassyiris/honk feat/native-api 分支及其滚动 debug 发布版本的构建提供原生 API。在该分支上,构建时须显式启用 native-api;发布与 debug 构建已包含此功能。doona beta.12 附带 debug.2026.9.30.native-api.5(提交 25377686)。从 beta.8 起,每个 doona 发行版的 HONK-SOURCE.txt 注明其 honk 标签与提交。
  • daeuniverse/honk main 分支的构建没有原生 API。honk 会以 unknown experimental setting 拒绝所有 native_api 设置,访问 /api 与 /ui/ 会返回 404。
  • feat/native-api 分支的构建若未启用 native-api 功能,启用 native_api 时会以 native-api feature is required 阻止启动。
  • 早期的 feat/native-api 构建可以更新地理数据,但不能设置来源。doona beta.8 和 beta.9 附带的构建两者都支持。

执行 honk-core --version 查看已安装二进制文件的版本;正在运行的版本请查看 doona 概览页的“引擎”卡片或侧边导航栏底部。

浏览器与构建

组件 要求
后端 实现 SOURCE.md 所钉契约并启用 API 监听的引擎
浏览器 Chrome 或 Edge 120、Firefox 121、Safari 17 及以后。这些是 CSS 构建目标;JavaScript 构建目标是 ES2022。自动化测试使用 Chromium,CI 另加 WebKit
构建 仅从源码构建 doona 时需要 Node ^22.18.0 || ^24.0.0 || >=26.0.0 与 pnpm 11.15.1;打包需要 GNU tar、gzip 与 sha256sum
doona

doona 文档

简体中文
doona 文档doona 是 daeuniverse 引擎共用原生 API 的静态 Web 界面:目前对接 honk,dae 实现同一份契约后也可对接。 系统要求 在 Debian 或 Ubuntu 上安装本页在 Debian、Ubuntu 及其他使用 APT 的系统上,用 .deb 软件包安装 doona,并从同一个 doona 发布版本安装 honk-core。 在 Fedora 或 RHEL 上安装本页在 Fedora、RHEL 及其他使用 DNF 的系统上,用 .rpm 软件包安装 doona,并从同一个 doona 发布版本安装 honk-core。 在 Arch Linux 上安装本页在 Arch Linux 及其他使用 pacman 的系统上,用 .pkg.tar.zst 软件包安装 doona,并从同一个 doona 发布版本安装 honk-core。 在 Gentoo 上安装本页用 Portage 从 doona 仓库中的 ebuild 安装 doona,并从同一个 doona 发布版本安装 honk-core。 在 OpenWrt 上安装本页在 OpenWrt 25.12 上用发布版本中的归档文件安装 doona 与 honk-core。 在其他系统上安装本页在没有 doona 软件包、符合内核要求的 x86_64 或 aarch64 Linux 系统(例如 Alpine Linux)上,用发布版本中的归档文件安装 doona 与 honk-core。 安装详解先安装 honk 并编写配置,再安装 doona 并启动 honk。 最小配置本页编写能启动 honk 并提供 doona 的最小 honk 配置,然后手动启动 honk 检查配置。 服务管理本页把 honk 作为 systemd 或 OpenWrt procd 服务运行:先创建一次服务,再列出启动、停止、重启、重载 honk 以及查看日志的命令。 首次登录本页在浏览器中打开 doona,创建管理员账户,并检查 doona 是否显示正在运行的 honk。 界面导览本页说明登录 doona 后各项功能的位置:四个导航分区、顶部栏,以及页面内的标签页、详情面板与操作菜单。 观测流量本页介绍「活动」分区(「活动」与「系统状态」)及「观测」分区(「连接」、「分流」、「DNS」、「日志」与「事件」)。 路由、节点与规则本页说明「路由」分区中的「策略」「节点」和「规则」三个页面。 配置与设置本页说明「配置」页:在此查看、校验并应用 honk 的配置文件。 常见操作本页汇总调整路由、查看流量与维护 honk 的常用步骤。 配置配置分为两个文件。 功能首先确认网关能够转发流量。 故障排查 开发提交 pull request 前先读 CONTRIBUTING.md。