doona
doona 可以修改什麼
示範
繁體中文

doona 可以修改什麼

doona 透過不同的控制項修改組態來源、執行期狀態、持久儲存的地理資料設定和瀏覽器偏好。關閉 experimental.native_api.config_write 會停用組態寫入,但不會停用所有操作。

更改儲存在哪裡

下表中的組態來源權限指 experimental.native_api.config_write: true、Token 或密碼認證、可用的組態協調器,以及完整且可寫的組態來源。資料庫組態儲存被阻止寫入時,也無法進行普通的組態來源編輯。引入檔案與主設定檔遵循相同的組態來源規則。

即時生效表示無需重載組態。重載表示寫入必須透過驗證並完成啟用操作。重新啟動表示你必須在 doona 之外編輯組態,再重新啟動 honk。

更改 條件 儲存與生效方式
組態來源文字:node、subscription、group、routing、dns 中除 bind 之外的欄位、可重載的 global 欄位,以及 assets.subscription 組態來源權限、目前修訂、所需的本地依賴可用 檔案模式替換檔案;--store db 模式儲存修訂。寫入後重載。
新增或刪除受管節點和訂閱源 可寫的主組態來源及對應的 can_manage 能力 寫入後重載。受管刪除不適用於內建節點、訂閱源產生的節點或引入檔案中的宣告。
編輯訂閱宣告 包含該宣告的組態來源完整且可寫 寫入組態來源後重載。
群組欄位:policy、default、final、tolerance、idle_timeout、interrupt_connections、check_url 所屬組態來源可寫,支援 groups.config_patch,且群組的 mutable_config 包含該欄位 寫入後重載。支援可寫的引入檔案。API 將 default 和 final 分別命名為 default_member_id 和 final_outbound。
執行期 record_flows、record_logs、record_dns_log、log.level、log.buffered_records、dns_log.max_records、flows.max_flows、flows.retention_seconds API 請求獲准、後端宣告支援該欄位、組態允許記錄且值未超出限制 即時生效。不需要 config_write。重新啟動或已接受的組態啟用會重置這些覆寫值。
地理資料 URL 列表、下載路由、校驗和驗證、自動更新排程及重置 憑證、可用的狀態資料庫,以及後端宣告支援的對應設定 即時生效,儲存在狀態資料庫中。設定請求不下載或啟用檔案,也不需要 config_write。更新可用時,doona 在儲存來源 URL 後另行啟動更新。
更新地理資料檔案 組態寫入權限、憑證、已載入且具備路徑和 URL 的資源 下載、替換檔案,然後啟用。見地理資料更新條件。
選擇群組成員、固定自動策略的成員或取消固定 後端運作中、群組選擇能力,以及群組的 can_select 或 can_override 即時生效的執行期操作。不寫入組態來源,也不需要 config_write。Selector 的持久儲存依賴狀態快取,且 experimental.cache_file.enabled 不能為 false。
外觀、語言、佈局、旗幟覆寫和探測偏好 瀏覽器支援及儲存可用 在目前瀏覽器中即時生效,不修改 honk 組態。背景圖片透過 IndexedDB 持久儲存。

honk 啟動時,啟動組態中明確指定的地理資料 URL 和下載路由會替換對應的已儲存覆寫值。組態來源編輯若改變了解析後的原生 API 設定,就需要重新啟動。見地理資料設定。

必須重新啟動的設定

API 會在寫入前拒絕以下實際生效值的更改。請使用外部編輯器修改,再按服務管理操作。編輯器可能顯示需要重新啟動的診斷或 listener_settings_changed;見寫入被拒絕。

區塊 只能透過重新啟動生效的鍵
dns bind
global check_interval、tcp_check_url、tcp_check_http_method、udp_check_dns、tls_implementation、tproxy_port、tproxy_port_protect、pprof_port、so_mark_from_dae、log_level、log_file、lan_interface、wan_interface、auto_config_kernel_parameter、data_dir、store_subscribe、nfqueue_enable
experimental.native_api 所有欄位,包括認證、監聽器、介面、記錄和寫入設定
experimental.clash_api external_controller、external_ui、external_ui_download_url、external_ui_download_detour、secret、default_mode
experimental.cache_file enabled、store_dns
assets geodata.geosite、geodata.geoip、geodata.route、ui.url、ui.route,以及繼承的 route,條件是更改影響了解析後的原生 API 或 Clash API 設定

健康檢查比較的是實際生效的第一個 HTTP URL、請求方法,以及選定的 UDP DNS 目標。切換到 UTLS 模式或從該模式切出時,tls_implementation 需要重新啟動。日誌檔案比較的是實際生效路徑,包括命令列覆寫值。

重載策略也會比較內部欄位 global.tproxy_mark。DAE 組態不接受此鍵,請勿將它加入檔案。資料庫模式下,修改 global.data_dir 會被拒絕並回傳 listener_settings_changed;檔案模式下則回傳需要重新啟動的診斷。

組態來源為何唯讀

檢視組態頁的組態來源標記。以下情況會使組態來源唯讀:

  • config_write 已停用,或 secret 與 password_auth 均未提供憑證。
  • 組態來源宣告了原生 API 或 Clash API 監聽器的金鑰。
  • 文字中含有需要遮罩處理的監聽器金鑰值。honk 會遮罩處理與金鑰相符且長度至少為八位元組的值。
  • 資料庫模式下,記錄生效修訂失敗,導致儲存被阻止寫入。

