<a name="common-tasks"></a>

# 常見操作

本頁彙整調整路由、查看流量與維護 honk 的常用步驟。每項操作列出預期結果，並連結至對應頁面的詳細說明。

<a name="one-site"></a>

## 從現有連線讓一個網站經由代理

1. 開啟「觀測」>「連線」，選擇「連線」分頁。
2. 選取連至該網站的連線，開啟其詳細資料面板。
3. 在詳細資料面板按「新增規則」，開啟「新增規則」對話框。
4. 將「依據」設為「完整網域」。
5. 將「出站」設為代理群組。對話框會顯示該連線目前的出站與規則預覽。
6. 檢查「插入位置」。若對話框提示「前面的規則仍可能先命中此流量。」，改選更前面的位置。
7. 按「套用」立即寫入規則並重載；或按「暫存」，稍後透過頂端列的「套用（N）」寫入。

按「套用」後，提示顯示「新規則已生效」。在「規則」模式下，若沒有更前面的規則先命中，符合的新連線會使用新出站；現有連線重新連線後才改用新路由。此對話框沒有「鎖定此出站」，因此「全域」或「直連」模式仍會覆蓋這條規則；如需在這兩種模式下保留該路由，請在「路由」>「規則」中新增規則並開啟「鎖定此出站」。暫存規則見[暫存清單](https://zakkaus.github.io/doona-docs/zh-TW/routing.md#held-rules)，對話框各欄位見[新增規則](https://zakkaus.github.io/doona-docs/zh-TW/routing.md#add-rule)。

<a name="domain-family"></a>

## 讓一個網域及其子網域經由指定群組

1. 開啟「路由」>「規則」，選擇「路由規則」分頁。
2. 按「新增規則」。對話框開啟時，「條件寫法」為「選擇」。
3. 將「依據」設為「網域後綴」，在「值」輸入網域。多個網域以逗號分隔。
4. 將「出站」設為目標群組。
5. 若全域或直連模式下也須依此規則轉送，開啟「鎖定此出站」。
6. 將「插入位置」設在可能先命中同一流量的規則之前。
7. 按對話框中的「新增規則」。

doona 將規則寫入其來源檔案並重載。提示顯示「新規則已生效」；現有連線重新連線後才改用新路由。詳見[路由、節點與規則](https://zakkaus.github.io/doona-docs/zh-TW/routing.md#add-rule)。

<a name="device-bypass"></a>

## 讓一台裝置不經由代理

規則依裝置的來源 IP 位址比對，因此裝置需要固定位址。

1. 開啟「路由」>「規則」，選擇「路由規則」分頁。
2. 按「新增規則」，開啟「新增規則」對話框。
3. 將「依據」設為「來源 IP」，在「值」輸入裝置的 IP 位址。
4. 將「出站」設為 `direct`。
5. 開啟「鎖定此出站」，使全域模式不會改寫此規則。
6. 將「插入位置」設在可能先命中該位址的規則之前。
7. 按對話框中的「新增規則」。

提示顯示「新規則已生效」。該位址的新連線改走 `direct`，現有連線重新連線後才改用新路由。詳見[路由、節點與規則](https://zakkaus.github.io/doona-docs/zh-TW/routing.md#add-rule)。

<a name="group-node"></a>

## 為群組選擇節點並恢復自動選擇

1. 開啟「路由」>「策略」，選擇「群組」分頁。
2. 找到該群組的卡片。
3. 在卡片的節點網格選取節點。提示會確認選擇結果：節點被固定時，提示說明自動策略已暫停；否則說明現有連線已保留或已中斷。
4. 若提示說明已手動固定該節點且自動策略已暫停，開啟卡片的「更多操作」選單，按「恢復自動選擇」。

按「恢復自動選擇」後，提示會顯示該群組目前使用的成員。詳見[路由、節點與規則](https://zakkaus.github.io/doona-docs/zh-TW/routing.md#policies)。

<a name="subscription"></a>

## 新增並重新整理訂閱

1. 開啟「路由」>「節點」。
2. 按「來源」表格上方的「新增訂閱」，開啟對話框。
3. 填寫「名稱」與「訂閱網址」，按「新增」。
4. 之後如需重新整理，按「來源」表格中該訂閱所在列的重新整理按鈕。

按「新增」後，doona 會選取新列。後端支援重新整理訂閱時，doona 會立即重新整理，並在提示中顯示節點數量或失敗原因。詳見[路由、節點與規則](https://zakkaus.github.io/doona-docs/zh-TW/routing.md#nodes)。

<a name="global-mode"></a>

## 切換至全域模式並選擇出站

1. 開啟「活動」。
2. 在「出站模式」卡片選擇「全域」。
3. 在「全域模式出站」卡片選取出站。
4. 按「出站模式」卡片中的「套用」。

doona 將模式與出站寫入主組態並重載，提示會確認新的出站模式。詳見[觀測流量](https://zakkaus.github.io/doona-docs/zh-TW/observe.md#activity)。

<a name="why-outbound"></a>

## 查明連線為何使用某個出站

1. 開啟「觀測」>「連線」，選擇「連線」分頁，再選取該連線。
2. 在詳細資料面板查看「出站」「鏈」與「規則」。
3. 如需開啟命中的規則，開啟詳細資料面板的「更多操作」，按「檢視命中的規則」。「路由」>「規則」頁面會開啟並選取該規則。
4. 如需測試路由，開啟「更多操作」，按「追蹤此連線」。「追蹤模擬」會開啟，並已填入該連線的資訊。
5. 按「開始追蹤」。

追蹤依目前組態模擬路由，不會重播該連線。詳見[觀測流量](https://zakkaus.github.io/doona-docs/zh-TW/observe.md#connections)與[路由、節點與規則](https://zakkaus.github.io/doona-docs/zh-TW/routing.md#trace)。

<a name="dns-resolution"></a>

## 查看網域如何解析

1. 開啟「觀測」>「DNS」，選擇「查詢」分頁。
2. 在「網域」輸入網域，選擇「類型」，按「查詢」。
3. 在結果卡片查看快取狀態、「狀態」「上游」「路由來源」「路由規則」「耗時」與回應。
4. 如需查看先前的解析，選擇「解析記錄」分頁，再選取一列查看詳細資料。

詳見[觀測流量](https://zakkaus.github.io/doona-docs/zh-TW/observe.md#dns)。

<a name="update-geodata"></a>

## 更新地理資料

1. 開啟「設定」>「設定」。
2. 若頁面有「地理資料」卡片，按「狀態」旁的「立即更新」。
3. 否則，在「後端操作」卡片的「地理資料」下按「更新」。

更新操作會下載並驗證檔案，取代現有檔案後重載組態。提示顯示「地理資料已更新並重載」或「無法更新地理資料」。後端不支援手動更新地理資料時，不顯示該按鈕。詳見[組態與設定](https://zakkaus.github.io/doona-docs/zh-TW/config-and-settings.md#geodata)與[疑難排解](https://zakkaus.github.io/doona-docs/zh-TW/troubleshooting.md#geodata-update)。

<a name="reload-honk"></a>

## 在 doona 外修改檔案後重載 honk

1. 在頂端列按「重載 honk」。窄螢幕下，開啟「更多選項」，按「重載 honk」。
2. 在「重載 honk？」對話框按「重載 honk」。

honk 會重新讀取組態檔案並重載，暫存的規則不會寫入。需要重新啟動才生效的設定，須待 honk 重新啟動後才生效，詳見[組態](https://zakkaus.github.io/doona-docs/zh-TW/configuration.md#config)。頂端列的說明見[介面導覽](https://zakkaus.github.io/doona-docs/zh-TW/tour.md#top-bar)。

<a name="changed-on-disk"></a>

## 處理編輯期間磁碟上已變更的檔案

1. 開啟「設定」>「組態」，選擇「來源」分頁。
2. 在「來源」選取該檔案。若開始編輯後磁碟上的檔案已變更，頁面會顯示提示，並停用「套用」。
3. 如需保留磁碟上的變更，按「取消」。草稿會被捨棄，編輯器顯示檔案的目前內容。
4. 如需以草稿覆蓋磁碟上的變更，按「保留修改」，再按「套用」。

「保留修改」不會合併兩個版本；「套用」會以草稿覆蓋檔案。詳見[組態與設定](https://zakkaus.github.io/doona-docs/zh-TW/config-and-settings.md#edit-source)。
