doona
路由、节点与规则
演示
简体中文

路由、节点与规则

本页说明「路由」分区中的「策略」「节点」和「规则」三个页面。内容包括选择组成员、管理订阅、查看与修改规则、暂存规则后一并应用,以及用追踪模拟检查路由。

策略组

打开「路由」分区中的「策略」。「组」标签页为每个组显示一张卡片。

查看组卡片

  1. 卡片标题行显示组名称、策略,以及可用、不可用和未测试的成员数。
  2. 展开「配置」可查看组的设置,例如「检测网址」「检测间隔」和「容忍差值」。
  3. 下方的成员网格显示每个成员的状态或延迟。成员超过 12 个时,网格上方会出现「筛选节点」「地区」「排序」(「按延迟」或「按名称」)和「只显示可用节点」。

选择成员

  1. 策略为「手动选择」的组,在网格中点击成员后立即切换到该成员。
  2. 自动策略的组若后端允许手动固定,点击成员即固定该成员。状态由「自动」变为「已手动固定」,提示消息说明自动策略已暂停。
  3. 如需解除固定,打开卡片的「更多操作」,选择「恢复自动选择」。此项只在组已固定时出现。提示消息会列出自动策略当前选出的成员。
  4. 卡片显示「两者」「TCP」「UDP」选择器时,先选择网络。选择「两者」时,选择成员、固定成员或「恢复自动选择」同时作用于 TCP 和 UDP;选择「TCP」或「UDP」时只作用于该网络。
  5. 卡片显示「切换时中断现有连接」时,此开关决定切换成员时是否中断现有连接。更改此开关会写入组配置并重载。在「手动选择」策略的组中选择成员后,提示消息会说明现有连接已保留或已中断。

测试、编辑与检测设置

以下三项操作都位于卡片的「更多操作」中。

  1. 选择「测试全部」可探测所有成员。提示消息列出可用、不可用和状态未知的数量,以及选择是否更改。后端无法探测此组时,此项停用。
  2. 选择「编辑群组」可修改「选择方式」和筛选条件(「筛选 1」「筛选 2」「添加筛选」),然后点击「应用」。doona 在定义此组的文件中改写 group 区段内的策略与筛选条件,保留其他字段;校验通过后写入并重载。组有多处定义、所在文件只读,或已读取的文件中没有此组定义时,此项停用。
  3. 选择「检测设置」可修改「检测网址」「检测间隔」「容忍差值」和「空闲超时」。对话框只显示后端列为可写入的字段。字段留空表示使用全局值或默认值,然后点击「应用」。对话框打开后若后端已更改某个值,该字段会显示说明;再次应用会以对话框中的值覆盖。

编排组成员

  1. 打开「组成员」标签页。左侧为组,右侧为节点与订阅。
  2. 将节点或订阅拖动到组;也可勾选多行后,点击列表下方的「加入组」。
  3. 按名称加入的节点或整个加入的订阅,可点击其移除按钮移除。组通过规则选入的节点无法在此移除,须在配置来源中修改。
  4. 如需创建组,点击「新建组」,输入「组名称」,选择「选择方式」,再点击「创建」。创建后须加入至少一个节点或订阅;没有成员的组会包含所有节点,因此无法应用。
  5. 更改会先暂存,页面显示尚未应用的更改数。点击「全部放弃」可放弃更改;点击「检查并应用」可打开「检查更改」。
  6. 「检查更改」列出每项暂存更改,每项都有撤销按钮。展开「查看写入的配置文本」可查看组文本。点击「应用」后,doona 先校验整份配置,再写入并重载;校验失败时不会写入。
  7. 有暂存更改时离开页面,会先要求确认放弃更改。

节点与订阅

打开「路由」分区中的「节点」。「节点」标签页列出节点来源,包括订阅、文件和配置内的节点。后端提供节点列表时才会显示「延迟」标签页。

来源与节点

  1. 「来源」表格显示每个来源的「种类」「节点」「用量」「更新」「自动刷新」「到期」和「状态」。
  2. 选中一行来源后,下方的节点表格显示该来源的节点。「搜索节点」覆盖所有来源;「组」和「协议」可筛选表格。
  3. 每行节点显示「协议」「延迟」和「所属组」。点击该行的测试按钮可测量此节点;提示消息显示延迟或失败原因。
  4. 在节点行点击「加入组」,再选择组。doona 会在主配置中将节点名称加入该组并重载。选择「新建组…」可创建以名称筛选纳入此节点的组:输入「名称」,选择「选择方式」,再点击「加入」。

延迟

  1. 打开「延迟」标签页。摘要显示最低延迟、最高延迟和不可用的节点数。
  2. 图表显示每个节点的「当前延迟」。后端提供时,也会显示「移动平均」和「近 10 次平均」。
  3. 在「分组方式」中选择「按组」或「按协议」。每组会列出不可用或未测量的节点名称。
  4. 点击图表中的节点,可在「节点」标签页打开该节点。

