MIHOMO / PLATFORM MANUAL

Clash Meta 全平台安裝與設定指南

本頁依作業系統整理安裝、訂閱、流量接管與疑難排解步驟,適合部署時逐項查閱。初次使用可先依照訂閱匯入與首次連線教學完成最基本的設定,再回到對應的平台章節處理權限、DNS 與背景執行問題。客戶端安裝檔請至客戶端下載頁選擇。

建議依序操作:準備訂閱 → 安裝客戶端 → 啟用設定 → 選擇策略 → 接管流量 → 驗證連線。不同客戶端的介面名稱可能有所差異,本文會依設定、代理、連線、記錄等功能說明操作,不會將特定介面的按鈕名稱視為所有客戶端的通用名稱。

通用準備:訂閱、核心與設定範圍

先釐清客戶端、核心與訂閱的差異

客戶端負責管理設定、操作介面、申請權限及整合系統;mihomo 核心則負責監聽連接埠、解析規則、選擇出站路徑並轉送連線。訂閱提供節點或完整設定,安裝客戶端本身並不會自動建立可用的代理服務。開始前請確認已有合法且可用的訂閱、能連上訂閱來源,並了解訂閱提供的是完整設定還是僅含節點的清單。

完整設定通常包含代理節點、策略組、規則與 DNS 設定;節點清單則需要客戶端的設定範本補上其他內容。兩者都可能以 YAML 格式提供,不能只靠副檔名判斷。匯入後若有節點卻沒有可選的策略組,請先檢查匯入方式與範本,不要直接修改節點伺服器位址。訂閱管理網頁的網址也不等於訂閱 API 網址,請複製服務提供者明確標示的客戶端訂閱連結。

訂閱連結通常具備帳戶存取權限,應視為敏感資訊妥善保存。請勿貼到公開的轉換網站、截圖或討論區;分享設定前,請移除節點密碼、訂閱網址與控制介面金鑰。確認連結外洩後,請至訂閱來源重新產生連結。疑難排解截圖僅保留必要的錯誤類型、設定段落名稱及已遮蔽的網域;完整記錄也應先檢查再傳送。

建立可還原的測試環境

安裝前記下作業系統版本、處理器架構、目前網路,以及已安裝的代理或 VPN 軟體。初次測試時先關閉其他會接管流量的程式,讓網路路徑保持單純。企業設備可能受管理政策限制,不應透過提升權限規避組織規定。安裝需要管理員權限的服務、虛擬網卡或修改路由前,請先確認其用途。

先以預設規則模式啟用系統代理,確認瀏覽器可以連線後,再依需求啟用 TUN。發生異常時,才能判斷問題是出在基本出站連線,還是流量接管。請保留一份可正常使用的設定副本,並記下原本的系統代理狀態;每次只修改一個設定段落。若直接覆寫所有 DNS、規則與路由參數,後續記錄便失去可比較的基準。

項目負責內容驗證位置
訂閱設定節點、策略組、規則或範本輸入設定更新時間與匯入記錄
系統代理提供代理入口給遵循系統設定的應用程式作業系統代理設定與連線記錄
TUN透過虛擬網路介面與路由接管流量權限、介面、路由與 DNS 記錄
策略組為符合條件的連線選擇節點或其他策略目前選項與實際出站記錄

先確認設定可解析,再確認連線正常

以下是僅供直連的最小診斷設定,用來確認 mihomo 能否啟動並監聽本機連接埠,不包含代理節點,也不能取代訂閱。混合連接埠同時提供 HTTP 與 SOCKS 入口;關閉區域網路存取可將監聽範圍限制在本機。如果已有客戶端使用相同連接埠,請停止其中一個執行個體,或為測試執行個體改用其他未使用的連接埠。

mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info
rules:
  - MATCH,DIRECT

執行核心設定檢查命令,只能確認語法與部分參照關係通過檢查,不能證明訂閱中的伺服器可連線。圖形介面客戶端可能會產生實際執行用的設定,因此應檢查核心最後載入的檔案,不一定是訂閱快取。記錄若出現縮排或未知欄位錯誤,請從提示的設定位置往前檢查;原因也可能在上一行。

