開源核心 · YAML 設定逐項說明

Clash設定教學Ubuntu 與全平台用戶端

從用戶端選擇到 config.yaml 欄位,分層了解 mihomo 核心。

  • 中文文件
  • 規則分流
  • Ubuntu 部署

設定語法與開源核心生態

PLATFORM / CLIENT

依作業系統選擇下載入口

先選作業系統,再確認處理器架構。桌面介面、行動裝置網路延伸功能與命令列核心的安裝方式各不相同,但設定概念可以互相參照。

Windows

桌面入門可先試用 Clash Plus,再依需求比較 Clash Verge Rev、FlClash 等用戶端。匯入設定後,啟用系統代理,讓遵循系統代理設定的應用程式連上本機連接埠;若要接管更多應用程式,再評估 TUN 模式及所需權限。

安裝前請先在系統資訊確認處理器架構。若舊用戶端仍在背景執行,請先結束程式並檢查代理連接埠,避免兩個核心同時監聽。商店應用程式連線異常也可能是回送限制所致,不能只靠瀏覽器能否開啟頁面,就判斷所有應用程式的連線狀態。

macOS

依 Apple Silicon 或 Intel 處理器選擇安裝檔,可從 Clash Plus、Clash Verge Rev 與 FlClash 開始比較。選單列的開關通常用來控制系統代理;至於核心是否已載入目前的設定,則要分別在設定頁面與記錄檔中確認。

首次啟動時,請依系統提示授予必要權限,勿將網路延伸功能授權與一般應用程式啟動混為一談。改用其他用戶端前,請先關閉原用戶端的代理和背景服務。ClashX Meta 的封存下載入口可供相容性參考,長期使用建議優先選擇仍持續維護的方案。

Android

可選擇 Clash Plus、Clash Meta for Android、FlClash 或 Surfboard,並確認各自支援的設定格式。多數行動裝置用戶端會透過系統 VPN 介面接管流量;首次連線時須確認系統授權,而且通常一次只能由一項 VPN 服務接管流量。

背景連線中斷時,先檢查電池最佳化設定與應用程式的背景執行限制,再檢查訂閱和 DNS。依應用程式分流也可能受到用戶端設定影響:即使 YAML 中有設定規則,被排除在接管範圍外的應用程式也不會進入該規則鏈。排查時應同時檢查這兩個層面。

iOS

下載頁提供 Clash Plus 的 App Store 下載入口,並列出官方網站 clashplus.io。安裝後匯入應用程式支援的設定,再依系統提示新增 VPN 設定。桌面版的連接埠、服務管理與權限操作不能直接套用到手機,請以應用程式實際提供的設定為準。

成功匯入只代表應用程式接受了設定,不表示所有協定欄位的實作都相同。個別連線失敗時,先確認節點類型與用戶端相容性,再檢查策略群組選擇。系統網路切換、隨選連線與背景執行也會影響使用情況,建議分項記錄,避免同時變更多項設定。

Linux / Ubuntu

Ubuntu 桌面使用者可先參考 Clash Verge Rev 與 FlClash,依發行版和套件格式安裝;伺服器或路由器使用者則可獨立部署 mihomo。圖形介面用戶端負責系統匣、設定管理與系統整合;獨立核心則需要自行指定工作目錄、設定檔路徑與服務啟動方式。

GNOME 的系統代理主要影響遵循該設定的桌面應用程式,終端機程式可能仍需另外設定代理環境變數。使用 systemd 時,請確認服務帳號能否讀取設定、記錄檔是否顯示連接埠綁定失敗,以及 TUN 所需權限是否已具備;不要直接將所有程式改成以管理員身分執行。

CONFIG / FIELD NOTES

config.yaml 設定區段瀏覽器

依照「接收要求、解析網域、選擇出口、比對規則」的順序閱讀。以下片段僅呈現欄位之間的關係,並非包含可用節點的完整設定。

YAML 以縮排表示層級,欄位拼寫與所在位置同樣重要。修改前請先備份目前的檔案,每次只調整一類設定,再透過用戶端的設定檢查或核心測試確認語法。介面上的設定名稱、磁碟中的訂閱檔案,以及執行時合併後的設定不一定相同;排查時應以實際載入的內容為準。

左側的 general 是本教學用來區分基本欄位的段落名稱,並非需要寫入檔案的頂層鍵。其他標籤則對應實際設定區段。先了解各區段的用途,再加入所需欄位,比直接拼接多份範例更容易找出衝突;各用戶端的預設值與覆寫邏輯仍須參照其說明文件。

general

連接埠、模式與記錄

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

基本欄位決定核心如何接收要求。mixed-port 是 HTTP 與 SOCKS5 共用的連接埠;修改後,手動填寫代理位址的應用程式也須同步調整。allow-lan 控制是否接受區域網路連線,個人電腦通常建議先關閉。mode 設為 rule 才會依規則分流;記錄層級可先使用 info,遇到問題再視需要增加細節。這些欄位直接寫在 YAML 根層級,不要在外層加上 general,否則核心無法依預期套用設定。

前往教學查看 →

OPEN SOURCE / CONTEXT

Clash 生態系與mihomo 核心

理解軟體之間的關係,比記住用戶端名稱更重要。開源程式碼庫可供查閱程式碼、發行說明與問題討論,實際功能仍應以所用核心為準。

原版、Meta 與 mihomo 的關係

