Windows
桌面入門可先試用 Clash Plus,再依需求比較 Clash Verge Rev、FlClash 等用戶端。匯入設定後,啟用系統代理,讓遵循系統代理設定的應用程式連上本機連接埠;若要接管更多應用程式,再評估 TUN 模式及所需權限。
安裝前請先在系統資訊確認處理器架構。若舊用戶端仍在背景執行,請先結束程式並檢查代理連接埠,避免兩個核心同時監聽。商店應用程式連線異常也可能是回送限制所致,不能只靠瀏覽器能否開啟頁面,就判斷所有應用程式的連線狀態。
設定語法與開源核心生態
PLATFORM / CLIENT
先選作業系統,再確認處理器架構。桌面介面、行動裝置網路延伸功能與命令列核心的安裝方式各不相同,但設定概念可以互相參照。
桌面入門可先試用 Clash Plus,再依需求比較 Clash Verge Rev、FlClash 等用戶端。匯入設定後,啟用系統代理,讓遵循系統代理設定的應用程式連上本機連接埠;若要接管更多應用程式,再評估 TUN 模式及所需權限。
安裝前請先在系統資訊確認處理器架構。若舊用戶端仍在背景執行,請先結束程式並檢查代理連接埠,避免兩個核心同時監聽。商店應用程式連線異常也可能是回送限制所致,不能只靠瀏覽器能否開啟頁面,就判斷所有應用程式的連線狀態。
依 Apple Silicon 或 Intel 處理器選擇安裝檔,可從 Clash Plus、Clash Verge Rev 與 FlClash 開始比較。選單列的開關通常用來控制系統代理;至於核心是否已載入目前的設定,則要分別在設定頁面與記錄檔中確認。
首次啟動時,請依系統提示授予必要權限,勿將網路延伸功能授權與一般應用程式啟動混為一談。改用其他用戶端前,請先關閉原用戶端的代理和背景服務。ClashX Meta 的封存下載入口可供相容性參考,長期使用建議優先選擇仍持續維護的方案。
可選擇 Clash Plus、Clash Meta for Android、FlClash 或 Surfboard,並確認各自支援的設定格式。多數行動裝置用戶端會透過系統 VPN 介面接管流量;首次連線時須確認系統授權,而且通常一次只能由一項 VPN 服務接管流量。
背景連線中斷時,先檢查電池最佳化設定與應用程式的背景執行限制,再檢查訂閱和 DNS。依應用程式分流也可能受到用戶端設定影響:即使 YAML 中有設定規則,被排除在接管範圍外的應用程式也不會進入該規則鏈。排查時應同時檢查這兩個層面。
下載頁提供 Clash Plus 的 App Store 下載入口,並列出官方網站 clashplus.io。安裝後匯入應用程式支援的設定,再依系統提示新增 VPN 設定。桌面版的連接埠、服務管理與權限操作不能直接套用到手機,請以應用程式實際提供的設定為準。
成功匯入只代表應用程式接受了設定,不表示所有協定欄位的實作都相同。個別連線失敗時,先確認節點類型與用戶端相容性,再檢查策略群組選擇。系統網路切換、隨選連線與背景執行也會影響使用情況,建議分項記錄,避免同時變更多項設定。
Ubuntu 桌面使用者可先參考 Clash Verge Rev 與 FlClash,依發行版和套件格式安裝;伺服器或路由器使用者則可獨立部署 mihomo。圖形介面用戶端負責系統匣、設定管理與系統整合;獨立核心則需要自行指定工作目錄、設定檔路徑與服務啟動方式。
GNOME 的系統代理主要影響遵循該設定的桌面應用程式,終端機程式可能仍需另外設定代理環境變數。使用 systemd 時,請確認服務帳號能否讀取設定、記錄檔是否顯示連接埠綁定失敗,以及 TUN 所需權限是否已具備;不要直接將所有程式改成以管理員身分執行。
CONFIG / FIELD NOTES
依照「接收要求、解析網域、選擇出口、比對規則」的順序閱讀。以下片段僅呈現欄位之間的關係,並非包含可用節點的完整設定。
YAML 以縮排表示層級,欄位拼寫與所在位置同樣重要。修改前請先備份目前的檔案,每次只調整一類設定,再透過用戶端的設定檢查或核心測試確認語法。介面上的設定名稱、磁碟中的訂閱檔案,以及執行時合併後的設定不一定相同;排查時應以實際載入的內容為準。
左側的 general 是本教學用來區分基本欄位的段落名稱,並非需要寫入檔案的頂層鍵。其他標籤則對應實際設定區段。先了解各區段的用途,再加入所需欄位,比直接拼接多份範例更容易找出衝突;各用戶端的預設值與覆寫邏輯仍須參照其說明文件。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
基本欄位決定核心如何接收要求。mixed-port 是 HTTP 與 SOCKS5 共用的連接埠;修改後,手動填寫代理位址的應用程式也須同步調整。allow-lan 控制是否接受區域網路連線,個人電腦通常建議先關閉。mode 設為 rule 才會依規則分流;記錄層級可先使用 info,遇到問題再視需要增加細節。這些欄位直接寫在 YAML 根層級,不要在外層加上 general,否則核心無法依預期套用設定。
前往教學查看 →dns:
enable: true
listen: 127.0.0.1:1053
enhanced-mode: fake-ip
nameserver:
- https://dns.alidns.com/dns-query
dns 區段控制核心使用哪種方式解析網域。fake-ip 會為網域配置虛擬位址,方便後續還原網域並比對規則,但仍須留意與個別應用程式的相容性。nameserver 用來指定上游解析服務;listen 只代表監聽位址,不會自動讓系統把 DNS 要求送到這裡。系統解析、瀏覽器加密 DNS 與 TUN 劫持是不同的流量入口。排查 DNS 洩漏或解析失敗時,應先確認要求實際經過哪條路徑,再調整上游服務與篩選設定。
前往教學查看 →proxies:
- name: 範例節點
type: ss
server: proxy.example.com
port: 443
cipher: aes-128-gcm
password: "your-password"
proxies 是用來明確定義代理節點的清單。每個節點都需要唯一名稱,並填入協定要求的位址、連接埠與驗證參數;範例中的網域名稱和密碼僅供說明結構,不能用來實際連線。策略群組會引用節點名稱,重新命名時也要一併修改。使用訂閱或 proxy-providers 時,節點也可能由外部設定提供,不必重複手動輸入。若節點匯入失敗,請先確認協定類型與核心支援範圍,不能只改名稱就當作已解決相容性問題。
前往教學查看 →proxy-groups:
- name: 手動選擇
type: select
proxies:
- DIRECT
- 範例節點
策略群組會將規則引用的出口名稱與實際節點分開。select 可供手動選擇,群組成員可以是已定義的節點、其他適用的策略群組,或 DIRECT 等內建出口。此範例依賴 proxies 中名稱相同的節點,並非可獨立使用的完整檔案。自動測試或故障切換群組還需要相應參數,不能只改 type 就假設行為相同。若在介面切換節點後流量沒有變化,請檢查規則是否真的指向該群組,以及連線是否仍沿用原有工作階段。
前往教學查看 →rules:
- DOMAIN-SUFFIX,example.com,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,手動選擇
rules 會由上而下比對,第一條符合的規則便會決定出口。精確範圍通常應放在較寬泛的規則之前,MATCH 則作為最後的兜底規則;若將它提前,後續規則便不會生效。DOMAIN-SUFFIX 依網域後綴比對,IP-CIDR 依位址範圍比對,no-resolve 可避免該 IP 規則主動觸發網域解析。規則中的策略名稱必須已存在。驗證自訂規則時,應查看新連線的命中記錄;舊連線可能繼續沿用建立時的路徑,不能只看頁面是否成功重新整理。
前往教學查看 →tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
TUN 透過虛擬網卡與路由將更多應用程式的連線導入核心,適合不遵循系統代理設定的程式。auto-route 與自動介面偵測有助建立接管路徑,但仍會受到系統權限、其他 VPN 和既有路由影響。dns-hijack 會處理符合條件的 DNS 流量,不代表能涵蓋應用程式內所有加密解析。此範例適用於支援這些欄位的 mihomo 環境;行動裝置請依應用程式實作為準。啟動失敗時先檢查權限與記錄檔;遠端伺服器啟用自動路由前,也應準備獨立的復原管道。
前往教學查看 →OPEN SOURCE / CONTEXT
理解軟體之間的關係,比記住用戶端名稱更重要。開源程式碼庫可供查閱程式碼、發行說明與問題討論,實際功能仍應以所用核心為準。
Clash 最初建立了以 YAML 為核心的設定方式:入口接收應用程式要求,節點描述可用出口,策略群組負責組織節點,規則則決定連線去向。Clash Meta 在此基礎上擴充協定與網路功能,後續專案以 mihomo 名稱持續發展。因此,教學中的 Clash Meta 與 mihomo 常有歷史上的關聯,但不能據此認定所有名稱中含有 Clash 的軟體都具備相同功能。遇到不熟悉的欄位時,先確認正在執行的核心名稱,再查閱相應文件,比反覆重新匯入訂閱更有效。
原版 Clash 的常見公開實作已停止維護,舊教學中的預設值、協定清單與安裝方式可能不再適用於目前的用戶端。遷移時,請先記錄目前使用的協定、DNS 模式、規則集與本機覆寫,再逐項確認新環境是否支援。能讀取基本 YAML 結構只是相容性的第一步,節點傳輸參數、規則提供者行為與作業系統整合方式仍可能不同。保留歷史設定的備份,有助於在遷移與排錯時進行明確比對。
桌面用戶端通常負責匯入訂閱、切換設定、系統匣選單、自動啟動與系統代理開關;核心則負責解析設定並處理實際連線。介面顯示已啟動,不代表目標應用程式已使用代理路徑;核心正常執行,也不代表系統代理與 DNS 已正確接入。Ubuntu 使用者尤其要區分 GNOME 桌面代理、終端機環境變數與 TUN 路由。三者作用範圍不同,依目標應用程式選擇入口,能減少重複接管與路由衝突。
純命令列部署適合需要獨立執行、管理服務或遠端維護的情境,但原本由圖形介面處理的工作就必須自行接手。設定檔放置位置、服務使用哪個帳號啟動、如何查看記錄,以及發生問題時如何停止,都應事先規劃。systemd 的工作目錄會影響相對路徑,存取權限也會影響規則檔案的讀取。先以前景模式確認核心能載入設定,再建立背景服務,便能分開找出設定錯誤與服務管理問題。
用戶端更新、核心更新和訂閱更新是三種不同操作。用戶端更新可能改變介面與系統整合方式,核心更新可能改變欄位行為,訂閱更新則通常會更新節點與規則內容。修改前應先確認要更新的對象,並記錄原有設定。支援合併設定的用戶端,通常將個人規則放在專用覆寫層,比直接編輯下載的訂閱檔案更容易維護;不過仍須確認合併順序,避免個人 DNS 設定被其他來源覆蓋。
開源授權說明程式碼的使用與散布條件,不代表不同用戶端的授權或發布方式完全相同。本網站整理設定說明與下載入口,不取代各專案的發行說明。查閱問題討論時,應優先比對作業系統、核心類型與可重現步驟,而不只是看問題標題是否相似。分享記錄檔與設定前,請移除訂閱網址、驗證密碼及個人網路資訊;保留欄位結構與錯誤脈絡,通常就足以進行技術討論。
建議從最接近應用程式的一層開始:先確認應用程式使用的是系統代理、手動代理還是 TUN,再確認本機連接埠與核心是否正常,接著檢查規則命中、策略群組目前的選擇與節點連線狀態,最後檢查 DNS 和目標服務。瀏覽器能開啟某個頁面,只能證明這條存取路徑正常,不能代替其他程式或協定的驗證。每次只修改一個變數,並保留修改前後的記錄,才能清楚釐清現象與設定之間的因果關係。
DNS 問題尤其要區分「解析失敗」與「解析成功但連線失敗」。前者可從要求入口、上游服務是否可連線及解析模式著手;後者則要進一步檢查規則、出口與目標位址。HTTPS 憑證警告也不能一概歸因於代理:系統時間、憑證鏈、封包檢查工具與目標服務都可能是原因。不要為了開啟頁面就直接關閉憑證驗證,請保留錯誤提示並逐層排查。協定差異與核心選擇可繼續參閱協定參考;依步驟操作則請從入門指南開始。
NOTES / TROUBLESHOOTING
依實際錯誤現象尋找原因:先確認問題發生在哪個層面,再決定是否需要修改設定。
整理系統時間偏差、中間人封包檢查工具、節點劫持與 DNS 污染等憑證警告成因,說明哪些與 Clash 有關、哪些與代理無關,以及相應的處理方式。
排查時應保留憑證錯誤類型,區分目標網站本身的問題與連線路徑中的干預,不要關閉安全驗證來掩蓋異常。
說明如何在 Windows、macOS 與 Linux 使用 netstat、lsof、ss 找出占用 7890 等連接埠的程序,以及修改連接埠後如何同步調整系統代理與瀏覽器設定。
先確認占用者是否為舊用戶端或背景服務,再決定要停止程序還是更換連接埠;只改 YAML,卻保留應用程式的舊代理位址,連線仍會失敗。
分別介紹 Ubuntu 桌面圖形介面用戶端安裝與伺服器純命令列部署,涵蓋執行檔放置、config.yaml 路徑、systemd 服務檔案及 TUN 所需權限設定。
依是否需要桌面介面選擇部署方式,並分別驗證前景設定測試、服務啟動與自動執行,避免工作目錄與權限問題混在一起。