mihomo -t -f config.yaml

YAML 使用空格縮排,不要混用定位字元。規則中的策略名稱必須與已定義的策略組或節點名稱一致,大小寫及空格也要相符。遠端規則集、節點提供者與地理資料庫也必須能夠下載;完整設定即使成功載入,仍可能因這些相依資源無法使用而出現異常。疑難排解時,請分別確認設定解析、資源載入與請求轉送這三個階段。

Windows:安裝、系統代理與服務權限

選擇安裝檔並完成首次啟動

請從Windows 客戶端下載入口選擇 Clash Plus,其他選項依序有 Clash Verge Rev、FlClash 與 Clash Nyanpasu。Clash for Windows 已停止維護,封存版本主要用於了解舊環境,不建議作為新部署的預設選擇。先在系統資訊確認處理器與系統類型,再核對下載頁提供的架構及系統需求;請勿將其他平台的安裝檔當成相容版本使用。

安裝完成後,先正常啟動客戶端,不必一開始就以系統管理員身分執行整個介面。如果客戶端需要安裝服務元件,請透過其服務管理功能操作,並確認系統授權。受限帳戶無法安裝服務時,可先透過系統代理驗證基本連線;服務安裝失敗與訂閱無法使用是兩種不同問題,反覆重新匯入訂閱並不能解決服務安裝問題。

如果系統安全提示阻止程式執行,請先確認下載來源、檔案屬性與組織安全政策,再決定如何處理。請勿為了啟動某個客戶端而長期停用系統安全功能。安裝目錄、設定目錄與核心執行目錄也各不相同;移轉舊設定時請使用客戶端的匯入功能,避免將舊核心或快取目錄整個覆蓋到新安裝中。

匯入訂閱並選擇目前使用的策略

前往設定管理頁面,新增遠端訂閱,貼上完整連結並儲存。等待下載完成後,明確選擇這份設定作為目前設定,再確認代理頁面是否出現策略組。如果訂閱使用重新導向或需要特定存取條件,失敗記錄可能是網路錯誤,而非 YAML 錯誤;請先確認回應內容,不要將傳回的登入頁面當成設定檔繼續匯入。

在主要代理策略組中選擇可用節點,執行客戶端提供的連線或延遲測試。測試成功只代表測試請求可以完成,不表示所有網站、UDP 或終端機流量都已接管。自動選擇組之後也可能切換出站路徑;疑難排解時可先固定一個節點,觀察相同目標的結果,再恢復自動選擇,避免同時改變多個變因。

啟用規則模式後,開啟系統代理開關,並在 Windows 網路代理設定中確認位址及連接埠與客戶端一致。混合連接埠、控制介面連接埠與訂閱網址不可互換。系統代理通常是目前使用者的設定;其他使用者工作階段、系統服務及部分獨立應用程式不一定會遵循,因此瀏覽器可以使用,不代表整台裝置的流量都經過核心。

分開驗證命令列與 TUN

終端機工具可能會讀取環境變數,也可能需要明確指定代理。以下命令只會為這次請求指定本機代理;連接埠必須與實際執行設定一致。先用這個方式確認代理入口,再決定是否要為終端機設定環境變數。長期保留變數前,請先了解工具對大小寫變數、代理協定與例外清單的支援,避免關閉客戶端後,終端機仍連線至舊連接埠。

curl.exe --proxy http://127.0.0.1:7890 -I https://example.com

若要接管不讀取系統代理的程式,再啟用客戶端的 TUN 模式。請先確認服務狀態正常、已授權建立虛擬網路介面,並查看核心記錄是否回報介面或路由錯誤。使用自動路由時,請特別檢查企業內網、區域網路印表機與其他 VPN 的連線;若發生衝突,應調整排除路由或接管範圍,而不是同時開啟更多網路加速工具。

開啟 TUN 後仍無法連線,請先關閉 TUN,保留系統代理並重新測試。如果瀏覽器隨即恢復,請優先檢查虛擬介面、預設路由、DNS 與其他 VPN;若兩種方式都失敗,則回頭檢查節點與設定。從睡眠恢復或切換網路後發生問題,也可用這個方式比對:先查看介面狀態,再考慮重新啟動核心或服務。