組態來源集合或寫入協調器不可用時,組態操作也不可用。doona 拒絕不完整的組態來源內容。寫入不能引入監聽器金鑰、改變包含憑證的組態來源集合,或修改監聽器設定。

將監聽器金鑰放在單獨的引入檔案中,並在 doona 之外編輯該檔案。重新啟動 honk 後,重新開啟組態頁,檢查其他組態來源的標記。如果其他組態來源含有相同的已遮罩金鑰值,僅拆分金鑰宣告仍無法解除唯讀。見唯讀組態來源與寫入被拒絕。

檔案系統要求

可寫標記並不代表檔案系統允許替換檔案。在檔案模式下,honk 必須讀取原檔案,在同一目錄建立並同步暫時檔案,將暫時檔案重新命名以替換原檔案,再同步目錄。服務使用者需要能夠存取所在目錄,並有權在其中建立和替換目錄項。

組態寫入會拒絕來源路徑中的符號連結和非一般檔案。僅檢查來源檔案是否具有寫入權限位元,無法判斷能否寫入,因為替換操作修改的是目錄項。併發檔案修改也可能使寫入被拒絕。套用後,確認操作成功,並重新讀取組態來源,檢查其中是否包含你的更改。

地理資料更新有單獨的目標位置規則:套件中的資源通常由資料目錄中的檔案替代。見地理資料位置。

已接受但沒有預期即時效果的欄位

欄位 實際行為
global.preconnect_node_count 供啟動預熱使用。接受組態來源編輯不會再次執行預熱。重新啟動 honk 後,啟動預熱才會使用新值。
global.tls_fragment、global.tls_fragment_length、global.tls_fragment_interval 為相容性而接受並儲存;此 honk 修訂沒有使用這些欄位進行執行期分片的實作。
global.bandwidth_max_tx、global.bandwidth_max_rx 為相容性而接受並儲存;此 honk 修訂沒有使用這些欄位限制執行期頻寬的實作。

編輯被接受只表示操作已開始。操作狀態變為 succeeded 後變更才生效,請重新讀取來源確認。即使如此,相容性欄位也不會改變流量行為。

doona

doona 文件

繁體中文
doona 文件首次啟動若只使用直連,請按快速入門操作。 快速入門使用僅直連的 honk 組態啟動 doona 標準版,登入後驗證閘道器本機的流量。 標準版與 doona lite標準版用於管理組態與觀測流量。 系統需求 在 Debian 或 Ubuntu 上安裝在 Debian、Ubuntu 或其他使用 APT 的系統上,從 doona-web .deb 套件安裝 doona,並從同一個發行版本安裝 honk-core。 在 Fedora 或 RHEL 上安裝在 Fedora、RHEL 或其他使用 DNF 的系統上,從 .rpm 套件安裝 doona,並從同一個發行版本安裝 honk-core。 在 Arch Linux 上安裝在 Arch Linux 或其他使用 pacman 的系統上,從 .pkg.tar.zst 套件安裝 doona,並從同一個發行版本安裝 honk-core。 在 Gentoo 上安裝在本機 ebuild 儲存庫中,用 Portage 從 doona 的 ebuild 安裝 doona,並從同一個發行版本安裝 honk-core。 在 OpenWrt 上安裝在 OpenWrt 25.12 上,從發行套件或封存檔安裝 doona,並從同一個發行版本安裝 honk-core。 在其他系統上安裝在符合以下核心需求的 x86_64 或 aarch64 Linux 系統上,從發行封存檔安裝 doona 與 honk-core。 安裝詳解先安裝 honk 並撰寫組態,再安裝 doona 並啟動 honk。 最小組態本頁撰寫能啟動 honk 並提供 doona 的最小 honk 組態,然後手動啟動 honk 檢查組態。 服務管理本頁以 systemd 或 OpenWrt procd 服務的形式運作 honk:先建立一次服務,再列出啟動、停止、重新啟動、重載 honk 以及檢視日誌的命令。 為第一條連線設定路由從快速啟動繼續,保持 honk 運作並以管理員身分登入。 首次登入本頁在瀏覽器中開啟 doona,建立管理員帳戶,並檢查 doona 是否顯示正在運作的 honk。 介面導覽用導覽開啟頁面,用頂端列搜尋或重新整理,用分頁切換檢視。 觀測流量用「活動」與「系統狀態」查看引擎健康,用「連線」「分流」與「DNS」檢查流量。 路由、節點與規則策略管理群組選擇與成員。 組態與設定「組態」頁讀取、驗證並套用 honk 的設定檔。 常見操作本頁介紹標準版;doona lite 請參閱 doona lite。 功能各項功能的前提條件與操作被停用的原因,見功能啟用條件。 doona litedoona lite 為初學者提供較小的介面,用於編輯 honk 組態。 連線 doona lite將 doona lite 連線至 honk 原生 API,或在沒有後端時開啟示範。 doona lite 常見操作使用 doona lite 匯入資源並編輯 honk 組態。 組態參考本頁列出 doona 涉及的 honk DAE 設定、預設值及生效方式。 doona 可以修改什麼doona 透過不同的控制項修改組態來源、執行期狀態、持久儲存的地理資料設定和瀏覽器偏好。 功能啟用條件在表中找到你要使用的標準版功能,再按對應章節檢查前提並啟用。 疑難排解 開發送出 pull request 前先讀 CONTRIBUTING.md。