平台專題 預計閱讀 12 分鐘

macOS 安裝 Clash 客戶端權限問題:網路擴充功能與鑰匙圈處理步驟

逐步解決 macOS 安裝遭阻擋、網路擴充功能授權與鑰匙圈反覆跳窗:系統設定該點哪裡、輔助程式安裝位置及解除安裝殘留清理方式,一步步排除問題。

先判斷卡在哪一種權限

macOS 上的 Clash 客戶端通常同時涉及應用程式啟動、系統代理伺服器、特權輔助程式、網路擴充功能與鑰匙圈,且分別由不同的系統元件管理。看到「需要權限」時,先記下跳窗標題與出現時機,不要連續按取消。一次安裝可能只缺少其中一項,也可能同時存在舊版殘留與新版元件。

四類提示對應四個處理入口

  • 無法開啟應用程式或無法驗證開發者:這屬於 Gatekeeper 啟動檢查,請前往「系統設定」→「隱私權與安全性」處理。
  • 安裝服務、Helper 或 Service Mode 需要密碼:這屬於特權輔助程式安裝。此處輸入的是目前 Mac 管理者帳號密碼,不是訂閱密碼。
  • 系統擴充功能或網路擴充功能遭封鎖:需要在「網路」或「登入項目與擴充功能」中允許對應擴充功能,部分版本還需要重新啟動。
  • 每次啟動都詢問是否存取鑰匙圈:通常是已儲存密碼項目的存取控制不相符,或舊客戶端建立的項目仍被新客戶端讀取。

確認系統版本與處理器架構

開啟螢幕左上角的 Apple 選單,選擇「關於這台 Mac」。記下 macOS 版本與晶片名稱。Apple M1、M2、M3、M4 及後續 Apple 晶片應使用 arm64 安裝包;Intel Mac 則使用 x64 或 x86_64 安裝包。架構選錯時,應用程式可能透過 Rosetta 執行,也可能在安裝輔助程式時失敗。

本文以 macOS 13 Ventura、macOS 14 Sonoma、macOS 15 Sequoia,以及 Clash Verge Rev 2.x 這類基於 mihomo 的客戶端為例。不同客戶端的按鈕名稱可能寫成「服務模式」「安裝服務」「Helper」「TUN」或「網路擴充功能」,但系統授權位置大致相同。

處理應用程式安裝與首次啟動封鎖

先將應用程式放入「應用程式」再啟動

  1. 開啟下載的 DMG 檔案。
  2. 將客戶端圖示拖曳到「應用程式」資料夾,不要長期直接從 DMG 視窗執行。
  3. 等待複製完成,退出 DMG。
  4. 從 Finder 的「應用程式」目錄開啟客戶端。

輔助程式通常會記錄主應用程式的路徑與簽章。從下載資料夾、DMG 掛載點或暫存目錄執行,可能導致應用程式升級後路徑變更,進而反覆要求授權。安裝後也不建議任意修改應用程式名稱。

「無法驗證開發者」或「已阻止使用」

先確認安裝包來自專案正式發布管道,且下載的架構正確。接著嘗試開啟一次應用程式,讓系統產生封鎖紀錄。前往「系統設定」→「隱私權與安全性」,向下找到遭封鎖的應用程式,按一下「仍要開啟」,再透過系統確認視窗完成啟動。

如果頁面沒有出現「仍要開啟」,通常是尚未真正觸發啟動,或封鎖紀錄已經過期。返回 Finder 再開啟一次,然後立即查看「隱私權與安全性」。由公司管理的 Mac 可能受裝置管理策略限制,禁止使用者自行放行;此時需要管理員在管理策略中核准應用程式或系統擴充功能。

安裝特權輔助程式與服務模式

系統代理伺服器只需修改 macOS 的代理伺服器設定,而 TUN 模式則需要建立虛擬網路介面並調整路由。許多客戶端會安裝具備系統權限的輔助程式,由它啟動 mihomo 核心、寫入路由或管理 DNS。安裝這項服務時出現管理者密碼視窗,屬於正常的系統授權流程。

正確的安裝順序

  1. 結束其他正在執行的 Clash、mihomo 或同類型代理伺服器客戶端。
  2. 在目前的客戶端中開啟「設定」→「服務模式」,或「設定」→「系統服務」。
  3. 按一下「安裝服務」或「安裝 Helper」。
  4. 在 macOS 系統授權視窗中輸入管理者帳號密碼。
  5. 等待狀態變為「已安裝」或「執行中」,再啟用系統代理伺服器或 TUN。

如果目前登入的帳號不是管理者,使用者名稱與密碼必須填寫一組有效的管理者憑證。此處不接受 Apple ID 密碼,也不接受客戶端訂閱使用的帳號密碼。

安裝後仍顯示「服務未執行」