結束執行、更新與系統代理殘留

在 Windows 上按下視窗的關閉按鈕,可能只是將程式縮到系統匣,不能據此判斷核心已停止。準備解除安裝或更換客戶端時,先關閉系統代理與 TUN,再從系統匣正常結束程式。如果異常結束後瀏覽器仍連線至本機代理,請檢查系統代理設定是否殘留;還原原本狀態後再啟動客戶端。關閉軟體後無法上網,不應直接歸因於訂閱失效。

更新前先匯出自訂規則與覆寫設定;更新後確認目前設定、策略組選項與服務狀態。舊服務可能仍占用連接埠,也可能指向已移動的核心路徑。發生連接埠衝突時,請在工作管理員或客戶端記錄中確認占用來源,只保留預期執行的單一執行個體。瀏覽器與終端機的進一步排查方式,請參閱系統代理無效的疑難排解。

macOS:處理器架構、網路服務與背景元件

依處理器選擇客戶端

請前往macOS 下載入口優先選擇 Clash Plus,也可依使用習慣選擇 Clash Verge Rev 或 FlClash。ClashX Meta 已停止維護,封存版本與持續維護中的客戶端應分開考量。在「關於這台 Mac」確認使用 Apple Silicon 還是 Intel,再選擇相應安裝檔。能透過相容層執行,不代表所有背景元件與虛擬網卡相依項目都適用目前的系統。

如果安裝檔是磁碟映像,請掛載後將應用程式移至「應用程式」資料夾,再從該資料夾啟動;不要長期直接從映像檔執行。啟動前確認下載來源,遇到系統安全提示時,請依照系統提供的開啟應用程式流程處理,不要使用停用整套安全檢查的命令。若已安裝舊客戶端,請先正常結束舊執行個體,避免多個狀態列程式同時修改代理設定。

客戶端要求輔助工具、背景服務或網路權限時,請確認申請權限的應用程式與目前操作相符。有些功能會透過特權輔助程式設定路由,一般代理介面則不需要持續以高權限執行。拒絕授權後,請檢查客戶端提供的服務狀態,以及系統設定中的相關項目;不要反覆按下連線按鈕來取代權限檢查。

匯入訂閱並確認網路服務

在設定頁面新增訂閱,等待解析完成後將其設為目前使用的設定。接著前往代理頁面檢查主要策略組,先固定一個節點進行請求測試。從其他客戶端移轉設定時,請特別確認相對路徑、規則集快取與提供者檔案;舊客戶端已下載的檔案不一定會隨設定一併移轉,新客戶端仍需重新取得相依資源。

啟用系統代理後,請確認目前使用的網路服務。macOS 可以同時儲存 Wi-Fi、乙太網路與其他介面的設定,客戶端修改的服務不一定就是目前實際連線的介面。切換擴充基座、有線網卡或網路位置後,請再次確認設定,不要只看狀態列圖示。系統代理位址應指向本機監聽連接埠,而非控制介面位址。

可先執行以下唯讀命令查看系統目前的代理設定,再用明確指定代理的請求進行比對。輸出中有代理資訊,不代表應用程式一定會遵循;瀏覽器擴充功能、獨立應用程式設定與終端機環境變數都可能形成另一條連線路徑。疑難排解時,請分別記錄系統設定與應用程式設定,避免只修改其中一處,卻期待所有程式立即改變。

scutil --proxy
curl --proxy http://127.0.0.1:7890 -I https://example.com

TUN 與其他網路擴充功能的界線

若要接管不讀取系統代理的應用程式,再啟用 TUN,並確認客戶端的背景元件已正常安裝。不同客戶端的安裝與授權方式不一,請以目前顯示的提示為準。啟動後查看介面與路由相關記錄,確認不只是介面上的開關狀態改變。若同時使用企業 VPN、網路過濾工具或其他代理客戶端,請先了解各自接管的路由範圍。

區域網路連線異常時,先確認目標是否位於本機網段,以及該請求實際符合哪條規則。系統代理的略過清單只會影響讀取該設定的程式,不能直接取代 TUN 的路由排除設定或核心規則。公司網域與內網位址應保留必要的 DNS 和直連路徑;不要將所有私有位址的連線問題都歸因於節點故障。

