教學 · 預計閱讀 13 分鐘

Ubuntu 24.04 LTS 安裝 Mihomo:
壓縮包解壓與 systemd 一步到位

鎖定目前最受歡迎的長週期支援版本:Ubuntu 24.04 LTS。本文從 GitHub Release 取得官方壓縮包、解壓安裝 Mihomo(Clash Meta),用最小 YAML接上 Linux 代理埠與本機 API,並以 systemd 做到開機自啟、崩潰自動拉起;訂閱則用 proxy-providers 直接匯入,與泛用的「所有發行版一篇帶過」刻意做出差異。

Ubuntu 24.04 · Mihomo · systemd · Clash Meta · 訂閱

1 為何鎖定 Ubuntu 24.04 LTS 來談 Mihomo 安裝

搜尋「Linux 安裝 Mihomo」多數教學會把 Debian、Fedora、雲端映像檔混在同一篇,對照實際工作情境卻往往缺了關鍵細節:讀者手邊可能就是一台裝了 Ubuntu 24.04 LTS 的桌面、實驗室工作站,或雲上預設 Noble 映像的 VPS。把流程寫死在這個版本上,你可以精準命中「要如何在此發行版上跑 Clash Meta 核心」「開機怎麼自動啟」「訂閱放哪裡」這類長尾問題,也方便與站內較通用的Linux Mihomo 與 systemd 通用教學互相補位:前者講全分發共性,本篇則補上 Ubuntu 24.04 使用者最常遇到的檔案路徑、預設防火牆與桌面/Server 差異。

Noble 仍沿用 systemd 作為初始化系統,預設已整合 network-online.target,對「等網路好再起代理核心」非常友善;桌面版常見的額外守護行程(如透過 NetworkManager 管理連線)也不影響你採用同一套單元檔策略。另一方面,Ubuntu 24.04 的軟體庫不會保證跟上 Mihomo/Clash Meta 的最新釋出節奏,實務上仍以官方 GitHub Release 壓縮包最可重現,也能避免 PPA 版本落後或與你期待的特性集不一致。

若你的訂閱連結來自機場後台、格式不是「純 YAML 片段」,可以先瀏覽訂閱轉換教學理解欄位對應,再回到本文把整理好的 proxies/provider 合進最小骨架;兩篇搭配閱讀可以覆蓋「從拿到連結到 Linux 代理實際Listen」的完整路徑。

2 準備套件、目錄與權限思維

在全新 Minimal 或 Desktop 安裝上,先補齊下載與解壓工具。Noble 預設多半已有 curl,但仍建議明確安裝,以免 server 映像裁切過頭:

Bash
sudo apt update
sudo apt install -y curl wget ca-certificates

目錄建議沿用「執行檔在 /usr/local/bin、設定在 /etc/mihomo、日誌在 /var/log/mihomo」的三件套;這與多數 systemd 範例一致,也讓備份設定時只需要打包一個資料夾。建立指令如下:

Bash
sudo mkdir -p /etc/mihomo/providers
sudo mkdir -p /var/log/mihomo

之後 proxy-providers 會把遠端訂閱快取到 /etc/mihomo/providers,避免直接污染主設定檔。若你打算以非 root 使用者執行核心,記得同步調整上述目錄的擁有者;為篇幅聚焦,下文單元檔先示範 root 執行,與多數 VPS 教學一致,生產環境可再收斂成專用帳號並搭配能力位元組(capabilities)調整。

3 從 Release 下載壓縮包並解壓安裝

先用 uname -m 核對架構:x86_64 對應 amd64;若為樹莓派或部分 ARM 雲主機,會看到 aarch64,請改下載 arm64 資產。接著打開 MetaCubeX/Mihomo 的 GitHub Releases 頁面,複製目前最新版的 mihomo-linux-<arch>-vX.Y.Z.gz 下載連結(下例的版本號請自行替換成真實檔名):

Bash
cd /tmp
wget https://github.com/MetaCubeX/mihomo/releases/download/v1.19.0/mihomo-linux-amd64-v1.19.0.gz
gunzip -f mihomo-linux-amd64-v1.19.0.gz
sudo install -m 0755 mihomo-linux-amd64-v1.19.0 /usr/local/bin/mihomo
mihomo -v

