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 檢查組態。 服務管理本頁以 systemd 或 OpenWrt procd 服務的形式運作 honk:先建立一次服務,再列出啟動、停止、重新啟動、重載 honk 以及檢視日誌的命令。 首次登入本頁在瀏覽器中開啟 doona,建立管理員帳戶,並檢查 doona 是否顯示正在運作的 honk。 介面導覽本頁說明登入 doona 後各項功能的位置:四個導覽分區、頂端列,以及頁面內的分頁、詳細資料面板與操作選單。 觀測流量本頁說明「活動」分區(「活動」與「系統狀態」)及「觀測」分區(「連線」、「分流」、「DNS」、「日誌」與「事件」)。 路由、節點與規則本頁說明「路由」分區中的「策略」「節點」與「規則」三個頁面。 組態與設定本頁說明「組態」頁:在此檢視、驗證並套用 honk 的組態檔。 常見操作本頁彙整調整路由、查看流量與維護 honk 的常用步驟。 組態組態分為兩個檔案。 功能請先確認閘道器能轉送流量。 疑難排解 開發送出 pull request 前先讀 CONTRIBUTING.md。