闔上螢幕、從睡眠恢復,或從 Wi-Fi 切換至有線網路後,舊連線可能仍綁定先前的網路路徑。請重新發送目標請求,再查看是否出現新的連線記錄。必要時重新連線客戶端或重新啟動核心,但不要直接刪除所有設定。若只有舊頁面失敗、新連線正常,問題更可能出在連線重用或網路切換,而非訂閱本身。

終端機環境與解除安裝後的還原

終端機的代理環境變數只會影響相關程序及其子程序,不會自動變更整個系統。不了解現有變數的用途時,請勿覆寫 shell 設定。若需長期設定,請一併保留清除方式,並為內網目標設定適當例外。圖形介面啟動的應用程式也不一定會繼承終端機環境,因此終端機與瀏覽器應分別驗證。

解除安裝前,先關閉系統代理、TUN 與登入時啟動選項,再依照客戶端提供的方式移除輔助服務。直接將應用程式拖到垃圾桶,可能留下背景元件或舊代理設定。移轉至新客戶端後,請確認活動監視器中沒有舊核心持續執行,並檢查目前連接埠、設定與實際出站路徑。如需了解兩種流量接管方式的原理,請參閱TUN 與系統代理的分層比較。

Android:VPN 授權、應用程式分流與背景執行

安裝前確認架構與設定相容性

請從Android 下載入口優先選擇 Clash Plus,其他選項包括 Clash Meta for Android、FlClash 與 Surfboard。安裝前先確認裝置架構與客戶端最低系統需求,再安裝相應套件。安裝檔來源的授權範圍應限於本次需要的瀏覽器或檔案管理員,完成後可還原原本設定;企業管理裝置也應遵守應用程式安裝政策。

屬於同一代理生態系,不代表客戶端支援的設定格式完全相同。Clash Plus、Clash Meta for Android 與 FlClash 的實際支援範圍,應以各自的實作為準;Surfboard 使用不同的設定系統,不能將任意 mihomo 完整設定原封不動匯入,就期待所有規則都生效。如果訂閱來源提供多種格式,請選擇明確支援目標客戶端的格式。

從舊應用程式移轉時,先匯出需要保留的自訂設定,再安裝新應用程式。Android 通常不允許不同套件名稱的應用程式直接覆蓋安裝,解除安裝舊應用程式也可能刪除其私人設定與快取。不要只依賴剪貼簿保存訂閱;請將匯入資訊保存在可信任的位置,確認新客戶端能載入設定後再移除舊環境。

匯入訂閱並建立 VPN 連線

前往設定清單新增遠端訂閱,等待下載完成後選擇該設定作為目前使用的設定。先確認策略組已顯示、節點測試正常,再啟動連線。初次執行通常會出現系統 VPN 授權對話框;授權表示允許應用程式建立本機流量接管通道,不代表系統已確認遠端節點可靠,也不表示所有應用程式的請求都會透過代理出站。

Android 通常只能在同一使用者空間中同時執行一個 VPN 服務。其他 VPN、防火牆或使用本機 VPN 的過濾工具可能與客戶端衝突,造成連線被取代、剛啟動就中斷,或特定應用程式無法連網。測試時先停用衝突程式,只保留一個流量接管入口。工作資料與個人資料可能受到不同限制,請分別確認實際執行的位置。

行動裝置的 VPN 流量接管與桌面系統代理並非相同設定。通常不必再到 Wi-Fi 頁面手動設定代理;另外疊加指向本機的 Wi-Fi 代理,反而可能形成難以追查的連線路徑。系統顯示 VPN 已連線,只能證明通道服務正在執行,仍應透過連線記錄確認請求符合的規則、策略組及實際出站路徑。

設定應用程式分流前,先確認清單的作用方式

啟用應用程式分流前,先確認清單代表「僅代理已選取的應用程式」,還是「略過已選取的應用程式」。兩種模式下,相同的勾選結果可能有相反作用。先用一個瀏覽器測試,關閉現有頁面並發起新連線,再查看記錄。變更清單後,有些客戶端需要重新建立 VPN 才會套用;不能只看勾選狀態,就判定系統的流量接管範圍已更新。

