doona
开发
演示
简体中文

开发

提交 pull request 前先读 CONTRIBUTING.md。修正翻译或提议新增语言,见其中的 Translations 一节。

本文档及其站点的源码在 Zakkaus/doona-docs。

命令

在仓库根目录执行:

pnpm install --frozen-lockfile
pnpm build                       # writes dist/
pnpm check                       # types, lint, translations, formatting, unit tests, generated API types
pnpm check:size                  # gzip budgets for the dist/ build
pnpm e2e:install --with-deps     # once, for the browser tests
pnpm e2e                         # rebuild, then test against the mock at the root and under /ui/
pnpm package                     # release/doona-<version>.tar.gz, doona-fonts-<version>.tar.gz, SHA256SUMS

pnpm dev 以 Vite 开发服务器提供模拟后端。发布包的版本号在本地取自 package.json,在标签上取自 Git 描述;时间戳用 SOURCE_DATE_EPOCH,未设置时用 HEAD 提交时间。

对实际后端测试

在仓库根目录执行 DOONA_API=http://router:9527 DOONA_TOKEN=… pnpm e2e:live,可对实际后端执行只读的无障碍、移动端导航与键盘测试。DOONA_API 必填;后端不要求身份验证时可省略 DOONA_TOKEN。测试拒绝通过 fixture 存储覆盖后端设置,并中止控制请求,包括 DNS 查询。普通 pnpm e2e 测试在设置了 DOONA_API 时拒绝执行,除非显式设置 DOONA_LIVE_OBSERVE=1。

截图

node tools/screenshots.mjs <url> docs/screenshots 从运行中的构建截取页面、配色总览、手机拼图与两段动画,输出 WebP,需要安装 cwebp 和 img2webp。

源码布局

路径 用途
src/features/ 各页面及其 hook 与文案,一页一个文件夹
src/shell/ 应用外壳、导航与搜索
src/ui/ 共用组件、主题与图标
src/api/ 客户端、后端档案、模拟后端与生成的类型
src/store/ 资源监听、读取缓存与操作 hook
src/i18n/ 翻译与区域设置辅助
contract/ 内嵌的 OpenAPI 契约与钉点
public/ 静态资源、字体与 service worker
e2e/ 浏览器测试
tools/ 构建、打包、一致性检查与截图工具
install/ nfpm 配置与 OpenWrt、Alpine、Gentoo、Nix 打包配置
docs/ 截图

契约

SOURCE.md 记录 openapi.yaml 的钉点。移动钉点后执行 pnpm gen:api 重新生成 src/api/types.ts。node tools/conformance.mjs http://router:9527 --token … 按契约检查线上后端的发现端点、能力与只读响应,不发送任何修改。

版本变更见 CHANGELOG.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。