Clash Meta 下載站mihomo 用戶端下載

mihomo Linux 伺服器部署教學(含 systemd 自動啟動)

安裝教學 2026 年 6 月 17 日 3 分鐘閱讀
本文目錄

沒有桌面環境的機器——VPS、NAS、家裡那台舊筆電改的伺服器——沒辦法裝圖形客戶端,但正好是 mihomo 核心最適合的舞台:一支二進位檔、一份 YAML、一個 systemd 服務單元,就能常駐執行、開機自動啟動、掛掉自動重開。

這篇教學用本站提供的 v1.19.29 走完整套流程:安裝核心、建立設定目錄、寫服務單元、驗證出口,最後是更新與回退舊版的做法。以下指令假設你有 sudo 權限,路徑可依習慣調整,但請前後保持一致。

下載核心並安裝到 /usr/local/bin

先確認機器的 CPU 架構,再到下載中心的 Linux 區塊取得對應的 .gz 檔:

uname -m
# x86_64  → 下載 linux-amd64
# aarch64 → 下載 linux-arm64

下載回來的是單檔壓縮,解壓縮之後就是可執行的核心本體。加上執行權限,再搬到 /usr/local/bin 並統一命名為 mihomo

cd /tmp
gunzip mihomo-linux-amd64-v1.19.29.gz
chmod +x mihomo-linux-amd64-v1.19.29
sudo mv mihomo-linux-amd64-v1.19.29 /usr/local/bin/mihomo

檔名請以你實際下載到的為準。這一步做完之後,任何路徑下都能直接呼叫 mihomo

建立設定目錄與 config.yaml

伺服器上習慣把設定放在 /etc 底下,之後啟動時用 -d 指向它,核心產生的規則資料與快取也會落在同一個目錄:

sudo mkdir -p /etc/mihomo
sudo nano /etc/mihomo/config.yaml

先放一份最小設定確認核心跑得起來,再把服務商訂閱的節點與規則補進去:

mixed-port: 7890
allow-lan: true
bind-address: '*'
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

proxies: []
proxy-groups: []
rules:
  - MATCH,DIRECT

寫完之後先驗證語法,避免服務啟動失敗還要回頭猜原因:

mihomo -t -f /etc/mihomo/config.yaml

注意:allow-lan: true 會讓區域網路內的其他裝置都能使用這個代理連接埠。放在公開網路的機器請務必用防火牆限制來源 IP,或改回 false 只給本機使用,否則等於開了一個誰都能用的出口。

撰寫 systemd 服務單元

建立 /etc/systemd/system/mihomo.service,內容如下:

[Unit]
Description=mihomo Proxy Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=always
RestartSec=5
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

幾個欄位值得說明:AfterWants 確保網路就緒後才啟動;Restart=always 搭配 RestartSec=5,讓核心意外結束時自動重來;LimitNOFILE 放寬可開啟檔案數的上限,連線數多的時候比較不會踩到限制。

啟動、開機自動啟動與查看記錄

sudo systemctl daemon-reload
sudo systemctl enable --now mihomo
systemctl status mihomo

enable --now 一次做兩件事:設定開機自動啟動,並立刻啟動服務。狀態顯示 active (running) 就代表正常。想看即時記錄,用 journalctl 跟著輸出:

journalctl -u mihomo -f

服務起不來時,錯誤訊息幾乎都會出現在這裡,最常見的還是設定檔語法錯誤與連接埠被佔用。修改設定之後,用 sudo systemctl restart mihomo 重新載入即可。

驗證出口是否真的走代理

在同一台機器上用 curl 指定代理連接埠測試,能取得回應就表示核心正常轉發:

curl -x http://127.0.0.1:7890 -sS -o /dev/null -w "%{http_code}\n" https://example.com

回傳 200 之類的狀態碼即代表通了。若要比對是否真的換了出口,可以分別跑帶 -x 與不帶 -x 的版本,觀察對外查詢到的位址是否不同。這時記得把設定裡的 rules 換成會實際走代理的規則,否則最小設定全走直連,結果自然一樣。

補充:伺服器上的解析行為與桌面不太一樣,若出現「連得上但部分網域解析怪怪的」,通常和 DNS 段落的設定有關,處理方向可以參考 mihomo DNS 設定詳解

更新與回退舊版

  1. 先停止服務:sudo systemctl stop mihomo
  2. 備份現有執行檔:sudo cp /usr/local/bin/mihomo /usr/local/bin/mihomo.bak
  3. 解壓縮新版、加上執行權限,覆蓋到 /usr/local/bin/mihomo
  4. 重新啟動:sudo systemctl start mihomo,再用 journalctl 確認沒有錯誤。

要回退時,把備份檔改回原名再重啟服務就好。設定檔放在 /etc/mihomo,升級與回退都不會動到它,這也是把資料目錄與執行檔分開放的好處。設定檔的欄位含義可參考 mihomo 設定檔入門;若你也想在自己的 Windows 電腦上手動跑核心,做法整理在 mihomo Windows 命令列部署教學