應用程式清單決定哪些流量會進入客戶端,規則則決定流量進入後採用哪種策略,兩者不能互相取代。遭排除的應用程式通常不會再經由核心規則判斷;納入的應用程式也可能因符合直連規則而直接連線。若要確認某個應用程式是否經過代理,應一併檢查接管清單、符合的規則與最終出站路徑,而非只看主畫面的連線按鈕。

背景執行、電池與網路切換疑難排解

若螢幕亮起時正常,鎖定後卻中斷,請先檢查系統是否限制背景執行、電池使用或自動啟動。依裝置廠商的設定,為客戶端保留必要的背景權限,同時留意這可能增加耗電。背景通知可用來確認服務是否仍在執行,不建議為了隱藏通知而破壞系統要求。裝置重新啟動後,也應確認客戶端確實恢復連線,而非只恢復介面顯示。

從 Wi-Fi 切換至行動網路後,舊連線可能中斷,應用程式需要重新發起請求。先確認行動數據權限,以及目前節點在新網路下是否可連線,再檢查 VPN 是否仍在執行。如果啟用「永遠開啟 VPN」或「封鎖未經 VPN 的連線」,客戶端中斷時系統可能依政策直接封鎖網路;這是保護機制,請依預期需求設定。

訂閱更新失敗時,先檢查手機時間、訂閱是否有效、目前網路與儲存空間,再確認是否只有更新失敗,而現有節點仍可連線。只有特定應用程式異常時,請檢查其分流設定、獨立 DNS、UDP 使用情況與自身快取,避免清除客戶端所有資料。處理後重新啟動該應用程式並建立新連線,才能確認修改影響的是新請求,而非舊工作階段。

iOS:從 App Store 安裝、匯入設定與驗證 VPN

安裝客戶端並確認訂閱格式

iPhone 與 iPad 建議優先選擇 Clash Plus。可前往本站 iOS 客戶端下載入口查看說明,也可直接開啟Clash Plus 的 App Store 頁面。客戶端官方網站為 clashplus.io。安裝前請查看 App Store 列出的系統相容性、功能介紹與權限說明,不要直接套用桌面版的選單路徑。

iOS 的網路流量接管透過系統提供的網路擴充功能完成,並非安裝桌面版 mihomo 執行檔。客戶端對規則、訂閱格式與擴充欄位的支援程度取決於其本身的實作;同一份設定能在桌面版載入,不代表所有欄位在手機上都會有相同作用。移轉前請確認所需的節點協定、規則類型與 DNS 功能是否受支援。

若訂閱來源提供客戶端專用連結,請優先使用明確適用的入口。只有管理網頁、QR Code 或分享按鈕時,請先確認其指向的是設定內容還是帳戶頁面。QR Code 只是傳遞網址的方式,不會自動轉換設定格式。匯入後請檢查設定清單、策略組與節點內容;不能只憑出現新的設定名稱,就判定已完整匯入。

分別管理遠端訂閱與本機檔案

遠端訂閱通常是在設定頁面新增連結,儲存後等待下載與解析,再選為目前使用的設定。本機檔案則透過客戶端支援的檔案匯入或系統分享功能開啟。匯入檔案只會建立當下內容的副本,不一定保留後續更新關係;若需持續更新節點,請確認客戶端記錄了遠端來源,不要只靠反覆匯入同名檔案。

若檔案在「檔案」App 中看得到,卻無法匯入,請檢查內容是否真的是設定文字、是否仍在雲端等待下載,以及目標客戶端是否支援該格式。電子郵件附件或網頁下載的檔案可能是壓縮檔、錯誤頁面,或附帶其他格式的文件,單純更改副檔名無法解決問題。請回到訂閱來源重新取得正確內容,再查看匯入錯誤訊息。

匯入後先在策略組選擇一個節點進行測試,再啟動連線。自動策略組使用的測試目標可能與實際使用的目標不同;若測試成功但特定應用程式無法使用,請檢查該應用程式的連線記錄與規則,不要連續切換所有節點。手動固定一個節點有助於建立穩定的比較基準,驗證完成後再恢復適合日常使用的策略。

