doona
功能
演示
简体中文

功能

首先确认网关能够转发流量。将示例订阅与节点替换为可用的订阅与节点,然后在真实的局域网客户端上分别测试直连与代理的 TCP、UDP 以及 DNS。honk-core is running、dae0 链路或可访问的 API 都不能证明流量正常。

逐项检查功能

示例配置提供下表功能所需的设置;替换占位的订阅与节点后,再逐项检查实际运行情况。

功能 正常时的表现 依赖的配置
登录与所有页面 登录后,活动页显示流量与连接。 enabled: true,以及 password_auth: true 或 secret
配置:编辑文件 来源列表中的每个文件打开后都没有只读标记,应用后会校验并重载。 config_write: true;文件中不含密钥
配置:新建文件 “新建文件”会创建由主文件 include 模式引入的 .dae 文件,例如 config.d/rules.dae。 config_write: true
策略:编辑组 组卡片提供“编辑”,保存后生效。 config_write: true;组位于主文件,且主文件不含密钥
节点:添加节点与订阅 节点页提供“粘贴节点链接”与“添加订阅”。 config_write: true;主文件中不含密钥
节点:刷新订阅 每个订阅行都有“刷新”。 存在 subscription 条目,且 honk 的订阅服务正在运行
设置:地理数据来源 地理数据卡片列出可编辑的来源。 状态数据库
设置:地理数据更新 地理数据卡片的“更新”按钮可用。 config_write: true;data_dir 中有 geosite.dat 与 geoip.dat;状态数据库,或同时设置 geosite_download_url 与 geoip_download_url
设置:后端选项 “流程记录”可设为“按流程需求”“常开”或“关闭”,“日志记录”与“DNS 记录”可设为“随面板”“常开”或“关闭”。 record_flows、record_logs、record_dns_log
设置:地理数据校验 可信镜像的 .sha256sum 地址返回错误时可关闭“SHA-256 校验”。 后端提供 verify_checksum 且状态数据库可用
活动:流量与内存历史 历史图表在最多 10 分钟内逐步填满。 record_traffic、record_memory
日志 打开日志页时持续出现日志。 record_logs
DNS:查询、缓存与记录 列出查询与缓存;打开页面时记录持续增加。 记录需要 record_dns_log;dns 配置段
连接:关闭与编辑命中规则 关闭连接,或在规则页打开可编辑的命中规则,只修改其出站。 enabled: true;编辑需要规则与可写来源
规则:路由规则、DNS 规则与流程 编辑路由规则、DNS request 规则与 DNS response 规则;查看命中、流程记录和追踪模拟。 路由规则需要 routing;流程需要 record_flows;DNS 规则须由后端列出;编辑需要 config_write: true 和可写来源
DNS:根据解析记录新增规则 从解析记录为当前域名及其子域名新增 DNS request 规则。 后端列出 DNS 规则且配置可写
策略:检测设置 后端允许修改时,可调整组的“容忍差值”与“空闲超时”。 groups 及 mutable_config 中对应的字段
概览:运行时降级 honk 在故障恢复后以降级方式运行时,“数据路径”卡片显示警告。 runtime.degradations
延迟测试 节点的“测试”与组的“测试全部”显示延迟。 enabled: true;私有地址目标还需要 probe_allowed_cidrs
事件 事件页显示事件流。 enabled: true

默认的“按流程需求”模式下,连接页与规则页打开时会请求流程;最后一次请求结束后继续记录 60 秒。日志与 DNS 记录在有面板连接时进行。已允许但处于空闲状态的记录器属于正常情况。

仍有功能缺失时

  • 修改 native_api 后没有重启 honk。重载不会应用这些字段。
  • 缺少 config_write: true。native_api 的字段直接写在 experimental 下时,honk 会以 unknown experimental setting 拒绝启动。
  • 既没有 password_auth: true,也没有 secret,且未启用匿名 loopback。此时若设置了 enabled: true,honk 会拒绝启动。listen 为 loopback 地址且设置 allow_anonymous_loopback: true 时,请求无需 Token 即可获准访问,权限与通过 bearer Token 验证的请求相同。此模式仅用于本地开发。
  • 文件包含密钥或与密钥相同的文本,因此 doona 将其显示为只读。
  • honk 是早期的 feat/native-api 构建,因此地理数据卡片没有来源设置。请安装 doona 发布版本附带的构建,见 honk 版本。
  • Token 模式下状态数据库未能打开,因此地理数据来源卡片被隐藏,详见状态数据库问题。
  • 仅在以 --store db 运行时出现,本文档不使用该模式:honk 未能记录的修订会阻止后续写入,直到下一次成功激活配置。

