CLASH / 安裝與設定參考
Clash 全平台
安裝與設定指南
從系統架構到網路接管,依平台完成安裝,再根據現象逐步排查問題。
本頁是系統化查閱手冊,適合安裝前確認條件,或遇到權限、代理與 DNS 問題時按章節查找。第一次使用、想先確認連線正常,可從 Clash 使用指南依照快速入門流程操作;需要了解平台差異與設定範圍,再回到這裡。安裝檔統一從客戶端下載頁選擇,實際功能請以介面與核心支援為準。
建議閱讀順序:先完成通用準備,再跳至裝置所在平台的章節。最後一章依「設定能否載入 → 流量是否進入 → 規則如何匹配 → 出口是否可連線」逐步排查。
通用準備:架構、訂閱與網路接管方式
先確認裝置資訊,再選擇客戶端
安裝前先記下三項資訊:作業系統名稱、系統架構,以及是否有管理員權限。架構決定安裝檔能否執行,權限則影響能否安裝服務或建立虛擬網卡。不要把「64 位元系統」直接等同於 x64;採用 ARM 處理器的電腦也可能執行 64 位元系統。Windows 可在「關於」查看,macOS 查看「關於這台 Mac」,Linux 則執行下方指令。手機優先選擇下載頁標示適用的安裝檔,舊裝置再確認處理器支援範圍。
有圖形介面的裝置,建議優先使用圖形客戶端;本站在支援的平台優先推薦 Clash Plus。客戶端負責管理設定、切換代理及整合系統,核心則負責解析設定、執行規則與建立連線,兩者並不相同。更換客戶端不會自動轉移系統權限、背景服務及本機覆寫;同一份訂閱匯入不同客戶端,也可能因核心功能或合併方式不同而有差異。選擇細節可參考客戶端比較,核心與圖形客戶端的關係請見mihomo 與圖形客戶端關係整理。
uname -m
# x86_64 通常對應 x64 / AMD64
# aarch64 或 arm64 通常對應 ARM64
準備可匯入的訂閱或設定檔
客戶端是代理工具,不會自行產生可用節點。開始前請準備自己有權使用的訂閱網址或本機 YAML 檔案,並確認服務仍在有效期限內。完整設定通常包含節點、策略組與規則;只有節點清單時,客戶端可能需要範本才能組成可運作的設定。匯入時若出現格式錯誤,不代表所有節點都失效;先檢查連結實際回傳的是設定檔、節點字串,還是登入頁面或錯誤訊息。相關差異請見訂閱格式與轉換說明。
訂閱網址通常含有個人憑證,請妥善保管,視同密碼。不要放在公開截圖、線上轉換網站或公開儲存庫;分享設定檔時,也要檢查節點密碼、控制介面金鑰與本機路徑。遠端訂閱更新可能覆蓋直接修改的內容,個人化設定應優先放在客戶端支援的覆寫或合併入口。修改前先匯出一份目前可用的設定,並記下正在使用的策略組選擇,方便出錯時還原;不要在多個入口反覆修改同一欄位。
分清系統代理與 TUN
系統代理是提供給遵循系統設定的應用程式使用的代理入口。瀏覽器通常可以使用,命令列工具、遊戲及部分應用程式可能完全忽略它。TUN 則透過虛擬網路介面接管指定路由範圍內的流量,需要額外權限並配合路由與 DNS 設定;它不是「解決所有問題的加強按鈕」。建議先用系統代理確認訂閱與節點可用,再依應用程式需求啟用 TUN。行動裝置通常透過系統 VPN 介面接入,介面名稱可能不同,但都要確認系統授權已完成。
| 參數或入口 | 用途與限制 |
|---|---|
| 混合連接埠 | 同一入口可接收 HTTP 與 SOCKS 代理連線,實際連接埠以目前設定為準。 |
| 允許區域網路 | 控制其他裝置能否連入,不是本機連上網路的必要條件。 |
| 規則模式 | 依規則順序進行匹配,最終出口也取決於策略組目前的選擇。 |
| 外部控制 | 供面板或客戶端控制核心使用,不是瀏覽器應填寫的代理連接埠。 |
以下僅為參數說明片段,不含節點,不能單獨當作完整訂閱使用。回環位址只允許本機存取;若要開放給區域網路使用,還需要一併規劃防火牆與驗證機制。尤其不應將外部控制介面直接暴露在公用網路上;遠端管理應另採受控的存取方式。
mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
最後確認系統時間正確、裝置能正常連上區域網路,並暫停其他會變更代理或路由的軟體。記下原本的代理設定與 DNS 來源,尤其是辦公裝置使用的自動設定網址。之後若關閉客戶端仍無法連線,這些紀錄有助於還原原狀;受組織管理的裝置,應先遵循管理員制定的網路政策。
Windows:安裝服務與設定系統代理
下載、安裝與首次啟動
前往Windows 下載區,優先選擇 Clash Plus,再視需求考慮 Clash Verge Rev、FlClash 或 Clash Nyanpasu。Clash for Windows 已停止維護,僅適合在確認相容性後供舊環境參考,不建議作為新裝置的預設選擇。前往「設定 → 系統 → 關於」檢查系統類型,依下載頁說明選擇架構。若裝置沒有對應的原生安裝檔,別只因檔名相似就安裝,先確認系統與客戶端是否支援該執行方式。
安裝時請詳讀系統提示,將程式放在一般應用程式資料夾。首次執行時可能需要安裝背景服務或網路元件,請確認授權對象與正在安裝的客戶端一致。不要長期以管理員身分啟動整個應用程式,藉此取代服務設定:能開啟圖形介面,不代表核心服務已取得所需權限。若安全性提示阻止執行,先確認檔案來源、適用系統與簽章資訊;不要為了完成安裝而關閉整套系統防護。公司電腦若無法安裝服務,請先使用允許的一般代理功能。
匯入訂閱並建立第一條可驗證的連線
前往「設定」或「訂閱」,選擇從 URL 匯入,貼上網址後下載。看到設定名稱不代表已完成,還要將它設為目前啟用的設定,再開啟「代理」確認是否出現策略組。若清單為空,請回到匯入提示檢查下載狀態與解析錯誤,不要急著啟用 TUN。訂閱有多份時,請用名稱區分來源與用途;確認目前選取的是剛匯入的設定,避免修改了一個檔案,實際執行的卻是另一份。
初次驗證時選擇規則模式,在需要代理的策略組中手動選一條節點,再開啟系統代理。前往 Windows「設定 → 網路和網際網路 → Proxy」,確認手動代理的位址與客戶端監聽設定一致。常見的本機位址是 127.0.0.1,連接埠可能是 7890,但請以客戶端目前顯示的資訊為準。若瀏覽器安裝了獨立代理擴充功能,請先停用或確認它沒有覆蓋系統設定,否則測試結果無法反映系統代理是否生效。
可以在 PowerShell 中明確指定代理,與瀏覽器自身設定交叉測試。以下指令只測試本機 HTTP 代理入口;收到目標網站的 HTTP 回應,表示請求至少完成了一次往返,但狀態碼不一定代表頁面正常。不要只憑這個指令,就認定所有應用程式與 UDP 都運作正常。
curl.exe --proxy http://127.0.0.1:7890 -I https://example.com
TUN 權限、網卡與路由
系統代理可用後,若目標應用程式不遵循代理設定,再啟用客戶端的 TUN。首次啟用通常需要服務元件與較高權限,依介面完成安裝後,確認服務確實正在執行。開啟 TUN 後,還要檢查連線頁是否出現目標應用程式的請求,不要只看開關顏色。存在虛擬網卡不代表路由設定正確,核心正在執行也不代表 DNS 已被接管;這些環節需要分別確認。
啟用後若區域網路裝置、印表機或辦公資源失去連線,先關閉 TUN 進行比對。若關閉後立即恢復,請檢查客戶端的區域網路排除、路由排除,以及組織 VPN 的位址範圍。部分客戶端會自動管理私有網段路由,但在不同網路環境下仍可能與現有閘道衝突。不要照抄大段固定的排除規則,尤其不要將所有需要遠端存取的私有位址都設為直連;排除範圍應依實際網路用途決定。
連接埠衝突與退出後的還原
出現「位址已被使用」時,先檢查是否有另一個客戶端、舊的核心程序或開發用代理占用連接埠。使用下方指令查看監聽狀態,再透過工作管理員依程序編號確認來源。不要看到程序編號就直接結束系統程序。若改用新的連接埠,瀏覽器擴充功能、終端環境變數與其他裝置也要一併更新;只修改客戶端的連接埠,不會自動更新外部設定。
Get-NetTCPConnection -State Listen -LocalPort 7890 |
Select-Object LocalAddress, LocalPort, OwningProcess
開機啟動也要分開確認:啟動圖形介面、啟動核心服務、自動啟用設定,以及自動還原系統代理,是不同的選項。設定完成後重新開機一次,確認登入後設定仍已啟用,且連接埠正在監聽。若只有從睡眠狀態恢復後才出問題,先檢查網路切換與服務狀態,再考慮更新訂閱,避免反覆下載設定而掩蓋真正的背景恢復問題。
macOS:晶片架構、網路服務與授權
分辨 Apple Silicon 與 Intel 安裝檔
在 Apple 選單的「關於這台 Mac」查看晶片或處理器。Apple Silicon 通常對應 ARM64,Intel 則對應 x64。前往macOS 下載區,優先選擇 Clash Plus,也可依介面使用習慣考慮 Clash Verge Rev 或 FlClash;ClashX Meta 已停止維護,使用封存的客戶端前應先評估系統相容性。盡量選擇原生架構的安裝檔;能以相容模式執行,不代表背景服務、網路元件與更新流程也適合目前裝置。
若安裝檔是磁碟映像格式,開啟後將應用程式拖曳至「應用程式」資料夾,再從該資料夾啟動。不要長期從已掛載的映像執行,否則路徑、登入啟動項目與更新可能發生問題。若系統提示無法開啟應用程式,先檢查來源、系統需求與完整錯誤訊息,再使用系統提供的處理方式。不要直接執行網路流傳的大範圍移除安全性屬性的指令,更不要對整個應用程式資料夾大幅修改權限。
匯入設定並確認目前使用的網路服務
在客戶端的設定頁匯入 URL 或本機檔案,下載後啟用該設定。前往代理頁,確認策略組與規則已載入,再手動選擇一條節點。接著開啟系統代理,前往「系統設定 → 網路」,選取目前使用的 Wi-Fi 或有線連線,並在詳細資訊的代理頁確認設定。macOS 通常會依網路服務儲存代理設定:在 Wi-Fi 設定成功,不代表切換到有線網路後也會沿用相同設定。
若裝置同時連接有線與無線網路,先確認目前的預設出口與網路服務順序。測試時保留一條明確的網路路徑,較容易定位問題。瀏覽器能上網、終端機卻不行時,先用明確指定代理的指令測試,不要立刻調整系統 DNS。終端工具是否讀取系統代理取決於工具實作;部分工具需要自行設定參數或環境變數,這不代表系統代理失效。
scutil --proxy
curl --proxy http://127.0.0.1:7890 -I https://example.com
scutil --proxy 可用來查看目前的代理設定,重點確認啟用狀態、位址與連接埠;指令輸出無法證明遠端節點可用。若瀏覽器使用自動代理設定、擴充功能或工作設定檔,實際連線路徑也可能被覆蓋。使用一般視窗與明確指定代理的請求交叉測試,可分辨瀏覽器設定與客戶端入口,避免在同一個介面反覆切換卻沒有進展。
輔助服務、TUN 與其他 VPN
TUN 可能需要客戶端安裝輔助服務或網路相關元件。出現授權視窗時,先確認應用程式名稱,再依客戶端流程完成設定並檢查啟用狀態。只授予目前功能所需的權限,不要把「完整磁碟取用權限」當作通用的修復方法。系統升級後,部分授權或背景項目可能需要重新確認;先查看「登入項目與延伸功能」等系統設定,再決定是否重新安裝。
啟用 TUN 前,先退出其他 VPN 或同類型代理客戶端;尤其留意選單列上看似已關閉,實際仍保留網路延伸功能的應用程式。兩套工具可能同時修改預設路由或 DNS,造成請求繞路、迴圈,或只有部分網域連線失敗。若必須同時使用組織 VPN,應依其路由範圍設定分流並遵循管理規範;個人客戶端的全域模式無法自動解決組織網路的位址衝突。
以下是 mihomo 的 TUN 參數片段,只用於說明欄位,並非所有 macOS 客戶端都適用的固定設定。圖形客戶端可能依系統環境重新產生這些參數,建議優先使用其設定入口。自動路由與介面偵測能處理流量進入核心的路徑,但仍需有可用設定與正確策略,才能連線至遠端。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
睡眠、網路切換與解除安裝後的還原
闔上再打開筆電後,若客戶端顯示已連線但網頁無法開啟,先確認 Wi-Fi 已取得位址、不需要額外登入網頁,再觀察核心是否恢復。切換熱點後發生異常,可先關閉網路接管,確認直連網路正常,再重新啟用,以區分基礎網路與代理問題。不要一遇到恢復失敗就刪除所有設定;訂閱通常不會因一次睡眠而改變。
設定開機啟動後,確認登入項目允許在背景執行,並在重新開機後檢查設定是否自動啟用。終端機中暫時設定的代理環境變數通常只適用於目前工作階段;若曾寫入 shell 設定檔,關閉圖形客戶端後這些變數仍可能存在。排查時也要查看終端環境與系統代理,避免只還原其中一處。
Android:VPN 授權與背景執行
選擇安裝檔並完成首次授權
前往Android 下載區,優先選擇 Clash Plus,也可依功能需求選擇 Clash Meta for Android、FlClash 或 Surfboard。安裝前確認系統需求與架構;較新的裝置通常使用 ARM64,舊裝置可能需要 ARM 或通用安裝檔。下載後透過系統安裝程式開啟檔案,只有確有需要時才允許目前使用的檔案管理器或瀏覽器安裝應用程式;安裝完成後可撤銷這項來源權限,不必讓所有應用程式長期保有安裝權限。
啟動後先匯入訂閱,再開始連線。Android 會透過 VpnService 顯示系統 VPN 授權畫面,確認後客戶端才能建立本機虛擬網路介面。狀態列出現 VPN 圖示,只代表系統通道已建立,無法證明訂閱節點或規則正確。若授權畫面反覆出現或確認按鈕無法點選,請檢查螢幕覆蓋層、無障礙提示及裝置管理限制,並依系統說明處理;不要反覆安裝不同版本來嘗試繞過授權。
匯入訂閱、選擇策略與接管應用程式流量
在設定頁新增遠端設定,填入訂閱連結並下載,再切換為目前使用的設定。貼上時留意前後空格與換行;某些聊天應用程式會把連結拆成多段。匯入失敗時先查看完整提示,分辨網路請求失敗、驗證失效與格式不相容。完整 YAML 與節點字串的處理方式可能不同,不能把瀏覽器能開啟的每個網址都當成可直接匯入的訂閱。
啟用設定後,前往代理頁選擇規則模式與策略組出口,再啟動 VPN。行動裝置的 VPN 接管不等同於桌面系統代理,通常也不需要另外在 Wi-Fi 設定本機代理。若先前手動設定過 Wi-Fi 代理,測試前先記下設定並確認是否仍要保留,避免系統再次將請求轉送至已關閉的舊連接埠。一般情況下先使用客戶端預設的連線方式,確認可正常使用後再調整進階網路堆疊參數。
分應用程式代理有「僅代理所選應用程式」與「略過所選應用程式」兩種相反的邏輯,選擇前先看清楚介面說明。修改清單後,部分客戶端需要重新建立 VPN 才會套用。系統下載元件、瀏覽器、應用程式內網頁與主應用程式可能屬於不同程序或套件名稱,只選取主應用程式不一定涵蓋整個登入或下載流程。若網頁能開啟但附件下載失敗,應先確認請求實際由哪個元件送出,不要立刻更換節點。
電池最佳化與鎖定螢幕後斷線
若前景使用正常,但鎖定螢幕一段時間後斷線,優先檢查背景執行限制。前往應用程式資訊,允許必要的背景執行,依系統提供的選項調整電池最佳化,並保留客戶端的前景服務通知。部分廠牌系統還會另外管理自動啟動、關聯啟動與工作清理,設定入口名稱可能因系統而異;不要只調整一項就認定背景執行已完全放行。詳細路徑與差異請參考Android 授權與省電白名單說明。
背景白名單不代表需要關閉整支手機的省電功能。先對客戶端做最低限度的必要調整,再以鎖定螢幕測試通知、網頁恢復與連線狀態。若仍明顯耗電,請檢查記錄是否長時間維持詳細等級、訂閱是否更新過於頻繁,以及是否有應用程式持續重試失敗的請求。排查順序請見行動裝置耗電與背景執行分析。單次耗電比例會受到訊號、螢幕與使用負載影響,不宜只憑一次觀察評估客戶端。
常駐 VPN、熱點與網路切換
Android 的常駐 VPN 與「封鎖未使用 VPN 的連線」屬於系統層級政策。啟用後若客戶端停止或啟動失敗,裝置可能因此無法上網,表面上看起來像 Wi-Fi 故障。設定前先確認確實需要這項限制,並記住還原設定的位置。大多數一般環境下,同一使用者空間無法同時執行兩款使用 VPN 介面的工具;其他防火牆或流量過濾應用程式也可能占用此介面。
從 Wi-Fi 切換到行動網路後若連線失敗,先檢查行動數據權限、系統時間與電信網路是否正常,再重新連線 VPN。公共 Wi-Fi 若需要登入網頁,請在符合系統限制的前提下暫時關閉網路接管,完成驗證後再恢復。若客戶端顯示設定載入成功,但所有應用程式都沒有連線紀錄,先檢查授權與分應用程式清單;若已有紀錄但全部逾時,再檢查節點、DNS 解析與基礎網路。
Surfboard 與 mihomo 系客戶端的設定格式和功能入口並不完全相同,不要直接把某份 YAML 強行套用到所有客戶端。更換應用程式時,先確認訂閱提供的格式,再重新設定網路接管權限與分應用程式清單。可同步的設定內容與系統授權應分開處理;系統授權必須在每台裝置上重新確認。
iOS:從 App Store 安裝與設定網路隧道
安裝 Clash Plus 並確認設定來源
iPhone 與 iPad 建議優先使用 Clash Plus,可從App Store 的 Clash Plus 頁面安裝,產品資訊可至官網 clashplus.io查看。本網站的iOS 下載區也提供統一入口。安裝前請閱讀 App Store 顯示的系統相容性需求;安裝後準備自己的訂閱網址或設定檔,不要把應用程式安裝完成當成節點已準備就緒。
首次開啟時先熟悉設定清單、策略組、連線開關與記錄入口。不同版本的介面文字可能有所調整,本章依功能說明,不要求每個按鈕名稱都完全一致。若從其他應用程式分享檔案匯入,請確認副檔名與檔案內容,避免匯入網頁存檔或訂閱說明頁面。設定中的帳號資訊仍是個人憑證,截圖時應遮蔽完整訂閱網址與節點驗證欄位。
匯入訂閱並新增 VPN 設定
在設定管理中選擇從連結新增,貼上訂閱並下載,接著啟用該設定。看到名稱後,繼續確認策略組是否出現,以及是否包含可選的出口。若訂閱回傳的內容不相容,請使用服務提供的相容格式,或在可信任的環境中處理設定;只改檔案副檔名為 YAML 並不能完成格式轉換。需要定期更新的遠端設定應保留原始來源,避免只匯入一次靜態副本,卻以為節點會自動同步。
首次啟動連線時,系統可能會要求新增 VPN 設定,並要求輸入裝置密碼或透過生物辨識確認。完成授權後,回到客戶端啟動網路隧道,再前往系統 VPN 頁面確認目前連線狀態。若系統不允許新增,先檢查是否受到螢幕使用時間、裝置管理或組織政策限制。受管理的裝置應由管理員確認可用方式,不要為了個人代理需求而刪除管理描述檔。
iOS 的網路連線由系統網路延伸功能處理,不是替所有應用程式填入同一個桌面 HTTP 代理位址。若客戶端提供 TUN、網路堆疊或類似選項,應依實際實作方式理解;不要照搬 Windows 的服務安裝與虛擬網卡操作。初次驗證時先保留預設網路設定,選擇規則模式與明確的策略組出口,再用瀏覽器開啟可重現的 HTTPS 網頁。
規則、DNS 與應用程式內連線
瀏覽器可用但某個應用程式失敗時,先觀察該應用程式是否產生連線紀錄。若沒有紀錄,檢查是否使用特殊網路路徑、另一個 VPN 或受到應用程式本身限制;若有紀錄,再確認匹配的規則、策略組與錯誤類型。部分應用程式會使用 UDP、獨立 DNS 解析或內建位址快取,因此網頁能開啟不代表其他應用程式也一定正常。修改規則後,先結束並重新開啟目標應用程式;必要時重新建立網路隧道,讓新請求套用更新後的設定。
DNS 設定會影響網域名稱的解析方式,策略組則決定連線的出口,兩者需要相互配合。只修改 DNS 伺服器不會自動將所有資料流量改走代理;反過來,選擇代理出口也無法修復無法連線的 DNS 服務。遇到單一網域連線失敗時,記下網域、解析結果與匹配規則,再一次只做一項最小幅度的修改。fake-ip 機制與適用範圍可參考DNS 檢測與 fake-ip 設定說明,不要只憑檢測頁面的一項結果下結論。
切換網路、自動連線與設定移轉
從家用 Wi-Fi 切換到行動網路時,既有連線可能短暫中斷,新連線也可能受到網路位址變更影響。先等系統網路穩定,再觀察隧道是否恢復;若持續失敗,停止後重新連線,並確認客戶端與目標應用程式都允許使用行動數據。公共無線網路若有驗證頁面,先完成網路本身的登入,再測試代理。網路尚未通過驗證時,修改節點和規則通常只會增加干擾。
若啟用隨選連線或類似自動恢復功能,手動關閉後可能會被系統規則重新啟動。需要暫時停用時,應一併查看客戶端的自動連線設定與系統 VPN 狀態,而不是反覆點選主開關。自動行為應依個人網路使用情境設定;連上陌生網路、存取辦公資源或排查本機裝置時,清楚掌握隧道何時啟動,比一味追求畫面始終顯示已連線更重要。
更換裝置時可以移轉訂閱與必要規則,但系統授權、自動連線行為及本機網路權限都需要重新檢查。使用雲端同步前先了解同步範圍,不要預設記錄、金鑰與所有本機設定都會一併移轉。舊裝置若不再使用,應移除不需要的訂閱副本;若懷疑連結已外洩,請向訂閱提供方更新憑證,而不只是從客戶端刪除該筆紀錄。
若問題只在鎖定螢幕後出現,先分別測試解鎖後的新請求與鎖定期間的推播,兩者使用的系統機制未必相同。記錄網路類型、是否切換訊號,以及是否需要重新連線才能恢復,才能判斷問題來自系統排程、網路切換還是特定應用程式;不要直接把所有背景問題都歸咎於節點故障。
Linux:圖形客戶端與核心執行
依 Linux 發行版選擇軟體套件
桌面使用者請前往Linux 下載區選擇 Clash Verge Rev 或 FlClash,本站優先推薦前者。先查看發行版資訊與系統架構,確認套件類型:Debian、Ubuntu 通常使用 deb,Fedora 等環境通常使用 rpm,實際仍以下載頁提供的套件為準。不要將 AMD64 套件安裝到 ARM64 主機,也不要把核心壓縮檔當成包含選單、訂閱編輯器與系統匣的完整桌面應用程式。
cat /etc/os-release
uname -m
透過系統軟體安裝程式或發行版套件管理器安裝本機套件,並留意相依性解析提示。若圖形介面無法開啟,可從終端機啟動已安裝的客戶端並查看錯誤訊息,分辨是否缺少圖形函式庫、顯示工作階段有問題,或核心設定錯誤。Wayland、X11 與不同桌面環境對系統匣的支援並不一致,沒有出現系統匣圖示不一定代表程式未執行;先確認視窗與程序狀態,再決定是否需要調整桌面元件。
匯入訂閱並設定桌面代理
在圖形客戶端匯入訂閱、啟用設定並選擇策略組出口,操作方式與其他桌面平台相近。不同之處在於,系統代理沒有一個適用於所有桌面環境與應用程式的通用入口:GNOME 與 KDE 的設定不同,終端機程式也未必會讀取桌面代理。先用明確指定代理的指令驗證核心連接埠,成功後再設定目前的桌面環境;不要同時修改桌面代理、shell 環境與套件管理器設定,再只憑一次網頁請求判斷哪一層生效。
curl --proxy http://127.0.0.1:7890 -I https://example.com
# 僅影響目前的 shell 及其後續啟動的子程序
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export no_proxy=localhost,127.0.0.1,::1
這裡的 HTTPS 代理變數仍使用 HTTP 代理入口,表示工具透過該入口建立通道,並不是要求本機連接埠提供 HTTPS 服務。各工具支援的變數大小寫與設定優先順序可能不同,請以工具文件為準。測試結束後,可使用 unset http_proxy https_proxy no_proxy 清除本次設定;寫入 shell 啟動檔前,先確認這台電腦是否需要長期使用本機代理,否則客戶端停止後,終端機連線也可能受到影響。
TUN、權限與 DNS 解析服務
Linux TUN 通常需要 /dev/net/tun 與網路管理權限。使用圖形客戶端時,建議優先採用其服務安裝流程,不要為了方便而提高整個使用者工作階段的權限。容器或受限制的主機可能沒有相應裝置或功能,即使以管理員身分啟動也未必能建立介面。先確認執行環境允許接管網路,再排查設定欄位;容器內的問題還要分辨宿主機、容器網路與應用程式各自的路由。
啟用自動路由後,檢查是否與現有 VPN、虛擬機網路及容器橋接網路衝突。DNS 也可能由 NetworkManager 或 systemd-resolved 管理,直接覆寫解析設定檔,可能會被系統改回,也可能破壞目前的網路設定。先查看系統實際使用的 DNS 解析流程,再決定由客戶端接管哪些請求。TUN 的 DNS 劫持只能處理進入相應路徑的流量,應用程式內建的加密 DNS 仍需另外評估。
ip route
ip rule
resolvectl status
ss -lntp
部分發行版沒有 resolvectl,找不到指令不代表 DNS 故障;請改用該發行版實際採用的網路管理工具。查看路由輸出時,重點確認預設出口、策略路由與重複的虛擬介面;查看監聽狀態時,則要分辨回環位址與所有介面。不要直接公開完整輸出,其中可能包含內部網段、介面位址與組織網路資訊。
伺服器使用 mihomo 的適用範圍
伺服器、路由器及不需要圖形介面的使用者,可選擇下載頁中的 mihomo 核心區。安裝前確認作業系統、處理器架構與執行檔適用範圍,準備完整設定後先進行語法測試,再以前景模式查看啟動記錄。以下指令假設核心已安裝在命令搜尋路徑中,且指定路徑存在有效設定;這些指令不會產生節點與策略組。
mihomo -t -f "$HOME/.config/mihomo/config.yaml"
mihomo -f "$HOME/.config/mihomo/config.yaml"
長期執行服務時,限制可讀取設定檔的範圍,避免一般使用者存取訂閱憑證;記錄保留適當即可,排錯結束後應恢復一般記錄等級。若要與區域網路共用代理,只開放必要的監聽位址與防火牆來源,不要將代理連接埠或控制介面直接暴露在公用網路上。解除安裝或停用時,清除相應服務、代理環境變數與殘留路由,再確認系統直連已恢復。
常見設定問題:依請求路徑逐步排查
設定未載入:先檢查下載與解析
發生錯誤時,先保留原始訊息與發生時間,再分辨是訂閱請求失敗還是設定解析失敗。前者可能是連結過期、伺服器無法連線或基礎網路尚未通過驗證;後者通常與縮排、欄位型別、協定支援或參照名稱有關。YAML 使用空格縮排,清單層級與字串型別都必須正確。即使錯誤訊息指出某一行,也要檢查上一行是否漏了冒號或引號,不要只刪除被標示的那一行。
匯入後沒有節點,請檢查回傳內容是否只有代理清單,或訂閱下載是否被重新導向至登入頁面。若節點存在但策略組報錯,檢查群組參照的名稱是否正確,以及訂閱提供器是否成功下載。部分規則集需要另外取得資源,主設定載入成功不代表所有外部檔案都已就緒。若問題在更新後才出現,先還原備份,再比較變更內容;不要持續覆蓋唯一可用的副本。
沒有連線紀錄:檢查流量入口
目標應用程式送出新請求,但客戶端完全沒有紀錄時,應先檢查網路接管,而不是節點。系統代理要確認位址與連接埠,TUN 要確認服務權限與路由,行動裝置則要確認 VPN 授權與分應用程式清單。應用程式可能沿用既有連線;修改後請重新開啟目標應用程式或建立新請求再觀察。也要檢查連線頁的顯示篩選條件,不要因為只顯示某類連線,就認定所有流量都沒有進入。
本機瀏覽器可用、終端機無法連線時,先用明確指定代理的方式測試;其他裝置連不上共用代理時,檢查「允許區域網路」、監聽位址與防火牆。回環位址只供本機使用,其他裝置應連線至代理裝置的區域網路位址,而不是自己的 127.0.0.1。外部控制連接埠不能取代混合連接埠;若設定了驗證,也要在連入工具中填寫相應憑證。
已有連線但結果不符預期:確認模式與規則
規則會依順序匹配,較早出現的寬鬆規則可能蓋過後續更精確的規則。匹配到代理組後,還要確認該組目前選擇的出口;名稱看起來像代理的群組也可能選到直連。全域模式通常會略過一般分流規則,可短暫用來比對,但不應永久取代規則修正;直連模式則適合確認基礎網路。切換模式後建立的新連線更能反映變更,舊連線可能仍沿用原本的路徑。
以下片段示範規則順序,PROXY 必須是已存在的策略組名稱。這不是完整設定,不能直接取代整份訂閱。網域規則能否匹配,也取決於核心是否能取得目標網域;應用程式若直接連線至 IP 位址,就不能假設一定會匹配網域後綴規則。
rules:
- DOMAIN-SUFFIX,example.com,PROXY
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,PROXY
連線逾時、解析失敗與協定差異
逾時可能發生在 DNS 解析、連線至遠端、協定交握或等待目標回應的任何階段。先在相同目標、相同網路與相同策略下進行可重現的測試,再一次只更換一個變數。如果只有某個節點失敗而其他節點正常,優先檢查該節點;如果所有節點在特定網路都失敗,則檢查網路限制與 DNS 解析路徑。單次速度測試只能作為選擇參考,不能代表所有協定、目標網站與時段的表現。
| 觀察到的現象 | 優先檢查項目 | 接著比對 |
|---|---|---|
| 代理入口拒絕連線 | 核心是否執行、連接埠是否監聽、位址是否正確 | 明確指定代理的請求與監聽清單 |
| 只有網域請求失敗 | DNS 解析服務、DNS 路徑與網域規則 | 查看記錄中的 DNS 解析錯誤 |
| 網頁正常,語音通話失敗 | UDP 支援、應用程式接管與出口能力 | 目標應用程式的新連線紀錄 |
| 更新後恢復直連 | 目前使用的設定、覆寫合併與策略組選擇 | 逐層比對備份設定 |
網頁主要使用 TCP,語音與部分遊戲可能依賴 UDP;節點協定、伺服器與客戶端設定都必須支援相應連線。HTTPS 網頁可以開啟,不代表 UDP 一定可用。系統時間明顯錯誤也可能導致加密連線驗證失敗,應先啟用可靠的時間同步。修改 DNS 後,舊快取仍可能影響測試;先重新建立連線,必要時依系統方式清除快取,避免不分情況地重設網路設定。
更新、覆寫與還原紀錄
訂閱自動更新有助於同步遠端設定變更,但更新頻率應參考服務提供方的建議,不必設定得過於頻繁。若個人規則每次更新都會消失,請將修改移至客戶端支援的覆寫入口,並確認合併順序:有些入口會附加內容,有些則會取代整份清單。儲存的原始檔案不一定就是核心實際執行的設定,應透過客戶端提供的執行設定檢視畫面或記錄確認最終結果。
排查結束後,恢復一般記錄等級,關閉臨時使用的全域模式與不再需要的區域網路監聽,並確認目前設定已有備份。需要重新走過操作流程,可回到使用指南;只是想查術語意思,查看術語表更快。安裝問題請回到對應平台章節處理,連線問題則沿著請求路徑逐層確認,不必每次都從解除安裝重裝開始。