mihomo Windows 命令列部署教學
mihomo 核心本身是一支命令列程式:沒有視窗、沒有設定介面,啟動之後只會在終端機裡輸出記錄。在 Windows 上直接跑它,換來的是完全掌握設定檔的自由——每一條規則、每一個 DNS 欄位都由你決定,沒有圖形介面在背後幫你改東西。
相對地,你得自己準備 YAML、自己處理開機啟動、自己看記錄除錯。這篇教學會走完下載、設定、啟動、驗證到升級的完整流程,用的是本站提供的 v1.19.29。
先確認你需不需要命令列核心
如果你的需求只是「連上代理、切換節點、平常瀏覽網頁」,請直接安裝 Clash Verge Rev,它已經內建同一顆核心,還附帶圖形介面與服務模式。手動跑核心比較適合這幾種情境:想完整掌控設定檔內容、要在同一台機器上跑多份設定、想把核心接到自製的腳本或面板、或是單純想搞清楚背後是怎麼運作的。核心與客戶端的關係可以參考 mihomo 是什麼。
下載與解壓縮到固定目錄
到下載中心的 Windows 區塊取得 mihomo 的 zip。一般電腦選 amd64,Snapdragon 之類的 ARM 筆電選 arm64;不確定的話開啟「設定 → 系統 → 關於」看系統類型那一行。
- 把 zip 解壓縮到一個固定、路徑不含中文與空白的資料夾,例如
C:\mihomo。 - 解壓縮後得到的執行檔名稱通常帶有版本與架構資訊,建議改名為
mihomo.exe,後面的指令會好打很多。 - 這個資料夾之後同時作為資料目錄使用,設定檔、記錄與快取都會放在這裡。
準備設定檔與目錄結構
在同一個資料夾裡建立 config.yaml。下面是一份可以跑起來的最小設定,先確認核心本身沒問題,再把服務商訂閱的內容貼進來:
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
proxies: []
proxy-groups: []
rules:
- MATCH,DIRECT
這份設定會在本機開一個混合連接埠(同時支援 HTTP 與 SOCKS),所有流量都走直連。等核心確定能啟動之後,再把訂閱裡的 proxies、proxy-groups、rules 換上去即可。各欄位的意義整理在 mihomo 設定檔入門。
注意:YAML 對縮排非常敏感,只能用半形空格,不能用 Tab;冒號後面要留一個半形空格。用中文輸入法打出全形冒號是最常見的錯誤來源,貼上內容後記得檢查一遍。
啟動核心、驗證設定與看記錄
先驗證設定檔是否合法。開啟 PowerShell 或命令提示字元,切到程式所在目錄執行:
cd C:\mihomo
.\mihomo.exe -t -f .\config.yaml
-t 只做檢查、不會真的啟動。設定有問題時,輸出會指出出錯的行號與原因,照著改就好。確認沒問題之後,用 -d 指定資料目錄啟動:
.\mihomo.exe -d .
核心會在目前的終端機視窗持續輸出記錄,這個視窗必須保持開著;關掉視窗等於結束核心。首次啟動時,核心可能會自動下載規則所需的資料檔到資料目錄,稍等一下屬於正常現象。要停止就在視窗中按 Ctrl+C。
確認代理真的生效
核心跑起來只代表連接埠開了,還要讓程式真的把流量送過去:
- 開啟「設定 → 網路和網際網路 → Proxy(Proxy 伺服器)」,手動設定為
127.0.0.1,連接埠填設定檔裡的mixed-port。 - 或者只讓單一工具走代理,例如在 PowerShell 中設定環境變數:
$env:https_proxy="http://127.0.0.1:7890"。 - 回頭看核心視窗的記錄輸出,有連線紀錄跑出來就表示流量確實進到核心了。
如果完全沒有反應,先確認連接埠沒有被其他程式佔用:
netstat -ano | findstr 7890
指令會列出佔用該連接埠的處理程序編號,可到工作管理員的「詳細資料」分頁比對是哪一支程式。
常駐執行與升級
每次開機都手動開終端機並不實際,常見做法是用 Windows 內建的「工作排程器」建立一個登入時觸發的工作,動作指向 mihomo.exe,並把「起始位置」設為資料目錄,這樣 -d . 才會指到正確的地方。設定精靈的欄位名稱隨系統版本可能略有差異,掌握「觸發程序=登入時、動作=執行程式」這個原則就不會走錯。
技巧:升級核心非常單純:先停掉正在執行的核心,下載新版 zip,用新的執行檔覆蓋舊的,再啟動一次即可。設定檔、規則資料與快取都存放在資料目錄裡,不會被動到;覆蓋前保留一份舊執行檔,遇到問題也方便換回去。
想把同一套設定搬到伺服器上長期執行,Linux 那邊可以交給 systemd 託管,做法整理在 mihomo Linux 伺服器部署教學,設定檔的寫法兩邊完全共用。