添加订阅或节点

添加或移除订阅与文件来源需要后端允许管理来源;添加或移除单个节点需要后端允许管理节点。两类操作都要求主配置可写入;参阅只读来源。

  1. 点击「添加订阅」,输入「名称」和「订阅网址」(HTTP 或 HTTPS)。视后端支持情况,对话框还提供「自动刷新」「User-Agent」和「缓存订阅内容」。
  2. 点击「添加」。后端将订阅写入主配置的 subscription 区段。订阅网址会保存,但不会再返回显示。
  3. 新订阅在获取前没有节点。后端支持刷新订阅时,doona 会立即刷新,提示消息显示节点数。刷新失败时,提示消息提供「重试」。
  4. 如需添加单个节点,点击节点表格上方的「粘贴节点链接」。输入「名称」和「节点链接」(例如 vless://…),再点击「添加」。节点会写入主配置的 node 区段。

刷新订阅

  1. 点击订阅行的刷新按钮,可立即获取该订阅。点击「刷新全部订阅(N)」可一次获取所有订阅;「设置」页的后端操作也提供相同操作。
  2. 刷新会经由订阅的下载路由获取内容,并应用新的节点;订阅的来源设置不会改变。
  3. 成功时,提示消息显示节点数。失败时,保留最近一次成功加载的节点。
  4. 下载路由尚无可用节点时,刷新会失败,不会改用直连。例如,路由规则将订阅导向一个由该订阅尚未提供的节点组成的组。
  5. 如需更改订阅的刷新频率,在该行的「自动刷新」列选择数值。doona 会将间隔写入主配置并重载。

移除来源或节点

  1. 如需移除订阅或文件来源,打开该行的「更多操作」,选择移除项,再在对话框中确认。doona 会从主配置删除此来源及其节点并重载。
  2. 配置内的节点在其行上有移除按钮。移除后,该节点会从主配置的 node 区段删除并重载。

路由规则

打开「路由」分区中的「规则」。标签页包括「路由规则」「DNS 规则」和「追踪模拟」;每个标签页只在后端提供对应功能时显示。

查看规则列表

  1. 从上到下阅读列表。第一条匹配的规则决定出站;最后一行编号为 —,即 fallback。
  2. 每行显示「序」「表达式」「出站」「位置」和「命中」。must 标记表示出站已锁定。
  3. 「位置」显示规则所在的文件和行号。「命中」统计当前快照中保留的流程记录,不是累计值。
  4. 列表说明文字显示规则数和规则列表的 generation。
  5. 后端只提供流程记录而不提供规则列表时,此标签页改为显示当前快照中按规则分组的流程,包括「命中」和「占比」。

打开规则来源

  1. 点击某行的「打开来源」,「配置」页会打开该文件并定位到规则所在行;参阅编辑来源。
  2. 位于引入文件、且不在 routing 区段内的规则无法在列表中更改,须通过「打开来源」在文件中编辑。

编辑或移除规则

  1. 点击某行的「编辑出站设置」。对话框显示规则的表达式。选择其他「出站」,必要时打开「锁定此出站」,再点击「编辑出站设置」确认。此操作只修改出站,条件保持原样。
  2. 点击某行的「移除规则」。对话框列出将删除的文件和行号。点击「移除规则」确认。
  3. 两项操作都在校验通过后写入并重载。提示消息说明更改已生效;现有连接保持当前路由,重新连接后才应用更改。
  4. 规则所在文件只读或内容不完整、doona 无法定位规则所在行,或规则位于 routing 区段外的引入文件时,两个按钮都会停用,鼠标悬停时显示原因。
  5. 在连接的「更多操作」中选择「编辑命中规则的出站设置」,会为该连接命中的规则打开此对话框。

DNS 规则

  1. 打开「DNS 规则」标签页。标签页包含两份列表,各自按顺序匹配:「request 规则」决定如何处理每个查询;「response 规则」决定接受应答、拒绝应答,或通过另一个上游重新查询。
  2. 每行显示规则的表达式、「动作」和「位置」。「解析记录」和「打开 DNS 配置」分别链接到「DNS」页和配置的 dns 区段。
  3. 在任一列表点击「新建规则」可添加规则。对话框与从规则列表新建相同,但以「动作」取代「出站」,且没有「锁定此出站」。规则会写入来源文件的 dns routing 区段。
  4. 点击某行的「移除规则」可删除规则。DNS 规则没有编辑按钮;如需修改,通过「打开来源」在文件中编辑。

新建规则

新建规则有两种对话框。从规则列表打开的对话框会立即写入规则;从观测流量打开的对话框另外提供暂存。

从规则列表新建

  1. 在「路由规则」标签页,点击列表上方的「新建规则」。
  2. 在「条件写法」中选择「选择」,再选择「依据」(例如「域名后缀」「geosite 分类」或「目标 IP」)并输入「值」,多个值以逗号分隔;或选择「表达式」,直接输入「条件」,例如 domain(geosite:netflix)。
  3. 选择「出站」。默认为第一个组;没有组时为 direct。打开「锁定此出站」会加上 must。
  4. 选择「插入位置」:「最后(fallback 之前)」或「第 N 条之前」。默认为列表中的第一个位置。
  5. 点击「新建规则」。doona 将规则加入来源文件的 routing 区段,校验通过后写入并重载。

从观测流量新建

以下页面也提供「新建规则」:

  • 「连接」:选中一行后使用工具栏按钮,或在连接详情面板中使用。参阅连接。
  • 「分流」:记录详情中的「为此目标新建规则」。参阅分流。
  • 「DNS」:「查询」结果及其中每个应答地址、「解析记录」中的记录,以及「缓存」中的条目。参阅DNS。
  • 「追踪模拟」:提供此按钮的规则评估卡片。参阅追踪模拟。

在对话框中:

  1. 流量可写入多份列表时,选择「规则列表」:「路由规则」「DNS request 规则」或「DNS response 规则」。
  2. 流量提供多种条件时,选择「依据」。DNS 规则还可限定为该查询的记录类型。
  3. 选择「出站」;DNS 规则则选择「动作」。出站没有预设值。选项下方显示当前的出站;所选出站不会改变流量走向时,对话框会提示。
  4. 确认「插入位置」。流量命中的规则位于可写入文件时,默认为「命中规则之前」。其他选项为「最后(fallback 之前)」和「最前」。
  5. 对话框底部预览规则内容。前面的规则仍可能先命中此流量,或列表、暂存列表中已有相同规则时,对话框会显示说明。
  6. 点击「暂存」或「应用」:
    • 「暂存」将规则加入暂存列表,不写入。提示消息提供「查看暂存的规则」。
    • 「应用」立即写入这条规则并重载。提示消息说明新规则已生效;路由规则提供「查看规则」,从 DNS 查询新建的 DNS 规则则提供「重新查询」。
  7. 配置无法写入时,对话框改为提供「复制规则」。

暂存列表

  1. 暂存规则只保留在当前的浏览器会话中。重新加载页面会丢弃暂存规则,因此有暂存规则时离开页面,浏览器会先要求确认。
  2. 「规则」页在每份含暂存规则的列表上方显示「待应用:N」卡片。每行显示规则内容和插入位置。
  3. 点击某行的「舍弃暂存的规则」可舍弃该规则。
  4. 点击卡片上的「应用暂存的规则」或顶部栏的「应用(N)」,会写入所有列表中的全部暂存规则。卡片会注明其他列表中的暂存规则数;需写入多个文件时,也会显示文件数。
  5. 规则逐个文件写入,每个文件各自校验并重载。已写入的规则会离开暂存列表。某个文件失败时,尚未写入的规则保留在暂存列表中,失败原因和相关行号显示在卡片上。
  6. 顶部栏的「重载 honk」只重载已写入的配置,不会写入暂存规则。参阅顶部栏。

追踪模拟

追踪模拟按当前配置模拟规则匹配,不会与目标建立连接。

执行追踪

  1. 打开「规则」中的「追踪模拟」。
  2. 选择「网络协议」(TCP 或 UDP)。输入「域名」「目标 IP」或两者,以及「目标端口」。
  3. 选择「解析模式」:「不解析(none)」「实时解析(live)」或「先查 DNS 再模拟(query)」。live 和 query 会先解析域名,因此须填写域名,并将「目标 IP」留空。只能使用后端提供的模式。
  4. 展开「高级条件」可加入「来源 IP」「来源端口」或「进程名称」。
  5. 点击「开始追踪」。

仅提供目标 IP 时,模拟按 IP 与端口判定。dial_mode 使用 domain 系列模式时,引擎会从实际 TLS 或 HTTP 流量嗅探域名,并重新评估规则;如需模拟此结果,请一并提供域名。

解读结果

  1. 状态行显示观测时间和追踪所依据的 generation。
  2. 使用 query 解析时,DNS 查询卡片显示查询结果。「查询 DNS」和「查看缓存」会在「DNS」页打开该名称。
  3. 每张「规则评估 N」卡片显示「判定」(「已判定」或「无法判定」)和「出站」。前序规则缺少输入时,卡片改为显示「可能出站」和「缺少输入」;补齐这些输入后重新执行追踪。
  4. 出站为组时,卡片显示「节点」链和「连通性」。测试按钮可测量该节点;查看组和查看节点的链接可打开对应页面。
  5. 表格列出每条规则的「结果」(「匹配」「不匹配」「跳过」或「无法判定」)以及该规则缺少的输入。

从结果新建规则

点击规则评估卡片上的「新建规则」,会打开从观测流量新建的对话框,条件取自追踪输入。再点击「暂存」或「应用」。

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。