了解 VPN 授權與系統流量接管範圍

首次啟動時,系統可能會要求新增 VPN 設定並驗證裝置。確認要求是由剛安裝的客戶端發起後再授權。完成授權與連線成功是兩個不同階段;如果系統中已有其他 VPN 設定,請確認目前啟用的是哪一個。即使連線按鈕顯示已啟用,仍需實際發出請求,並觀察客戶端是否記錄到相應連線。

iOS 不應沿用桌面系統代理的操作方式。除非正在進行明確的區域網路代理測試,否則不需額外修改 Wi-Fi 的手動代理設定。規則模式可以讓不同請求分別採用直連或代理;顯示 VPN 圖示不代表所有目的地都會使用同一個代理節點。應用程式內建的獨立網路實作,也可能影響記錄中可觀察到的網域與協定。

受系統管理政策限制的裝置,可能套用了依應用程式設定的 VPN、受管理網路或存取限制。一般個人使用的客戶端無法自行覆寫這些政策。若某個工作應用程式始終使用不同的連線路徑,請先確認裝置管理範圍,再聯絡相關管理人員處理;不應透過刪除組織設定來試圖統一代理行為,以免影響工作帳戶與合規要求。

鎖定螢幕後恢復與應用程式層級故障

解鎖並返回應用程式後,先等待網路恢復,再發起新請求。舊連線逾時不代表網路擴充功能已退出,也不必要求主畫面一直保持在前景。若反覆在 Wi-Fi 與行動網路之間切換,請記下發生問題時的網路類型、目前策略與 VPN 狀態,再分別測試。每次只調整一項條件,才能避免將網路切換問題誤判為訂閱錯誤。

只有瀏覽器或特定應用程式異常時,請檢查它是否保留舊連線、使用獨立解析方式,或符合特殊直連規則。可先正常結束目標應用程式,再重新開啟並觀察新連線。不要一開始就清除所有系統網路設定;這麼做會影響其他網路資訊,卻未必能修正遠端節點、規則參照或設定格式錯誤。

更新或刪除客戶端前,請保存訂閱來源與自訂規則。從裝置備份還原後,也應重新確認目前設定與 VPN 授權,不要假設快取、訂閱和系統權限都會以相同狀態還原。完整的取得與匯入流程,請參閱iPhone 客戶端下載與設定匯入步驟;完成後仍應以實際連線記錄與目標存取結果確認設定是否生效。

Linux:桌面客戶端與 mihomo 服務部署

先確認使用桌面環境或伺服器

桌面環境可從Linux 下載入口選擇 Clash Verge Rev 或 FlClash,再依發行版與下載頁提供的格式安裝。伺服器、路由器或需要精確管理程序的環境,可使用mihomo 核心。選擇二進位檔時,請一併確認處理器架構、發行版環境與所需指令集;檔案能解壓縮,不代表適用於目前裝置。

桌面客戶端匯入訂閱、選擇設定與策略的流程,與其他桌面平台相近,但系統代理設定取決於桌面環境。瀏覽器、終端機、容器與背景服務可能讀取不同設定,不能將桌面代理開關視為整個系統共用的路由設定。初次測試應使用明確指定代理的請求,再決定要設定應用程式環境、桌面代理,或啟用 TUN。

部署原生核心時,先解壓縮並授予可信任的二進位檔執行權限,再放到預定位置。以下假設執行檔已安裝至 /usr/local/bin/mihomo,設定檔位於目前使用者目錄。先以一般使用者執行基本代理,不要一開始就使用 root 權限。執行使用者必須能讀取設定檔及其參照的本機規則檔;寫入快取的目錄也必須具備寫入權限。

mkdir -p ~/.config/mihomo
/usr/local/bin/mihomo -t -d ~/.config/mihomo
/usr/local/bin/mihomo -d ~/.config/mihomo

不可將訂閱內容當作 shell 命令執行

