入門 2026 年 5 月 10 日

Clash 是什麼?一文讀懂開源代理核心

從零認識以規則驅動的代理核心:它如何接手網路連線、怎麼與 Mihomo 及各家圖形化客戶端分工,以及新手該先建立哪些觀念,之後再看教學就不會迷路。

Clash 科普 入門

一、Clash 在本質上是什麼?

若用一句話概括,Clash 指的是一套以 規則 調度流量的開放原始碼、跨平台網路代理核心(Core),本體多以 Go 語言實作。 它像一台在本機運轉的「轉運站」:應用程式發出的連線先匯入核心,核心再依你寫好的規則,決定這條連線要送進哪個出站(Outbound)、維持直連、或是丟棄。

許多標榜一鍵連線的商業軟體,是把伺服器、帳號與介面包成黑盒子;而 Clash 生態 則通常把「核心邏輯」與「圖形化外殼」拆開。 核心本身多半是沒有視窗的命令列程式,靠 config.yaml 這類設定檔驅動;你在 Windows 上看到的 Clash for Windows、在 macOS 上使用的 ClashX、在 Android 上的圖形化套件,本質上是在核心外層加上選單、日誌、訂閱更新與系統整合,讓設定與除錯變得較直覺。

二〇二三年之後,原版 Clash 核心的公開維護節奏已明顯放緩,社群實務上多以 Mihomo(常與 clash-meta 名稱並用)作為持續接收修補與新協定的分支。本站提供的客戶端亦圍繞此脈絡整理;請以各專案官方說明為準,並注意授權條款與更新公告。

二、架構層次:流量從哪裡進來、最後往哪裡走?

在實務上,核心透過幾種常見路徑「接到」你的連線,新手可先掌握這三類:

連線進入核心後,會先被命名解析、路由與規則模組逐一處理,再對應到你設定的出站名稱:可能是某一個節點、可能是 DIRECT 表示放行到本機網路,也可能是 REJECT 之類策略。 理解這條「進站 → 規則 → 出站」的單向鏈條,之後閱讀日誌或調整分流時,比死記選單名稱更不容易卡關。

三、規則引擎:為什麼被視為靈魂?

Clash 系列在愛好者間長期受到討論,核心原因之一是 可讀、可版本控管的規則語法。 一條規則通常可以想成「條件 + 動作」:指定要比對的網域、後綴、關鍵字、IP 區段或地理資料庫條目,再指定命中時要套用哪個策略群組或出站。 典型寫法如下(示意的逗號分隔格式):

rule-type arguments policy-name

下表整理常見規則型別與直覺說明(實際欄位順序請以你所使用核心版本的文件為準):

規則類型說明範例
DOMAIN完整網域相符DOMAIN,google.com,Proxy
DOMAIN-SUFFIX後綴相符DOMAIN-SUFFIX,google.com,Proxy
DOMAIN-KEYWORD網域含關鍵字即命中DOMAIN-KEYWORD,google,Proxy
IP-CIDRIPv4IPv6 前綴IP-CIDR,8.8.8.0/24,Proxy
GEOIP對照地理資料庫GEOIP,CN,DIRECT
MATCH兜底/最後才評估的預設規則MATCH,Proxy

規則清單多為由上而下評估:先命中的那一條獲勝,其餘不再檢查。 因此「把最常命中、最昂貴的比對往前放、精細但昂貴的規則往後挪」這類手動調校,會直接影響延遲與 CPU 占用,也是進階使用者與入門使用者感受差異最大的地方之一。

四、各平台常見圖形化客戶端

硬體與作業系統不同,封裝方式也各異,下列名稱僅協助你建立地圖,實際可用版本請以下載頁與專案公告為準:

若想找對應平台的安裝檔與相容說明,建議先從本站 下載頁 依裝置篩選;再搭配 教學 走一次完整流程,會比單篇概論更容易上手。

五、設定檔最精簡的骨架長什麼樣子?

一份僅供理解結構的極簡 config.yaml 可能如下(欄位名稱與註解說明請以線上文件為準):

mixed-port: 7890       # HTTP + SOCKS5 combined listen port
allow-lan: false
mode: rule             # rule / global / direct

proxies:
  - name: "node-a"
    type: ss
    server: 1.2.3.4
    port: 8388
    cipher: aes-256-gcm
    password: "your-password"

proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - node-a

rules:
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

真實世界裡,節點清單往往來自服務商提供的 訂閱網址:客戶端或轉換工具定期抓取、合併、校驗後寫回設定檔,省去手動維護數十行節點的負擔。 新手可先記住三個區塊:proxies 描述「你能連到哪裡」、proxy-groups 描述「使用者或規則要選哪一組策略」、rules 描述「什麼樣的流量走哪條路」。

六、觀念整理:先把地圖畫好,再開車

把 Clash/Mihomo 想成規則驅動的流量排程引擎會非常受用:協定支援、規則比對與出站選擇被寫成可組合的模組,你犧牲的是初次學習設定檔與除錯的時間,換來的是路徑透明、可稽核與可重現的網路行為。 當你已經能分辨「本地 listener/TUN/訂閱更新」三者在鏈條中的位置,閱讀各平台客戶端的進階選項就不會再像散落一地的開關。

市面上也有大量封閉原始碼、主打懶人連線的方案,省心力但較難驗證背後做了哪些攔截與更新;相反地,開放生態讓你得以自行組合核心、規則集與圖形介面,並依社群公報逐步升級。 若你正在尋找一套結構清楚、能從規則談起、又可銜接訂閱與全系統轉送的工具,Clash 這條技術路線會讓後續排查連線異常時,比較有跡可循。 接下來建議直接搭配本站 下載頁 取得對應客戶端,並跟著 教學 完成第一次成功連線與分流驗證。

常見問題

Clash 和 Mihomo 是同一套軟體嗎?
廣義上大家仍習慣把整個生態稱作 Clash,但核心程式早從單一專案演進為社群維護的 Mihomo(常見別名 clash-meta)。圖形化客戶端多半內嵌或呼叫這類核心,名稱寫 Clash 或 Mihomo,指的多半是同一條技術脈絡而非兩套毫無關聯的產品。

為什麼需要 TUN 模式?
只靠瀏覽器或單一應用程式填寫代理位址時,許多背景連線與不遵守系統代理的程式仍會直連。TUN 透過虛擬介面在作業系統層轉交封包,讓規則能涵蓋更完整的流量型態,缺點是設定與權限門檻較高,需搭配本機防火牆觀念一併理解。

訂閱連結和設定檔是什麼關係?
服務商提供的訂閱網址會定期回傳節點清單,客戶端或轉換工具把它合併進 config.yaml,核心才能載入 proxies 與 proxy-groups。手動維護適合學習結構,日常則多仰賴訂閱更新以降低人為出錯。

準備好開始了嗎?

下載適用你裝置的 Clash 客戶端,通常在數分鐘內即可完成安裝並進入可用狀態。