這裡刻意走「壓縮包解壓」路線:gunzip 之後即為單一二進位檔,沒有 AppImage、snap 或 Docker 額外層;對伺服器來說更新流程也簡單——重複下載新版本、覆寫 /usr/local/bin/mihomo、再 systemctl restart mihomo。若你偏好在使用者家目錄安裝,也可把執行檔放到 ~/bin 並在單元檔調整路徑,但請同步修正 SELinux/AppArmor 相關政策(Noble 預設以 AppArmor 為主,一般純使用者路徑不受影響)。

驗證下載可信度 建議核對 Release 頁提供的 checksum,或以已信任的發行流程下載;對企業內網而言,亦可改由內部 Artifact 伺服器鏡像二進位檔,減少對外連線依賴。

4 最小 YAML:混合埠、本機 API 與 proxy-providers 匯入訂閱

下列骨架示範 Clash Meta/Mihomo 相容欄位:mixed-port 同時承載 HTTP 與 SOCKS;external-controller 綁在 127.0.0.1:9090 供本機儀表板或 REST 呼叫;DNS 採 FakeIP,降低典型瀏覽器與終端機在首次設定時的摩擦。重點在 proxy-providers:把機場給的訂閱網址直接放進 url,核心會週期性拉取並在 providers/ 落地快取。

YAML (/etc/mihomo/config.yaml)
# 本機 API:請務必改強密碼,僅監聽 127.0.0.1
external-controller: 127.0.0.1:9090
secret: "CHANGE_ME_STRONG"

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

dns:
  enable: true
  listen: 127.0.0.1:1053
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - https://8.8.8.8/dns-query
    - https://1.1.1.1/dns-query

proxy-providers:
  airport:
    type: http
    url: "https://example.com/your-subscription-link"
    path: ./providers/airport.yaml
    interval: 3600
    health-check:
      enable: true
      url: https://www.gstatic.com/generate_204
      interval: 600

proxy-groups:
  - name: PROXY
    type: select
    use:
      - airport
    proxies:
      - DIRECT

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

url 換成你的真實訂閱;若供應商要求特定 User-Agent,可在 provider 區塊補上 header 欄位。 YAML 內只能用空白縮排,混用 Tab 會讓 mihomo -t 直接報錯。完成後執行:

Bash
sudo /usr/local/bin/mihomo -t -d /etc/mihomo

若輸出顯示設定合法,即可進下一步交給 systemd。想進一步處理 systemd-resolved 與 TUN 並存時的 DNS 路徑,可延伸閱讀systemd-resolved 與 Mihomo DNS stub,避免桌面版出現雙重解析衝突。

別把 API 直接暴露在公網external-controller 改成 0.0.0.0 卻未搭配 UFW 來源限制,等於把切節點與連線紀錄暴露在全球路由上;Noble 內建 ufw,若非要遠端管理,請僅開放內網或固定跳出主機 IP。

5 建立 systemd 單元:開機自啟與日誌落地

/etc/systemd/system/mihomo.service 新增服務,關鍵是等待 network-online.target,並把標準輸出/錯誤附加到輪替友善的日誌檔。下列內容可直接套用,若要改用一般使用者,請調整 User= 並確保該帳號可讀寫設定與 providers 目錄:

Service File
[Unit]
Description=Mihomo (Clash Meta) on Ubuntu
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
RestartSec=5
StandardOutput=append:/var/log/mihomo/output.log
StandardError=append:/var/log/mihomo/error.log

[Install]
WantedBy=multi-user.target

相較於僅設定 Restart=always,在桌面筆電上可視需求改用 on-failure,避免人工停服後被立刻拉起;伺服器若想最大化可用性,仍可改回 always。單元檔儲存後勿忘 daemon-reload。若需以環境變數注入 Proxy 進行「安裝過程本身出網」,可在 [Service] 區塊加入 Environment=HTTPS_PROXY=...,但長期執行請改由核心自己分流,以免雙重轉送。

6 啟用、驗證與日常維運指令

套用最後一組指令啟用服務並檢視狀態:

Bash
sudo systemctl daemon-reload
sudo systemctl enable --now mihomo
systemctl --no-pager status mihomo