原生核心不提供圖形客戶端的訂閱管理介面。完整設定應儲存為工作目錄中的 config.yaml;若取得的只有節點清單,就需要自行補上策略組、規則與其他必要設定,或改用客戶端管理。透過可信任的方式下載後,請先檢查檔案內容與語法;不要將遠端回應內容直接交由 shell 執行,也不要讓敏感訂閱連結留在命令歷史中。

自動更新應採用先下載至暫存檔、確認成功後再取代的流程,並保留上一份可用設定。核心檢查通過後,再執行受控的重新載入或重新啟動。直接以遠端回應覆寫使用中的檔案,可能在網路失敗時將錯誤頁面寫入設定。使用遠端節點提供者時,也要確認提供者名稱、快取路徑、更新間隔與參照的策略組一致。

啟動後先查看記錄,再透過本機混合連接埠發送請求。只有在需要讓區域網路中的其他裝置使用代理時,才考慮調整監聽位址、防火牆與存取控制;不要預設將代理入口或控制介面公開至所有網路。遠端伺服器尤其要區分本機回送介面、內網位址與公網位址,避免方便測試的設定變成長期公開入口。

使用使用者服務管理程序

在支援 systemd 使用者服務的發行版中,可將以下內容儲存為 ~/.config/systemd/user/mihomo.service,並先建立其上層目錄。此設定適用於前述安裝路徑與一般代理監聽,不會為 TUN 授予額外權限。服務應只負責執行核心;訂閱更新與權限設定需要另外規劃,避免將所有維護工作都藏在啟動命令中。

[Unit]
Description=Mihomo user proxy

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d %h/.config/mihomo
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now mihomo.service
systemctl --user status mihomo.service
journalctl --user -u mihomo.service -n 80 --no-pager

使用者服務通常會隨使用者工作階段執行,登出後是否繼續運作取決於系統的使用者管理設定。需要長時間執行的伺服器,應依部署政策選擇合適的系統服務或使用者常駐方式,而不是假設啟用服務就會永久隨系統啟動。修改設定後應先檢查再重新啟動,並查看服務狀態與最近的記錄;啟動命令沒有報錯,不足以證明部署成功。

TUN、DNS 與容器的界線

Linux TUN 需要可用的虛擬網路裝置與相應網路管理權限,一般使用者服務不會自動取得這些能力。啟用前,請先了解客戶端或服務如何取得權限、寫入路由及還原退出後的狀態。以下僅示範常見設定段落,須合併至現有且可用的設定中;不提供節點,也不能取代主機端的權限準備,請勿直接用來覆寫完整設定檔。

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

檢查 DNS 時,請區分系統解析器、核心 DNS 與應用程式自己的加密解析。使用 systemd-resolved 的裝置,也要留意本機存根解析器與監聽位址是否衝突。容器有獨立的網路命名空間,容器中的回送位址不等於主機;即使主機代理可用,容器仍可能需要另外設定存取路徑、代理環境或路由。

停止服務或還原設定後,請確認相關路由、解析設定與環境變數都回到預期狀態。連線異常時,先比較明確指定代理與 TUN 的結果,再檢查介面和防火牆,不要一開始就清除所有規則。遠端維護時請保留獨立的管理連線,避免一次修改路由就中斷目前工作階段,導致無法繼續查看記錄與執行還原。

設定常見問題:依請求路徑逐步定位

訂閱更新失敗與設定載入失敗

先區分下載失敗、回應內容錯誤與設定解析失敗。下載失敗通常需要檢查網路、網址、帳戶狀態、憑證與裝置時間;若成功收到回應,內容卻是網頁,請確認連結是否仍指向訂閱 API;解析失敗則應檢查 YAML 位置、欄位型別與核心相容性。三種錯誤的處理方式不同,反覆按下更新並不會補上缺少的設定段落。

現有設定可以連線但無法更新時,可先保留目前可用狀態,再單獨排查訂閱取得路徑。訂閱網域可能需要直連,也可能受目前網路限制;不要讓更新流程依賴尚未成功載入的策略組,形成循環。調整更新所用的代理方式前,先記下原設定;更新成功後,確認本機規則與策略組選項未遭意外覆寫。