先完全結束客戶端,再重新開啟。仍未恢復時,開啟「活動監視器」,搜尋客戶端名稱、mihomoclash,確認是否同時存在舊版程序。也可以在「終端機」執行以下唯讀指令:

ps aux | grep -E '[m]ihomo|[c]lash'
lsof -nP -iTCP:7890 -sTCP:LISTEN
lsof -nP -iTCP:7897 -sTCP:LISTEN

連接埠 7890 常見於傳統 Clash 設定,部分 mihomo 客戶端預設使用 7897。如果發現連接埠被其他程序佔用,應結束對應的舊客戶端,或在「設定」→「連接埠設定」中更換 mixed-port。不要讓兩個客戶端同時接管系統代理伺服器。

如果服務安裝按鈕一直轉圈,請先使用客戶端內建的「解除安裝服務」,結束應用程式並重新啟動 Mac,然後再次安裝。直接在 Finder 中刪除應用程式不會自動移除系統層級的輔助程式,因此「刪除後重裝」不一定能解決問題。

允許網路擴充功能並啟用 TUN

網路擴充功能、網路過濾器與 TUN 虛擬介面並不是同一個概念。客戶端可能透過 Apple Network Extension 介面提供通道,也可能由特權服務建立 utun 介面。是否出現「網路擴充功能」開關取決於客戶端實作,不能只看選單中是否有 TUN 按鈕。

macOS 13 與 14 的檢查路徑

  • 開啟「系統設定」→「網路」→「VPN 與過濾器」,查看是否存在目前客戶端的過濾器或 VPN 設定。
  • 開啟「系統設定」→「一般」→「登入項目」,檢查「允許在背景執行」區域中的對應項目是否已關閉。
  • 開啟「系統設定」→「隱私權與安全性」,查看底部是否有系統軟體或擴充功能遭封鎖的提示。

macOS 15 及後續版本的檢查路徑

在 macOS 15 Sequoia 中,擴充功能管理集中到「系統設定」→「一般」→「登入項目與擴充功能」。按一下「網路擴充功能」旁的詳細資訊按鈕,允許目前客戶端對應的擴充功能。如果客戶端建立了 VPN 或內容過濾器,還要返回「系統設定」→「網路」→「VPN 與過濾器」,確認項目處於允許狀態。

允許擴充功能後,系統可能要求重新啟動。請先儲存工作,再依照提示重新啟動。僅結束客戶端通常不足以完成首次擴充功能註冊。

確認 TUN 是否確實建立

啟用 TUN 後,在終端機執行:

ifconfig | grep -A 4 '^utun'
route -n get default
scutil --proxy

macOS 本身也會建立多個 utun 介面,因此看到 utun0utun1 並不能直接證明 Clash 運作正常。更可靠的判斷方式是:開啟 TUN 前後介面數量有所變化,客戶端日誌出現監聽與路由初始化資訊,而且關閉系統代理伺服器後,原本不讀取系統代理伺服器的應用程式仍能依規則連線。

解決鑰匙圈反覆跳窗

客戶端可能會將訂閱憑證、服務授權資訊或系統代理伺服器相關密碼儲存在登入鑰匙圈中。應用程式升級、簽章變更、安裝路徑變更,或從舊項目遷移後,鑰匙圈儲存的存取控制清單可能不再相符,因此每次啟動、更新訂閱或開啟服務時都會跳出存取要求。

先查看跳窗要求存取的項目

不要只看視窗上方顯示的客戶端名稱。展開詳細資訊,確認請求者路徑位於「應用程式」中的目前客戶端,並記下它準備存取的鑰匙圈項目名稱。如果路徑指向下載資料夾、已刪除的舊應用程式或不認識的程式,請選擇拒絕,然後關閉該程式進行清理。

路徑與目前客戶端一致時,可以先輸入 Mac 登入密碼並選擇「永遠允許」。如果下次啟動仍出現相同跳窗,繼續按「永遠允許」通常沒有幫助,應修復具體的鑰匙圈項目。

刪除單一舊項目,讓客戶端重新建立

  1. 結束客戶端,確認選單列圖示已經消失。
  2. 開啟「應用程式」→「工具程式」→「鑰匙圈存取」。新系統也可以使用 Spotlight 搜尋「鑰匙圈存取」。
  3. 在左側選擇「登入」鑰匙圈,再選擇「所有項目」或「密碼」。
  4. 搜尋跳窗中顯示的項目名稱,也可以分別搜尋客戶端名稱、Clashmihomo 或舊客戶端名稱。
  5. 開啟項目,核對「帳號」「位置」與「存取控制」。只刪除已確認屬於舊客戶端的單一項目。
  6. 重新開啟客戶端,依照提示重新儲存憑證或安裝服務。

如果登入鑰匙圈處於鎖定狀態,請在「鑰匙圈存取」中選取「登入」,透過選單執行解鎖。登入鑰匙圈密碼通常與目前帳號的登入密碼相同。曾修改帳號密碼但未同步鑰匙圈時,系統可能會提示輸入舊密碼;此時應先修復登入鑰匙圈,而不是不斷重裝客戶端。