登录之后

界面指南与操作步骤见文档目录。

每一次配置来源的写入都经过引擎。doona 带着读取时的哈希发送(If-Match);磁盘上已变动的文件会返回 412,不会写入。引擎先验证整组来源再保存并重载,重载失败时仍沿用先前的世代。预先验证不会写入,脱敏后的文本也不会写回。运行时设置与组选择走各自的端点,各有检查。

页面与所需资源

策略页

页面 内容 需要的资源
活动 出站模式、流量与内存、活动连接、节点延迟、出站用量、流量最高的客户端、通知 —
系统状态 引擎与 eBPF 状态、流量计数、后端能力、运行时降级、状态 JSON 导出 runtime
连接 实时连接的来源、目的、规则、链路与流量;关闭连接、编辑命中规则、可在网址中带入筛选条件 connections
分流 分流总览与流程记录,含每条记录的追踪步骤 flows
DNS 查询与解析结果、缓存、解析记录;从解析记录新增 DNS request 规则;清空缓存 dns_query、dns_log、dns_cache
策略 组、成员与健康;选择、手动固定、恢复自动选择、测试、编辑与检测设置 groups
规则 路由规则、DNS 规则与追踪模拟;后端列出 DNS 规则时才显示对应分栏 rules、flows、routing_trace
节点 订阅与更新间隔、配置内节点、新增与移除、测试、加入组 nodes、providers
配置 来源与诊断、带校验的编辑器、快速设置、导出 config
事件 后端事件流 events
日志 日志流,可按级别与模块筛选、暂停、导出 logs
设置 后端、运行时设置与后端操作、语言、外观与配色 —

所有页面都保留在导航栏中。只有 registry.ts 为页面列出的资源全部不可用时,页面才会标为不可用;打开后会显示不可用提示。任何页面按 Ctrl K(macOS 为 ⌘ K)可搜索页面、连接、节点、组、订阅、规则与来源。

规则页

主题与配色

所有配色的浅色和深色模式

配色 浅色 深色
Rosé Pine Dawn / Main Dawn Main
Rosé Pine Dawn / Moon Dawn Moon
Catppuccin Latte / Frappé Latte Frappé
Catppuccin Latte / Macchiato Latte Macchiato
Catppuccin Latte / Mocha Latte Mocha
Nord Snow Storm Polar Night
Kary Pro Colors 浅色 深色
Ant Design 默认 深色
Arco Design 浅色 深色
Semi Design 浅色 深色
玻璃 浅色 深色
中国 打卡版 通宵版

浏览器中保存的设置

doona 没有用于存储自身界面设置的服务器端存储。配置与运行时变更通过引擎写入;doona 的界面设置存储在浏览器中,范围限于该网站来源的 localStorage。下表列出主要的键,完整列表见 storage.ts。

设置 键 值
后端 doona-profiles {id, name, api, token} 的 JSON 数组;api 是服务器根地址或代理前缀,留空或 mock 使用演示数据。密码模式下,token 为空,honk 管理会话,doona 将会话 token 保存在当前标签页的 sessionStorage 中。token 模式下,API 请求通过 Authorization 头发送 token。配对链接可能把 token 放在网址片段中,并在加载后移除。
使用中的后端 doona-profile 所选后端的 id
语言 doona-lang zh-TW、zh-CN、en;未设置时按浏览器语言
配色方案 doona-scheme system(默认)、light、dark
配色 doona-palette rose-pine/moon(默认);其他值见 palettes.ts 的 PaletteId
字标 doona-wordmark gradient(默认)、plain

保存的主题与语言在第一帧之前就应用,重新加载不会闪出默认外观。

在 HTTPS 或 localhost 下,service worker 预先缓存应用外壳,并缓存字体与图标,离线也能打开页面,网站可安装为应用。API 响应一律不缓存。安全问题的报告方式见 SECURITY.md。

深色模式的活动页

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。