遇到規則集或地理資料庫錯誤時,應檢查參照名稱、下載位置與相關記錄,而不是先刪除所有規則。GEOIP 依賴 IP 資料,GEOSITE 依賴網域資料或相應設定支援;資源缺失與符合結果不如預期是不同問題。更新資源後,請重新建立目標連線並查看實際符合記錄;舊連線並不是驗證新規則的可靠依據。

規則順序、策略參照與 DNS

規則會由上而下依序比對,第一個符合的項目會決定使用的策略。具體網域規則應放在較廣泛的規則之前,預設規則則放在最後。以下片段中的 PROXY 必須已在 proxy-groups 中定義,GEOIP 也需要可用資料庫;這只是規則範例,並非完整且可連線的設定。不同命名方式的訂閱需要同步修改參照,不能直接貼上後忽略錯誤。

rules:
  - DOMAIN-SUFFIX,github.com,PROXY
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

規則模式、全域模式與直連模式會改變策略判斷路徑。疑難排解時先確認目前模式,避免修改 rules 後實際仍處於全域模式。自動測速組、故障轉移組與手動選擇組的判斷條件也不同,名稱本身不代表實際行為。中國大陸與海外的分流設定範例,請參閱mihomo 規則分流實作。

fake-ip 會透過合成位址與對應記錄關聯網域,看到測試網段的位址時,不必立即判定為 DNS 污染。如果應用程式快取了舊對應、繞過核心解析,或自行使用加密 DNS,核心可觀察到的規則資訊可能有所不同。請先檢查解析路徑,再依客戶端提供的方式更新相關快取;不要將所有網域加入過濾清單來掩蓋根本原因,否則會降低網域分流的可理解性。

節點測試成功,卻無法存取目標

延遲測試會使用特定目標與協定,測試成功只代表該測試已完成。實際網站可能受到目標端限制,也可能需要不同連接埠、UDP 或特定區域條件。先固定一個節點,使用瀏覽器或命令列存取相同目標,再查看連線記錄。比對失敗請求是否進入核心、符合哪條規則,以及最後選擇哪個出站路徑,遠比反覆更換測試位址更有助於診斷。

瀏覽器可用但終端機失敗時,先使用明確指定代理的參數驗證;終端機可用但瀏覽器失敗時,請檢查瀏覽器擴充功能、獨立代理設定與快取。所有應用程式都失敗時,再檢查核心監聽、節點連線與 DNS。只有 TUN 失敗時,優先檢查權限、介面與路由。首次驗證的詳細順序,請參閱選擇節點並驗證代理是否生效。

狀況優先檢查下一步
沒有連線記錄應用程式代理與系統流量接管範圍使用明確指定代理的請求進行比對
記錄顯示直連執行模式與第一條符合的規則檢查順序與策略參照
代理出站失敗節點、協定與遠端錯誤固定節點並測試相同目標
只有 TUN 失敗權限、虛擬介面、DNS 與路由關閉 TUN 後以系統代理進行比對

保留有效的診斷資訊與還原方式

訂閱更新後,自訂規則為什麼不見了?

遠端設定可能在更新時整份遭到取代。請將需要長期保留的規則移至客戶端支援的覆寫或合併功能,並確認最後產生的設定順序。不要只檢查編輯頁面;真正生效的是核心目前載入的內容。修改前請保留可用副本,避免為了還原單一規則而失去整份訂閱。

啟用 TUN 後,還需要保留系統代理嗎?

這取決於流量接管範圍與客戶端實作,不應預設兩者必須同時啟用。先分別驗證系統代理與 TUN,再決定是否要搭配使用。兩者並存時,請確認流量不會形成迴圈,區域網路與管理連線仍可正常存取;如果只需要瀏覽器代理,通常可以先使用較簡單的接管方式。

記錄問題時,請保留系統類型、客戶端名稱、目前使用的設定、流量接管方式、失敗目標與操作步驟,並註明最近一次修改。必要時可短暫提高記錄層級,重現問題後再恢復,避免長期累積敏感內容。重新安裝通常無法修復遠端訂閱、目標服務或錯誤規則;請先依請求路徑縮小範圍,確認修改有效後再儲存為新的設定基準。