看到 active (running) 後,以環境變數讓當前 shell 走本機 Linux 代理,再用 curl 驗證:

Shell
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export ALL_PROXY=socks5://127.0.0.1:7890
curl -I https://www.google.com

若要排查啟動失敗,請優先 journalctl -u mihomo -n 100 --no-pager,並同步檢查 /var/log/mihomo/error.log。更新訂閱或改寫規則後,執行 sudo systemctl restart mihomo;僅微調 selector 時可透過 API 熱更,但大改 YAML 仍建議重啟確保狀態乾淨。進階使用者若要 Web Dashboard,可參考外接控制器與 YACD 儀表板一文,把面板只跑在本機迴環位址。

7 桌面版、UFW 與筆電電源管理

Ubuntu Desktop 使用者常開啟 UFW;若你未來要把 mixed-port 開放給區網裝置,記得同步允許區段,而非直接關閉防火牆。典型指令如 sudo ufw allow from 192.168.0.0/24 to any port 7890,實際子網請依家中路由調整。對學生或通勤場景,筆電睡眠喚醒後若遇到 DNS 卡住,多半是快取與路由表需要刷新,可先 sudo systemctl restart systemd-resolved 再重啟 mihomo,或按前段連結調整 TUN/DNS 佈局。

Server 映像沒有桌面負擔,但仍可能在雲端安全組層級擋住出站;若訂閱域名均正常但 provider 始終拉不下來,請在控制台確認「允許 HTTPS 出網」。此外,Noble 的長週期支援代表內核與套件會定期收到回溯更新,重開機後隨開機啟動仍是 systemd 的強項——確保 enable 已打開即可。

8 常見問題(診斷捷徑)

  • 為何 mihomo -t 通過但服務仍退出?檢查日誌中是否出現监听埠被占用、providers 无法下载(例如 TLS 被攔截)或使用到需要特權的 TUN 功能卻未授權。
  • 訂閱明明更新但節點沒變?確認 proxy-providersinterval 與快取檔時間戳,必要时手动删除 /etc/mihomo/providers/*.yaml 後重啟。
  • 想把流程改成非 root?建立 mihomo 系統帳號,將 /etc/mihomo 擁有者改為該使用者,單元檔改用 User=mihomo 並限制家目錄權限。
  • 與內建 resolved 衝突怎麼辦?可先維持 fake-ip 只綁 127.0.0.1,避免抢走 53 埠;若要走透明轉發需閱讀專文調整 stub listener。

9 總結

Ubuntu 24.04 LTS 上,「Mihomo 安裝」最穩定的敘事就是:用官方壓縮包保證版本可控、用最小 YAML先把 mixed-port、本機 API 與 DNS 跑通,再用 proxy-providers 把訂閱落地成可快取的檔案,最後交給 systemd 處理開機與重啟。這條路線與泛 Linux 指南一致,但本文把 Noble 常見的防火墙與桌面/伺服器語境寫清楚,讓搜尋「Ubuntu 24.04、Clash Meta、自啟」的使用者不必在泛用文中自己填空。

相較只提供一份 shell script 或過度耦合 Docker Compose 的方案,純二進位+明確目錄讓排障路徑更直觀;但若你同時需要圖形介面管理訂閱、視覺化規則編輯、或一鍵 TUN,純指令流程在互動體驗上確實略顯生硬,學習曲線也集中在 YAML 與日誌判讀上。若你希望把「匯入訂閱、切換模式、檢視連線」收斂到可視化操作,不妨搭配站上圖形用戶端的一鍵匯入、內建 Mihomo 核心與全平台安裝包,把複雜度留在桌面,伺服器則繼續維持這份精簡後台流程即可。

標籤: Ubuntu 24.04 LTS Mihomo systemd Clash Meta YAML Linux 代理
Clash 用戶端 Logo

Clash Verge Rev

新一代 Clash 用戶端 · 免費開源

在 Ubuntu 24.04 走完核心與 systemd 之後,如果想要圖形介面匯入訂閱、快速切換規則模式或啟用 TUN,Clash Verge Rev 提供與 Mihomo 相容的體驗,桌面與筆電場景更省心。

TUN 全流量接管 Mihomo 高效能核心 精準規則分流 DNS 防洩漏 多訂閱管理