Clash 最初建立了以 YAML 為核心的設定方式:入口接收應用程式要求,節點描述可用出口,策略群組負責組織節點,規則則決定連線去向。Clash Meta 在此基礎上擴充協定與網路功能,後續專案以 mihomo 名稱持續發展。因此,教學中的 Clash Meta 與 mihomo 常有歷史上的關聯,但不能據此認定所有名稱中含有 Clash 的軟體都具備相同功能。遇到不熟悉的欄位時,先確認正在執行的核心名稱,再查閱相應文件,比反覆重新匯入訂閱更有效。

原版 Clash 的常見公開實作已停止維護,舊教學中的預設值、協定清單與安裝方式可能不再適用於目前的用戶端。遷移時,請先記錄目前使用的協定、DNS 模式、規則集與本機覆寫,再逐項確認新環境是否支援。能讀取基本 YAML 結構只是相容性的第一步,節點傳輸參數、規則提供者行為與作業系統整合方式仍可能不同。保留歷史設定的備份,有助於在遷移與排錯時進行明確比對。

圖形介面與網路處理的分工

桌面用戶端通常負責匯入訂閱、切換設定、系統匣選單、自動啟動與系統代理開關;核心則負責解析設定並處理實際連線。介面顯示已啟動,不代表目標應用程式已使用代理路徑;核心正常執行,也不代表系統代理與 DNS 已正確接入。Ubuntu 使用者尤其要區分 GNOME 桌面代理、終端機環境變數與 TUN 路由。三者作用範圍不同,依目標應用程式選擇入口,能減少重複接管與路由衝突。

純命令列部署適合需要獨立執行、管理服務或遠端維護的情境,但原本由圖形介面處理的工作就必須自行接手。設定檔放置位置、服務使用哪個帳號啟動、如何查看記錄,以及發生問題時如何停止,都應事先規劃。systemd 的工作目錄會影響相對路徑,存取權限也會影響規則檔案的讀取。先以前景模式確認核心能載入設定,再建立背景服務,便能分開找出設定錯誤與服務管理問題。

更新、訂閱與個人規則

用戶端更新、核心更新和訂閱更新是三種不同操作。用戶端更新可能改變介面與系統整合方式,核心更新可能改變欄位行為,訂閱更新則通常會更新節點與規則內容。修改前應先確認要更新的對象,並記錄原有設定。支援合併設定的用戶端,通常將個人規則放在專用覆寫層,比直接編輯下載的訂閱檔案更容易維護;不過仍須確認合併順序,避免個人 DNS 設定被其他來源覆蓋。

開源授權說明程式碼的使用與散布條件,不代表不同用戶端的授權或發布方式完全相同。本網站整理設定說明與下載入口,不取代各專案的發行說明。查閱問題討論時,應優先比對作業系統、核心類型與可重現步驟,而不只是看問題標題是否相似。分享記錄檔與設定前,請移除訂閱網址、驗證密碼及個人網路資訊;保留欄位結構與錯誤脈絡,通常就足以進行技術討論。

依層次定位連線問題

建議從最接近應用程式的一層開始:先確認應用程式使用的是系統代理、手動代理還是 TUN,再確認本機連接埠與核心是否正常,接著檢查規則命中、策略群組目前的選擇與節點連線狀態,最後檢查 DNS 和目標服務。瀏覽器能開啟某個頁面,只能證明這條存取路徑正常,不能代替其他程式或協定的驗證。每次只修改一個變數,並保留修改前後的記錄,才能清楚釐清現象與設定之間的因果關係。

DNS 問題尤其要區分「解析失敗」與「解析成功但連線失敗」。前者可從要求入口、上游服務是否可連線及解析模式著手;後者則要進一步檢查規則、出口與目標位址。HTTPS 憑證警告也不能一概歸因於代理:系統時間、憑證鏈、封包檢查工具與目標服務都可能是原因。不要為了開啟頁面就直接關閉憑證驗證,請保留錯誤提示並逐層排查。協定差異與核心選擇可繼續參閱協定參考;依步驟操作則請從入門指南開始。

NOTES / TROUBLESHOOTING

近期設定文章

依實際錯誤現象尋找原因:先確認問題發生在哪個層面,再決定是否需要修改設定。

故障排除

啟用代理後網頁顯示憑證錯誤:HTTPS 憑證問題原因與排查方式

整理系統時間偏差、中間人封包檢查工具、節點劫持與 DNS 污染等憑證警告成因,說明哪些與 Clash 有關、哪些與代理無關,以及相應的處理方式。

排查時應保留憑證錯誤類型,區分目標網站本身的問題與連線路徑中的干預,不要關閉安全驗證來掩蓋異常。

故障排除

Clash 啟動時顯示連接埠被占用:找出占用程序並修改 mixed-port

說明如何在 Windows、macOS 與 Linux 使用 netstat、lsof、ss 找出占用 7890 等連接埠的程序,以及修改連接埠後如何同步調整系統代理與瀏覽器設定。

先確認占用者是否為舊用戶端或背景服務,再決定要停止程序還是更換連接埠;只改 YAML,卻保留應用程式的舊代理位址,連線仍會失敗。

平台部署

在 Ubuntu 部署 mihomo 核心:桌面用戶端與純命令列 systemd 方案

分別介紹 Ubuntu 桌面圖形介面用戶端安裝與伺服器純命令列部署,涵蓋執行檔放置、config.yaml 路徑、systemd 服務檔案及 TUN 所需權限設定。

依是否需要桌面介面選擇部署方式,並分別驗證前景設定測試、服務啟動與自動執行,避免工作目錄與權限問題混在一起。