CONFIG.YAML / 全平台參考手冊
Clash 全平台安裝與設定指南。
下載與架構選擇、匯入訂閱、設定系統代理與 TUN、平台權限及連線驗證。
這份完整文件依作業系統分章,適合安裝前確認條件、遷移時比對差異,以及連線異常時逐步查閱。第一次使用、只想先連線成功的話,可以先看快速入門教學;遇到特定平台的權限、網路接管或背景執行問題,再回到對應章節,不必從頭修改設定。
建議閱讀順序:先完成通用準備,再選擇平台章節;確認基本連線正常後,再設定 TUN、自訂 DNS 或覆寫規則。範例採用 mihomo 設定語法,實際介面名稱與支援欄位請以用戶端為準。
通用準備:設定來源與接管範圍
先分清用戶端、核心與訂閱
用戶端負責顯示設定、管理設定檔及申請系統權限;核心負責解析設定、比對規則並建立連線;訂閱則提供節點、策略組,有時也包含 DNS 與分流規則。三者的用途並不相同。安裝用戶端不會自動取得可連線的遠端服務,取得訂閱也不代表所有用戶端都能直接讀取。開始前請確認訂閱是否仍在有效期限內、支援哪些格式,以及服務商是否提供適用於目前用戶端的匯入方式。
一般桌機與手機使用者,建議先從下載頁選擇 Clash Plus,再依系統需求比較其他用戶端。需要自行管理服務程序、路由與設定目錄時,再考慮單獨使用 mihomo 核心。原版 Clash、Clash.Meta 與 mihomo 的名稱有演進關係,但不代表所有舊設定都相容;協定、規則欄位與 DNS 功能仍須依實際核心確認,詳見核心與設定相容性整理。
記錄裝置與目前網路狀態
下載前先記下作業系統、處理器架構與安裝套件格式。桌面系統還要確認是否已安裝 VPN、代理軟體、虛擬機網卡或企業安全元件。先關閉其他代理工具,測試一般網頁在直連狀態下是否能開啟;若直連本身就異常,應先恢復基本網路。保留原有代理與 DNS 設定的紀錄,方便測試後還原;不要同時移除網卡、修改路由並更換 DNS 伺服器。
訂閱網址通常具備存取設定的權限,分享日誌或截圖前,請遮蔽完整網址、使用者識別資訊與查詢參數。匯入時請從可信來源複製完整連結,避免聊天軟體插入換行、尾端空格或中文標點。若取得的是網頁而非設定檔,先確認是否需要登入、連結是否過期,以及用戶端是否支援回傳格式;不要將含個人識別資訊的訂閱交給來源不明的轉換網站處理。
安排系統代理與 TUN 的使用順序
系統代理主要將遵循系統代理設定的應用導向本機監聽連接埠,瀏覽器通常可用來進行基本測試,但部分遊戲、命令列工具及使用自有網路堆疊的應用可能不會遵循。TUN 則會建立虛擬網路介面,透過路由接管更多連線,通常需要較高權限,也會涉及 DNS 處理與網卡設定。桌面故障排除建議先測試系統代理,再視需要切換至 TUN;行動裝置通常透過系統 VPN 擴充功能接管流量,不宜直接照搬桌面的開關方式。
| 方式 | 適用範圍 | 優先檢查項目 |
|---|---|---|
| 系統代理 | 遵循系統設定的應用程式 | 監聽位址、連接埠、略過清單 |
| TUN 接管 | 透過虛擬網卡與路由傳送的流量 | 服務權限、路由、DNS 與其他 VPN |
| 個別應用程式代理 | 明確設定代理的單一應用程式 | 代理協定及應用程式本身的設定 |
建立最精簡的可驗證設定
以下僅為基本欄位片段,需合併至現有且可正常運作的設定中,不包含節點與策略組。連接埠請以用戶端實際顯示的數值為準;部分用戶端會以設定頁的連接埠覆寫訂閱欄位。請維持僅供本機存取與規則模式,暫時不要開放區域網路。YAML 請以空格縮排,冒號後保留空格,同層欄位對齊;載入失敗時先查看錯誤行號,不要為了掩蓋語法問題而刪除整段規則。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
匯入後分三個層次驗證:設定是否成功載入、所選節點能否建立連線,以及目標請求是否命中預期策略。先選擇一個節點,不要開啟頻繁自動測速;分別造訪一個直連目標與一個應使用代理的目標,並在連線頁確認策略與出口。測試成功後,另存一份設定副本並記錄接管方式。之後新增規則或 DNS 設定時,每次只修改一項,才能判斷變化的原因。
Windows:安裝、系統代理與服務權限
依架構安裝並保留遷移資料
在系統設定的「系統 → 系統資訊」查看系統類型,確認是常見的 x64 還是 ARM 裝置。先前往Windows 下載區查看 Clash Plus;其他選擇依序為 Clash Verge Rev、FlClash、Clash Nyanpasu。Clash for Windows 已停止維護,只有在有明確相容需求時才參考封存版本。不要只因名稱熟悉,就把舊用戶端當成新裝置的預設選擇;也不要混用不同架構的安裝套件反覆嘗試。
從舊用戶端遷移前,請記錄訂閱來源、手動選取的策略組、自訂規則與應用程式專用代理設定。可匯出的本機設定請先存到獨立資料夾,但不要直接覆寫新用戶端的整個資料目錄:資料庫、介面設定與服務狀態未必相容。新安裝先保留預設資料目錄,完成一次基本連線後,再逐項遷入自訂內容。遷移時的取捨可參考Clash for Windows 遷移步驟。
啟動安裝程式時,請確認檔案來源並留意系統提示。安裝完成後先以一般使用者身分開啟用戶端,不必將日常操作全部設為系統管理員權限。若安全元件阻止執行,先查看遭封鎖的項目與組織政策,不要為了啟動程式而關閉整套系統防護。公司管理的電腦可能限制代理、驅動程式或服務安裝,應由裝置管理員確認這類限制;反覆點選授權無法解除政策層級的封鎖。
匯入訂閱並確認系統代理
前往設定或訂閱管理頁,選擇透過連結新增,貼上完整訂閱網址並等待下載完成。出現設定項目後,還要將它設為目前使用的設定,再開啟代理頁確認策略組與節點已載入。只看到訂閱名稱,不代表核心已切換;若清單為空,先查看更新結果與設定解析日誌。更新失敗時請保留原設定,不要連續刪除並重建,以免連可用的快取也一併清除。
選擇規則模式,並在需要手動選擇的代理群組中指定節點,再啟用系統代理。前往 Windows 的「網路和網際網路」代理設定,確認位址與連接埠;通常應指向本機迴圈位址及用戶端顯示的監聽連接埠。若瀏覽器安裝過代理擴充功能,請暫時停用其接管功能;否則網頁請求可能使用擴充功能儲存的舊連接埠,即使系統設定正確,也無法進入目前的核心。
開啟測試頁面時,同時觀察用戶端的連線清單。若網頁失敗且清單中沒有相應請求,優先檢查瀏覽器本身的代理、系統略過清單與本機監聽;若出現請求但連線失敗,再檢查節點驗證、遠端可連線性與規則選擇。部分應用程式需要重新啟動,才會重新讀取系統代理。命令列工具也可能只讀取環境變數,不能因瀏覽器連線成功,就認定所有程式都已接管。
啟用 TUN 並處理權限錯誤
確定有應用程式不遵循系統代理時,再啟用 TUN。不同用戶端可能要求先安裝服務模式或授權輔助程序;依介面提示完成後,請確認服務確實正在執行,而不只看開關是否已開啟。首次測試可關閉系統代理,只保留 TUN,方便確認流量來源。若建立虛擬網卡失敗,先查看權限或驅動程式錯誤;若新增路由失敗,則檢查其他 VPN、虛擬機網路與殘留服務。
若本機連接埠已被占用,可在 PowerShell 查看監聽程序。以下命令只會檢查範例連接埠,不會結束任何程式;若設定頁使用其他連接埠,請改成實際數值。取得程序識別碼後,在工作管理員確認所屬應用程式,先正常關閉舊工具,再重新啟動目前的用戶端。不要只因連接埠被占用就大量終止不明程序,系統服務與開發工具也可能使用本機連接埠。
Get-NetTCPConnection -State Listen -LocalPort 7890 |
Select-Object LocalAddress, LocalPort, OwningProcess
電腦從睡眠喚醒,或從有線網路切換至 Wi-Fi 後連線中斷,先關閉再重新開啟目前的接管方式,觀察核心是否重新辨識預設網卡。如果只有 TUN 異常而系統代理正常,應從路由與網卡著手排查,不要重新購買訂閱或隨意更換節點協定。防火牆規則也應限於必要的程式與網路範圍;保持 allow-lan: false 時,不必為了讓本機瀏覽器存取而開放整個區域網路的連入連線。
最後確認停止接管後的狀態:先在用戶端關閉系統代理或 TUN,再正常結束程式,確認瀏覽器仍可直連。若程式異常結束後整個網路都無法使用,請檢查系統是否殘留本機代理位址,並還原先前記錄的設定。連線穩定後再考慮開機啟動;開機啟動、服務啟動與自動連線是三種不同選項,應分開測試,避免每次登入時有兩個用戶端同時變更代理設定。
macOS:晶片架構、輔助服務與網路位置
選擇安裝套件並處理首次啟動
開啟 Apple 選單中的「關於這台 Mac」,確認裝置使用 Apple 晶片或 Intel 處理器,再前往macOS 下載區選擇對應架構。優先考慮 Clash Plus,也可比較 Clash Verge Rev 與 FlClash;ClashX Meta 已停止維護,只有在遷移舊設定時才需要特別留意其過往行為。可透過相容層執行,不代表適合長期使用;建議優先選擇符合本機晶片架構的套件,減少額外相容性問題。
使用磁碟映像安裝時,請先將應用程式複製到「應用程式」資料夾,再啟動;不要長期從已掛載的磁碟映像或下載資料夾執行。這樣較容易維持更新、輔助服務路徑與系統權限紀錄的一致性。首次啟動若遭系統封鎖,先確認下載來源,再依照系統「隱私權與安全性」中的提示處理。不要使用來源不明的終端機命令移除所有應用程式的安全屬性,也不要直接把啟動失敗歸因於訂閱問題。
需要輔助服務時,請分清用戶端本身與它安裝的背景元件。修改系統代理、建立虛擬網卡或管理路由,可能需要一次管理員授權;授權完成後,請回到用戶端確認服務狀態。若曾移動應用程式或更換同類工具,舊服務路徑可能已失效,應透過對應用戶端的修復或解除安裝功能處理;只把應用程式圖示拖到垃圾桶,可能會留下背景元件。
匯入訂閱並檢查系統代理
在設定頁新增訂閱網址,等待下載與解析完成後,再選取該設定。先確認策略組存在、目前選擇指向有效節點,並維持規則模式。若訂閱包含用戶端不支援的欄位,日誌通常會顯示欄位或協定名稱;應向設定來源確認是否能提供相容版本,或改用支援該欄位的用戶端。不要直接刪除報錯行,因為該欄位可能是建立遠端連線所需的關鍵參數。
啟用系統代理後,開啟系統設定中的「網路」,選取目前使用的網路服務,並在詳細資訊中查看代理項目。Wi-Fi 與有線網路可能分別儲存設定,請確認選到目前實際傳送流量的項目。位址通常是本機迴圈位址,連接埠則應與用戶端一致。若瀏覽器能連線、終端機卻不行,先確認終端工具是否讀取系統代理;若兩者都失敗,再檢查監聽程序與設定載入狀態。
系統代理略過清單會決定哪些目標不經過本機代理。公司內網、印表機與本機開發位址可能需要維持直連,不應為了測試而永久刪除所有例外。反過來說,過於寬泛的網域或位址範圍,也可能讓原本預期經代理的請求繞過用戶端。修改前先記錄原值,選定明確目標重新測試,並在連線頁確認是否出現請求;只看選單列的開關,無法判斷實際連線路徑。
TUN、睡眠喚醒與 DNS 快取
啟用 TUN 前先完成輔助元件授權,並暫停其他 VPN。不同用戶端使用的接管方式與服務管理機制不盡相同,系統顯示的權限提示也可能不同,請以目前應用程式的說明為準。首次驗證時可暫時關閉系統代理,透過規則日誌確認流量確實由 TUN 進入。若啟動時出現預設網卡辨識或路由錯誤,請記錄當時的網路介面與其他網路擴充功能狀態,再決定是否重新啟動輔助服務。
筆記型電腦從睡眠喚醒、切換無線基地台,或連上需要網頁登入的公共網路時,舊連線與 DNS 結果可能暫時失效。先關閉代理,完成網路入口登入後再重新連線。若只有少數網域仍無法正確解析,確認 DNS 設定無誤後再清除系統快取;以下命令需要管理員權限,只會清除本機快取,無法修復訂閱、遠端節點或錯誤的 DNS 設定,因此不應把它當成排查所有問題的第一步。
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
部分瀏覽器會自行使用加密 DNS,應用程式也可能長時間保留已建立的連線。修改解析策略後,請關閉相關測試分頁或重新啟動應用程式,再觀察新請求。若使用 fake-ip,不要把快取中的虛擬位址直接當成真實伺服器位址進行手動連線測試;這類位址需要由對應核心解析。應搭配連線日誌判斷 DNS 解析行為與目標出口,不能只憑一次命令列查詢下結論。
完成遷移後,依序測試瀏覽器、需要代理的桌面應用程式,以及應直連的區域網路服務。最後關閉接管並結束用戶端,確認網路恢復正常。若只有特定網路位置異常,應優先比對該位置儲存的代理與 DNS 設定,而非刪除所有系統網路服務。保留一份可還原的設定,有助於分辨問題是由系統更新、用戶端更新或訂閱變更造成。
Android:安裝架構、VPN 授權與背景執行
下載與安裝前先確認裝置
前往Android 下載區優先查看 Clash Plus,其次可選 Clash Meta for Android、FlClash 與 Surfboard。常見手機使用 ARM64,但舊裝置或特定系統可能需要其他版本,請依裝置資訊與下載頁說明選擇。安裝失敗時先查看系統提供的具體原因:架構不符、系統條件不足、儲存空間不足與簽章不一致的處理方式各有不同,不應只靠反覆下載同一個檔案解決。
透過瀏覽器或檔案管理員安裝時,系統可能會要求允許從該來源安裝應用程式。只為目前使用的來源授權,安裝完成後再視需要撤銷。若新舊版本的簽章不同,可能無法直接覆蓋安裝;解除安裝前先匯出訂閱與本機規則,並確認能重新取得設定,因為解除安裝通常會刪除應用程式的私有資料。請勿將備份檔放在聊天室或公開雲端硬碟中,訂閱網址本身可能就足以存取帳戶設定。
Surfboard 與 Clash 系列的設定格式不能直接視為完全相同,匯入前請確認服務商是否提供對應格式。即使兩款應用程式顯示相同的協定名稱,規則語法與訂閱內容也未必通用。選擇用戶端時,先確認設定來源是否支援,再考慮介面習慣;轉換格式會增加變數,基本連線尚未建立前,盡量採用服務商明確支援的原生匯入方式。
匯入設定並允許 VPN 連線
在設定管理頁新增遠端訂閱,貼上網址並下載,再將該項目設為目前使用的設定。若透過 QR Code 匯入,先確認辨識結果是訂閱、單一節點還是網頁登入網址;掃描成功不代表設定有效。下載失敗時,請檢查手機時間、網路是否需要入口登入,以及訂閱是否仍有效;若匯入成功卻沒有策略組,接著檢查設定格式與解析結果。
首次連線時通常會出現 Android 的 VPN 連線要求,這是應用程式透過系統介面接管裝置流量所需的授權。確認要求來自剛安裝的用戶端後再允許。多數常見裝置在同一使用者空間中,通常只能維持一個作用中的 VPN;其他 VPN、防火牆或採用本機 VPN 的過濾工具,可能會取代目前的連線。狀態列出現 VPN 圖示,只代表通道已建立,不代表遠端節點或 DNS 已正常運作。
先維持規則模式,選定一個節點,開啟瀏覽器並在連線頁確認策略。手機透過 VPN 接管時,不必照著桌面教學填寫系統 HTTP 代理。Wi-Fi 進階設定中的手動代理主要套用於該無線網路,混用兩種接管方式會增加排查難度;除非確實要連線至另一台裝置的代理,否則先還原該 Wi-Fi 的代理設定,再測試用戶端自己的 VPN 通道。
應用程式分流與背景限制
按應用程式代理通常有「只代理選取的應用程式」與「略過選取的應用程式」兩種相反模式,選擇前請仔細閱讀介面說明。初次使用可先不設定應用程式篩選,確認整體接管正常後,再逐一新增例外。若某個應用程式未出現在連線清單中,先檢查它是否被排除、是否在工作設定檔或其他使用者空間中執行,以及目前連線是否由另一款 VPN 接管,不要立刻歸因於節點故障。
螢幕關閉後斷線,常見原因包括系統電池最佳化、背景活動限制或廠商的自動啟動管理。先將用戶端加入允許背景執行的範圍,並保留所需的前景服務通知;各品牌選單名稱不同,請透過系統搜尋電池與背景管理設定。不要一次放寬所有應用程式的限制。允許背景執行後,還要分別測試關閉螢幕、切換網路與系統清理工作,才能判斷是哪種操作中斷服務。
系統的「永遠開啟 VPN」與「封鎖未使用 VPN 的連線」屬於裝置層級的政策。啟用後者,當用戶端中斷時,普通網路連線也可能遭封鎖,因此基本連線尚未穩定前不宜立即開啟。手機的私人 DNS、瀏覽器加密 DNS 與用戶端 DNS 也可能形成不同的解析路徑;先記錄目前設定,再透過日誌確認實際請求,避免同時更換所有 DNS 入口而失去比對依據。
排查耗電時,先降低自動測速頻率並關閉不必要的日誌,觀察耗電是否來自持續傳輸、頻繁重新連線或背景更新造成的喚醒。縮短健康檢查間隔不代表連線一定更穩定;網路切換時連續測速反而可能增加負擔。可參考手機背景執行與耗電設定比較逐項調整。最後只保留符合連線需求的必要功能,並在系統升級後重新檢查背景權限。
iOS:從 App Store 安裝、匯入設定與隨需連線
從 App Store 確認應用程式與設定格式
iPhone 與 iPad 使用者可優先選擇 Clash Plus,前往iOS 下載區進入 App Store,或直接開啟Clash Plus 的 App Store 頁面;產品官方網站為 clashplus.io。安裝前請查看 App Store 目前列出的系統相容條件,並確認裝置符合要求。不要將桌面版的檔案安裝步驟套用到手機,行動裝置的權限與設定儲存方式並不相同。
準備訂閱時,先確認 Clash Plus 目前支援的匯入類型。副檔名相同、網址都以 HTTPS 開頭,不代表內容完全相容。桌面設定可能包含本機路徑、外部指令碼或僅適用於特定核心的欄位,手機版未必能執行。若服務商提供用戶端專用訂閱,請優先使用對應入口;若只有單一節點資訊,請依應用程式提供的新增節點流程輸入,不要貼到遠端設定網址欄位。
iOS 對應用程式沙盒與背景擴充功能有明確限制,電腦上可直接編輯的設定目錄,通常不能原封不動地套用到手機。若要匯入本機檔案,請使用應用程式支援的檔案匯入或分享功能;匯入後確認是否產生獨立副本,以及是否會自動更新。能在「檔案」App 中看到檔案,不代表用戶端會持續讀取該位置,更不代表電腦修改後手機也會同步更新。
新增訂閱並授權 VPN 設定
開啟應用程式的設定或訂閱管理入口,新增遠端訂閱並等待內容載入。確認策略組、節點與規則都已顯示,再選取目前使用的設定。若訂閱更新卡住,先用一般網路確認裝置能連上網際網路,並檢查是否停留在公共 Wi-Fi 登入頁;接著確認連結是否過期、是否要求特定格式。不要在同一次測試中同時更換 Wi-Fi、訂閱來源與用戶端設定,否則很難判斷是哪項變更造成結果。
首次連線時,系統通常會要求允許新增 VPN 設定,請依系統提示完成驗證。授權後回到應用程式查看連線狀態,再前往系統的 VPN 管理頁確認啟用的是對應設定。若裝置上有舊 VPN、組織部署的設定檔或其他網路擴充功能,請先確認各自用途;受管理裝置也可能限制修改。不要為了連線而刪除不熟悉的企業設定,請先向裝置管理單位確認權限範圍。
連線按鈕顯示已開啟,只代表應用程式已嘗試建立接管通道。仍須選擇策略並送出實際請求,再於應用程式提供的連線或日誌頁確認結果。需要直連的本機服務也應另外測試。手機的 VPN 擴充功能不是桌面系統代理的同名替代方案,通常不必在 Wi-Fi 設定中再填本機連接埠;若有殘留的手動代理,請先記錄後還原,避免額外路徑影響判斷。
隨需連線、網路切換與區域網路存取
若應用程式提供隨需連線功能,請等基本連線穩定後再設定,並逐項確認觸發條件。有些策略依網路類型或 Wi-Fi 條件判斷,有些則由網域請求觸發,不能只看「自動」兩字就推測其行為。首次測試請涵蓋鎖定螢幕後喚醒、Wi-Fi 切換至行動網路,以及行動網路切回 Wi-Fi 三種情境。若切換後只有短暫斷線,先觀察擴充功能是否重新建立連線及 DNS 是否更新,不要立刻把所有規則改成全域模式。
公共網路需要網頁驗證時,先暫停自動重新連線,完成登入後再恢復連線;否則隨需規則可能不斷將流量導向尚未可用的網路。若要存取家用儲存裝置、印表機或投放裝置,請檢查應用程式的區域網路權限與設定中的直連規則。裝置探索通常也會用到廣播或多點傳播,單獨新增一條網域規則未必足夠;請分辨是裝置探索失敗,還是連線至已知位址失敗。
不要直接將完整的 mihomo TUN 或 DNS 設定區段貼進手機設定,並假設一定有效。行動用戶端可能採用不同的設定模型,也可能只支援部分欄位,請以匯入結果與功能說明為準。瀏覽器本身的解析策略、系統隱私功能與 VPN 擴充功能之間的互動也會影響觀察結果;需要比較時,一次只暫時調整一項並記錄原始狀態,測試完成後還原無關設定。
若螢幕關閉後耗電明顯增加,先檢查是否頻繁測速、持續記錄日誌、更新間隔過短,或因網路不穩而反覆重新連線。背景擴充功能能否持續執行,也受系統排程與資源狀況影響,不能以桌面常駐程序的經驗推斷手機行為。設定足夠但不過於頻繁的更新排程,比反覆強制關閉並重新啟動應用程式更容易找出問題;相關比較可參考行動裝置執行策略文章。
更換裝置前,請分開保存訂閱來源與必要的自訂規則,不要假設系統備份一定包含所有敏感設定。遷移後重新確認目前使用的訂閱、策略選擇與隨需連線條件,再測試兩種網路。若長期不使用,請在應用程式內中斷連線,並確認系統 VPN 狀態;遇到網頁異常時,先確認是否仍有隨需連線功能在自動恢復,避免誤以為關閉應用程式介面就已停止網路接管。
Linux:桌面安裝、核心執行與路由檢查
選擇桌面用戶端與套件格式
Linux 桌面使用者可先前往Linux 下載區查看 Clash Verge Rev,其次為 FlClash。依發行版選擇可用的 DEB 或 RPM 套件,並確認處理器架構;套件格式所屬的軟體管理系統與處理器架構是兩回事,不能因為同為 Linux 就混用。伺服器、路由器或沒有圖形介面的裝置,可查看核心下載區,但必須自行管理設定目錄、程序、日誌與路由;不要只因檔案較小就優先選擇獨立核心。
安裝前可執行以下命令查看架構與發行版資訊。常見的 x86_64 通常對應 AMD64,aarch64 通常對應 ARM64;路由裝置還可能有不同的浮點運算與指令集需求,請依裝置資料選擇。下載頁提供的桌面套件不涵蓋所有架構,若架構不符,不要強制略過相依套件安裝,否則往往只是把錯誤延後到啟動階段。
uname -m
cat /etc/os-release
使用發行版的套件管理工具安裝本機套件,並留意相依套件缺漏與圖形執行環境的提示。用戶端視窗能正常開啟後,再處理代理與服務權限,避免將顯示伺服器、桌面函式庫缺漏和網路問題混為一談。若安裝了多個同類工具,先停止其他執行個體及其背景服務;連接埠遭占用或兩個服務同時修改路由,都可能導致用戶端啟動後立即中斷。
匯入訂閱並設定桌面系統代理
在圖形介面用戶端中新增遠端訂閱、完成下載並設為目前使用的設定,接著檢查策略組。Linux 桌面的系統代理行為取決於桌面環境與應用程式的實作;部分瀏覽器會讀取桌面設定,終端工具則可能只讀取環境變數。啟用系統代理後先測試瀏覽器,再以明確指定代理的參數測試終端機,便能判斷是核心本身無法使用,還是應用程式沒有採用桌面代理設定。
curl --proxy http://127.0.0.1:7890 --head https://example.com
ss -lntp
連接埠必須與用戶端實際監聽的連接埠一致;測試網址只用來送出請求,收到某個 HTTP 狀態碼不代表所有服務都正常。請查看連線日誌是否出現該請求,以及命中了哪個策略,才能確認實際路徑。若要暫時設定環境變數,先在目前的終端機工作階段測試,不要立即寫入系統全域設定;不同工具對變數大小寫、SOCKS 與 HTTP 代理的支援各異,也可能有獨立設定覆寫環境變數。
獨立核心執行與最小權限
單獨使用 mihomo 時,先建立獨立設定目錄,將已驗證完整的設定存成 config.yaml,並依設定內容準備規則檔等資源。以下假設解壓後的可執行檔名稱為 mihomo,設定檔放在使用者目錄下的專用位置。先測試設定,再以前景模式執行並直接查看錯誤;語法檢查尚未通過前,不要急著建立開機服務。
mkdir -p "$HOME/.config/mihomo"
chmod u+x ./mihomo
./mihomo -t -d "$HOME/.config/mihomo"
./mihomo -d "$HOME/.config/mihomo"
基本代理監聽不一定需要管理員權限,但建立 TUN、修改路由與部分 DNS 操作需要額外權限。圖形介面用戶端可能提供服務管理入口;獨立核心則應依發行版的服務與權限機制設定。不要長期以高權限執行整個桌面工作階段,也不要將未經檢查的訂閱交給擁有廣泛系統權限的程序。只有確實需要時才啟用遠端控制介面,並限制監聽範圍與存取權限。
TUN、DNS 管理與遠端裝置的復原方式
啟用 TUN 前,確認系統提供所需的虛擬網路裝置,並檢查目前路由、其他 VPN 與防火牆規則。系統可能使用 NetworkManager、systemd-resolved 或其他 DNS 管理方式;直接覆寫 /etc/resolv.conf 可能很快就被管理程式重寫,也可能破壞原有設定。先確認該檔案是否為符號連結,找出目前負責 DNS 解析的管理程式,再依用戶端支援的方式設定 DNS,不要同時啟用多種互相覆寫的攔截機制。
透過 SSH 遠端管理伺服器時尤其要小心:修改預設路由可能會讓管理連線也經過代理,導致連線中斷。先保留主控台或其他復原途徑,確認管理目標有直連規則,再測試接管範圍。使用 ip route 與 ip rule 觀察變化,並透過用戶端日誌驗證實際請求;只看到虛擬網卡出現,不能證明政策路由與 DNS 解析已正確設定。
基本運作穩定後,再交由服務管理程式啟動;固定可執行檔、工作目錄與設定檔路徑,避免升級時服務仍指向暫存下載目錄。服務使用的帳號、環境變數與互動終端都可能不同,因此手動執行成功、背景服務卻失敗時,應先檢查路徑、讀取權限與日誌,而不是重新更換節點。最後確認停止服務後是否移除路由並還原 DNS 解析,並保存一份可用設定;後續升級時每次只更換一個部分。
常見設定問題:訂閱、規則、DNS 與連線驗證
訂閱更新失敗與設定遭覆寫
先分辨是「無法下載網址」還是「下載後解析失敗」。前者應檢查網路、系統時間、入口登入、訂閱權限及服務商狀態;後者則查看回傳格式、協定支援與 YAML 行號。若收到的是登入頁或錯誤頁面,即使下載請求有回應,也不是有效設定。部分用戶端可選擇更新時使用直連或代理;只有在已有可用設定時,才適合比較這兩種路徑,不能依賴尚未建立的代理更新唯一訂閱。
訂閱更新後自訂規則消失,通常是因為直接修改了遠端設定快取。請將長期設定移至用戶端的覆寫或合併入口,並確認規則是附加在前還是後:常見規則會依順序採用第一個符合項目,放在末尾的自訂規則可能永遠不會命中。分別保留遠端原始設定與本機擴充內容,遇到問題時先暫停擴充設定進行測試。其他排查方式請參考訂閱更新常見問題。
規則模式、全域模式與節點測試
規則模式依規則選擇策略;全域模式會將進入核心的連線交由全域策略組處理;直連模式通常會讓這些連線直接存取目標。模式只控制已進入核心的流量,不會自動將尚未接管的應用程式導入代理。全域模式可用、規則模式卻無法使用時,先確認規則是否選擇直連或空的策略;兩種模式都失敗,再檢查節點與流量接管。不要誤以為全域模式能解決所有 DNS 或權限問題。
節點測試通常只反映對特定測試網址送出的一次請求,不代表實際下載速度、所有網站的可用性或長期穩定性。測試成功但目標網站失敗時,請確認目標命中的規則、遠端服務限制與連線協定;測試失敗但網頁可正常開啟,則檢查測試網址與逾時條件。不要只憑一次結果大量刪除節點;先固定相同網路與目標進行比較,也可繼續閱讀節點延遲說明與連線速度分層排查。
fake-ip、DNS 攔截與應用程式快取
fake-ip 會為網域名稱配置虛擬位址;後續連線進入同一核心時,再將位址映射回網域並用於規則比對。它處理的是網域與連線之間的關聯,單獨啟用並不能保證所有 DNS 解析都使用相同出口。若應用程式繞過系統解析、瀏覽器使用獨立的加密 DNS,或舊快取仍保留真實位址,觀察結果就會不同。以下是 mihomo 的組合設定片段,需與現有設定及用戶端支援能力合併,不是適用於所有手機的通用範本。
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://1.1.1.1/dns-query
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
範例中的上游 DNS 必須能在目前網路與路由策略下連線;若 DNS 上游本身不可達,反覆清除快取也無法解決問題。攔截 53 埠也不等於接管所有加密 DNS。使用依網域選擇上游的策略時,還要考慮上游網域如何完成初始解析,以及遠端節點網域是否造成解析循環。區域網路網域、裝置探索與特殊應用程式可依需求設定例外,但例外應盡量明確,避免讓所有網域都繞過代理。
驗證 DNS 時,請搭配系統查詢、應用程式請求與連線日誌一起判斷,不要只看檢測頁顯示某個地區,就認定發生 DNS 洩漏。遞迴 DNS 伺服器的位置與網站看到的出口 IP 並非一一對應;快取、公共 DNS 服務的調度方式與檢測方法都會影響結果。若要檢查 DNS 外洩,先確認預期路徑,再比對特定查詢;操作細節請參考DNS 檢測與 fake-ip 設定實作。
依故障層次逐步復原,不要重設所有設定
| 狀況 | 優先檢查 | 比對方式 |
|---|---|---|
| 連線頁沒有請求 | 系統代理、應用程式例外、TUN 路由 | 明確指定本機代理進行測試 |
| 請求已進入,但連線失敗 | 節點驗證、遠端可連線性、策略選擇 | 固定目標並更換另一個節點 |
| 只有網域名稱連線失敗 | 上游 DNS、快取、DNS 接管 | 查看查詢與核心錯誤日誌 |
| 停用用戶端後也無法連線 | 殘留代理、路由、裝置層級 VPN 政策 | 還原安裝前記錄的網路設定 |
遇到速度緩慢時,先確認是否為目標服務限速,再比較同一節點、同一網路及相近時段的連線狀況。只有部分大量傳輸連線卡住時,才進一步檢查 MTU、UDP 路徑或網路設備相容性;不要照抄網路上的固定 MTU 套用到所有平台。可暫時提高日誌詳細程度協助排查,但重現問題後請恢復一般等級,對外提交前也要移除訂閱、驗證資訊與個人瀏覽紀錄。
什麼時候該重新從快速入門流程開始?
最後驗收應包含代理目標、直連目標、區域網路服務、網路切換與停止接管五個項目。記下正常狀態下的監聽連接埠、目前使用的設定、模式與權限狀態,之後出現變化時就有比對基準。完整文件用於說明限制與不同情境,特定問題可繼續查閱常見問題;恢復穩定後,不必為了增加設定項目而繼續修改已符合需求的設定。