只有更新訂閱時才出現跳窗

這通常表示訂閱相關憑證的儲存項目有問題,而不是 TUN 權限問題。刪除對應訂閱後重新匯入,可以讓客戶端重新建立儲存項目。操作前請先儲存訂閱網址。重新匯入後,先手動執行一次「設定」→「更新訂閱」,再結束並重新開啟客戶端進行驗證。

清理解除安裝殘留後重新安裝

舊版 Clash 客戶端與新客戶端可能共用連接埠、設定目錄或背景服務。典型現象包括:客戶端已刪除但系統代理伺服器仍指向 127.0.0.1:7890、TUN 開關立即關閉、服務安裝成功後仍啟動舊核心,以及鑰匙圈跳窗顯示舊應用程式名稱。

先關閉代理伺服器並解除安裝服務

  1. 開啟舊客戶端,關閉 TUN 與系統代理伺服器。
  2. 前往「設定」→「服務模式」,執行「解除安裝服務」或「移除 Helper」。
  3. 完全結束客戶端。
  4. 開啟「系統設定」→「網路」→目前網路→「詳細資訊」→「代理伺服器」,確認網頁代理伺服器、安全網頁代理伺服器與 SOCKS 代理伺服器沒有留下本機連接埠。
  5. 在「VPN 與過濾器」或「登入項目與擴充功能」中移除已停用的舊項目。

如果舊客戶端已無法開啟,可以先重新安裝相同版本,並使用內建的解除安裝功能。客戶端知道自身輔助程式的準確識別資訊,比手動猜測系統目錄中的檔案更可靠。

檢查使用者層級設定目錄

在 Finder 中按下 Command + Shift + G,逐一查看以下位置:

~/Library/Application Support/
~/Library/Preferences/
~/Library/Caches/
~/Library/Logs/
~/Library/LaunchAgents/

只處理名稱明確對應舊客戶端的目錄或檔案。設定目錄中可能包含訂閱、規則覆寫、指令碼與日誌。需要遷移時,請先複製到獨立的備份目錄,再刪除原位置。不要使用含萬用字元的終端機指令,批次刪除所有包含 clashmihomo 的項目,因為其他仍在使用的客戶端也可能使用這些名稱。

確認系統代理伺服器已恢復

執行 scutil --proxy,查看 HTTPEnableHTTPSEnableSOCKSEnable。關閉系統代理伺服器後,這些值通常應為 0。如果仍為 1,請進入目前網路服務的代理伺服器設定手動關閉。Wi-Fi 與有線網路是兩套獨立服務,需要分別檢查。

依照症狀完成最後排查

系統代理伺服器可用,但 TUN 無法使用

  • 確認服務模式或 Helper 已安裝且正在執行。
  • 檢查「VPN 與過濾器」及「登入項目與擴充功能」中的網路擴充功能狀態。
  • 暫時結束其他 VPN、內容過濾器與同類型代理伺服器客戶端,再重新開啟 TUN。
  • 查看客戶端日誌中是否有 permission denied、路由寫入失敗或 DNS 監聽連接埠遭佔用。
  • 重新啟動 Mac 後,先只啟動一個客戶端,避免多個程式同時建立預設路由。

TUN 可以開啟,但部分網站無法開啟

此時權限大多已正常,應改從 DNS 與規則著手排查。檢查設定中的 dns.enableenhanced-mode、規則順序與最終匹配策略。區域網路網域、公司內網與印表機位址可依實際情況加入直連規則。不要透過反覆重裝網路擴充功能來解決規則設定問題。

每次升級後都要求重新授權

確認客戶端始終安裝在相同路徑,並使用同一發布管道的正式版本。升級前結束應用程式,升級後從「應用程式」啟動。如果跨越多個主要版本,例如從舊版 ClashX 系列遷移到 Clash Verge Rev 2.x,應先解除安裝舊服務,再由新客戶端安裝自己的服務,不要直接重用舊輔助程式。

一套可重現的驗證順序

  1. 重新啟動 Mac,只開啟目前的客戶端。
  2. 匯入訂閱並手動更新一次。
  3. 選擇一個可用節點,先開啟系統代理伺服器。
  4. 確認瀏覽器連線正常,並檢查本機連接埠是否正在監聽。
  5. 關閉系統代理伺服器,安裝服務並開啟 TUN。
  6. 檢查 utun 介面變化與客戶端日誌。
  7. 結束後重新開啟客戶端,確認鑰匙圈不再重複詢問。

完成這七個步驟後,應用程式啟動、訂閱讀取、系統代理伺服器、輔助程式、網路擴充功能與鑰匙圈都已分別驗證。之後若再次出現問題,可以根據失敗的具體步驟定位,不必從頭刪除所有設定。

Clash 最新版下載