在 macOS 安裝 Clash 客戶端:網路延伸功能授權與鑰匙圈彈窗處理教學

macOS 首次啟動 Clash 時,常會卡在網路延伸功能安裝、系統設定放行或鑰匙圈存取彈窗。本文按 macOS 版本整理彈窗時機、正確選項與授權失敗後的重設方法。

先分清三類授權:系統代理伺服器、輔助服務與網路延伸功能

macOS 客戶端中的「設為系統代理伺服器」「安裝服務模式」「啟用 TUN」不是同一個開關。它們使用的系統功能不同,出現的彈窗也不同。若混在一起處理,常見結果是網路延伸功能已獲准,卻仍無法修改代理伺服器;或系統代理伺服器已生效,卻重複安裝 TUN 服務。

功能 系統動作 常見授權 適用範圍
系統代理伺服器 寫入 HTTP、HTTPS 與 SOCKS 代理伺服器 可能要求管理員密碼或輔助服務權限 遵循 macOS 代理伺服器設定的 App
服務模式 安裝高權限輔助程序 管理員帳戶密碼 穩定修改系統代理伺服器、啟動核心或接管網路
TUN 模式 建立虛擬網路介面並調整路由 VPN 設定、網路延伸功能或輔助服務授權 不讀取系統代理伺服器設定的 App 與部分命令列流量
鑰匙圈存取 讀取已儲存的權杖、訂閱憑證或服務金鑰 目前的 macOS 登入密碼 僅對應彈窗中列出的鑰匙圈項目

以下以常見的 Clash Verge Rev 2.x、ClashX.Meta 1.4.x,以及採用 mihomo 核心的 macOS 客戶端為例。介面名稱可能顯示為「系統代理伺服器」「Service Mode」「Clash Core」「TUN Mode」或「增強模式」,實際功能不一定完全相同。安裝時應按需求逐項啟用,不必為了完成安裝一次核准所有功能。

首次啟動的正確順序

第一步:將 App 放入「應用程式」資料夾

下載完成後開啟 DMG,將客戶端拖曳到「應用程式」,再從 Finder 的「應用程式」資料夾啟動。不要長期從 DMG 映像檔、下載項目或解壓縮後的暫存資料夾執行。App 路徑變更會影響登入項目、輔助服務與鑰匙圈存取控制;升級後反覆出現彈窗,通常與路徑或程式碼簽章變更有關。

  1. 在 Finder 中開啟下載的 DMG 或壓縮檔。
  2. 將 App 拖曳到「應用程式」。
  3. 退出安裝映像檔,並關閉仍在執行的舊版本。
  4. 從「應用程式」中開啟客戶端。
  5. 確認選單列或 Dock 中只有一個客戶端執行個體。

如果 macOS 提示 App 來自網際網路,確認檔案來源與 App 名稱後選擇「開啟」。若系統直接阻止啟動,可前往「系統設定」→「隱私權與安全性」,在安全性區域找到剛才遭阻止的 App,選擇「仍要開啟」。舊版 macOS 12 Monterey 的路徑為「系統偏好設定」→「安全性與隱私」→「一般」。

第二步:匯入設定並確認本機連接埠

在客戶端的「設定」或「Profiles」頁面匯入訂閱,等待設定解析完成,再選擇策略群組中的節點。mihomo 設定中常見的混合連接埠是 7890,SOCKS 連接埠可能是 7891,外部控制連接埠常見為 9090;這些只是常用預設值,仍應以目前設定檔與客戶端設定頁顯示的數值為準。

mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

如果其他代理工具已佔用 7890,Clash 核心通常會啟動失敗或不斷重新啟動。退出其他代理 App 後,可在終端機檢查連接埠佔用情況:

lsof -nP -iTCP:7890 -sTCP:LISTEN
lsof -nP -iTCP:9090 -sTCP:LISTEN

第三步:先啟用系統代理伺服器

開啟客戶端中的「系統代理伺服器」開關。部分客戶端首次執行時會要求安裝輔助服務,並顯示管理員認證視窗。此處輸入的是目前 Mac 管理員帳戶的密碼,不是 Apple ID 密碼。輸入時視窗通常不會顯示字元數量,這是 macOS 權限驗證的正常行為。

啟用後可透過終端機確認目前網路服務的代理伺服器狀態。無線網路服務通常名為 Wi-Fi,部分舊版系統或自訂環境可能顯示其他名稱:

networksetup -getwebproxy Wi-Fi
networksetup -getsecurewebproxy Wi-Fi
scutil --proxy

輸出中的 Enabled: Yes、伺服器位址 127.0.0.1 與客戶端連接埠一致,表示系統代理伺服器已寫入。此時瀏覽器仍無法連線,應優先檢查節點、規則與 DNS,不要繼續重複安裝網路延伸功能。

macOS 12 至 macOS 15 的網路延伸功能放行路徑

TUN 模式可能透過 Network Extension、Packet Tunnel Provider、系統延伸功能或高權限輔助程序實作。不同客戶端、安裝方式與 macOS 版本會顯示不同提示。只有在啟用 TUN、增強模式或安裝網路服務時出現系統通知,才需要進入對應頁面核准。

macOS 15 Sequoia

macOS 15 將延伸功能管理入口集中到「登入項目與延伸功能」。收到「系統延伸功能已遭阻止」或網路延伸功能請求後,先開啟「系統設定」→「一般」→「登入項目與延伸功能」,檢查頁面底部的「網路延伸功能」。找到與目前客戶端開發者或 App 名稱一致的項目,開啟開關並依提示完成認證。

如果出現「加入 VPN 設定」對話框,確認請求來自剛才操作的 Clash 客戶端後選擇「允許」。完成後返回客戶端,關閉再重新開啟 TUN。部分版本需要完全退出客戶端並重新啟動,系統才會重新載入 Packet Tunnel Provider。

macOS 13 Ventura 與 macOS 14 Sonoma

在 Ventura 13.7 與 Sonoma 14.7 上,被阻擋的系統軟體通常會顯示在「系統設定」→「隱私權與安全性」頁面下方。點選「允許」後輸入管理員密碼,再依系統提示重新開啟客戶端或重新啟動 Mac。若頁面沒有按鈕,不要持續點選客戶端中的「安裝」;先退出 App,重新觸發一次 TUN 或服務安裝請求,再立即查看「隱私權與安全性」。

VPN 設定可在「系統設定」→「VPN」中查看。若存在同一客戶端留下的多個失效設定,先關閉 TUN,再刪除明確屬於舊版的重複項目,然後由目前版本重新建立。公司裝置上的 VPN 項目可能由行動裝置管理設定檔下發,不應自行刪除。

macOS 12 Monterey

Monterey 12.7 使用舊版「系統偏好設定」。前往「安全性與隱私」→「一般」,點選左下角鎖頭按鈕並完成認證,再核准遭阻擋的系統軟體。網路服務與 VPN 狀態可在「系統偏好設定」→「網路」中檢查。核准後若提示重新啟動,請儲存工作並正常重新啟動,不要強制結束系統偏好設定程序。

鑰匙圈彈窗該選擇「允許」還是「永遠允許」?

鑰匙圈彈窗會明確列出要求存取的 App 與項目名稱。Clash 客戶端可能使用鑰匙圈儲存訂閱認證資訊、控制器金鑰、服務權杖或安全儲存項目。處理前先確認彈窗頂端的 App 名稱是否與剛啟動的客戶端一致,並確認彈窗是在匯入訂閱、安裝服務或升級後首次啟動時出現。

按鈕 結果 建議使用情境
拒絕 本次不提供該鑰匙圈項目 無法確認 App 名稱、來源或請求時機
允許 僅核准本次讀取 首次驗證功能,暫不建立長期授權
永遠允許 為目前 App 身分儲存存取權限 確認是固定安裝路徑中的可信任客戶端,且需要在背景自動啟動

如果客戶端需要隨登入自動啟動,且每次啟動都會讀取同一個服務金鑰,選擇「永遠允許」可避免背景啟動被彈窗阻擋。這裡仍需輸入目前 macOS 登入帳戶的密碼。Touch ID 是否可用取決於系統版本、鑰匙圈項目與認證政策;彈窗要求密碼時,應使用本機帳戶密碼。

若只選擇「允許」,下一次 App 重新啟動時再次詢問屬於預期行為。若已選擇「永遠允許」卻仍每次出現彈窗,應重點檢查 App 是否仍從 DMG 執行、升級時是否更換發行來源,以及系統中是否同時保留兩個同名客戶端。鑰匙圈存取控制會辨識 App 簽章;名稱相同不代表是同一個授權主體。

網路延伸功能授權失敗後的重設步驟

先進行最小化重試

  1. 關閉客戶端中的 TUN、系統代理伺服器與開機啟動。
  2. 從選單列選擇「退出」,再開啟「活動監視器」確認客戶端程序已結束。
  3. 前往「系統設定」→「網路」→「VPN」,刪除明確屬於目前客戶端且狀態異常的舊設定。
  4. 在 macOS 15 的「一般」→「登入項目與延伸功能」→「網路延伸功能」中關閉舊項目,再重新開啟。
  5. 重新啟動 Mac,從「應用程式」啟動客戶端。
  6. 先啟用系統代理伺服器測試,再單獨啟用 TUN。

可以使用系統指令查看已註冊的系統延伸功能。此清單只能用來確認延伸功能是否存在,不代表 Clash 流量一定已經通過:

systemextensionsctl list
scutil --nwi
ifconfig | grep -E "utun[0-9]"

看到 utun0utun1 等介面,也不能直接判定它們屬於 Clash,因為 iCloud Private Relay、企業 VPN 與其他網路軟體都可能建立 utun。更可靠的方法是在關閉 Clash TUN 前後,比對介面、路由與客戶端記錄,並確認記錄中沒有 permission denied、operation not permitted 或 route setup failed。

接著重新安裝輔助服務

許多客戶端會在「設定」→「服務模式」或「設定」→「Clash Core」中提供解除安裝與重新安裝入口。先執行解除安裝,完全退出客戶端,再重新開啟後安裝。認證成功後,應返回客戶端確認服務狀態顯示為執行中,而不只是確認管理員密碼視窗已消失。

不要從網路上複製不明的 sudo rm 指令,批次刪除 LaunchDaemon、系統延伸功能或網路設定。不同客戶端的 bundle identifier 與輔助服務名稱各不相同,刪錯項目可能影響其他 VPN。優先使用客戶端內建的解除安裝入口;若客戶端已無法啟動,再依其專案文件核對正確的服務名稱。

鑰匙圈持續出現彈窗的安全重設方法

開啟「應用程式」→「工具程式」→「鑰匙圈存取」,在左側選擇「登入」鑰匙圈,再選取「所有項目」。使用客戶端名稱、開發者名稱或彈窗顯示的項目名稱搜尋。按兩下目標項目,開啟「存取控制」,即可查看哪些 App 獲准存取。

  1. 記下彈窗顯示的鑰匙圈項目完整名稱。
  2. 退出 Clash 客戶端及其選單列程序。
  3. 在「鑰匙圈存取」中只定位對應項目,不要刪除整個「登入」鑰匙圈。
  4. 若存取清單指向舊路徑,可移除舊 App 項目並儲存。
  5. 若項目明確屬於已解除安裝的舊客戶端,可刪除該單一項目。
  6. 從「應用程式」重新啟動目前客戶端,讓它重新建立項目或申請存取權。
  7. 確認 App 名稱後選擇「允許」;功能穩定後,再決定是否使用「永遠允許」。

刪除訂閱憑證類項目後,客戶端可能要求重新登入或重新匯入訂閱。操作前應確認訂閱連結仍可取得。不要刪除憑證、Wi-Fi 密碼、瀏覽器安全儲存項目,或名稱無法確認的通用密碼項目。

授權完成後仍無法上網的檢查順序

網路延伸功能顯示已啟用,只代表 macOS 接受了該延伸功能,不代表節點可用、規則正確或 DNS 已完成解析。建議嚴格依照以下順序檢查,避免把所有故障都歸咎於系統權限。

  1. 核心狀態:確認 mihomo 或 Clash Meta 核心正在執行,且記錄中沒有連接埠佔用或設定解析錯誤。
  2. 訂閱狀態:手動更新設定,確認訂閱尚未過期,且策略群組中已選擇具體節點,而不是無法使用的佔位策略。
  3. 系統代理伺服器:使用 scutil --proxy 檢查位址與連接埠,確認與客戶端的 mixed-port 一致。
  4. 執行模式:日常使用優先選擇 Rule。Global 會讓更多請求使用單一策略,Direct 則不會依代理規則轉送。
  5. DNS:檢查設定中的 nameserver、fallback 或 fake-ip 設定。修改後重新啟動核心,不要只切換系統代理伺服器。
  6. TUN 衝突:退出其他 VPN、封包擷取工具與同類代理客戶端,再單獨啟用 Clash TUN。
  7. 防火牆與過濾器:前往「系統設定」→「網路」→「VPN 與過濾器」,檢查是否有同時啟用的內容過濾器。

系統代理伺服器測試正常,但開啟 TUN 後斷網,問題通常集中在路由、DNS 劫持、MTU 或其他 VPN 衝突。可先關閉 TUN 的自動路由與 DNS 接管選項,逐項測試。若設定使用 Fake-IP,還要確認區域網路裝置、企業網域與本地域名是否需要加入 fake-ip-filter。不了解規則含義時,不要直接將所有網域改為直連。

反過來,若 TUN 正常但瀏覽器在關閉 TUN 後無法連線,應檢查系統代理伺服器是否確實寫入。某些客戶端的服務模式安裝失敗後,介面開關會短暫亮起,但系統代理伺服器設定並未變更。此時請重新安裝輔助服務,再使用 networksetupscutil 驗證。

升級與解除安裝時避免留下權限殘留

升級前先關閉系統代理伺服器與 TUN,再退出客戶端。使用 App 內更新時,請確保 App 位於「應用程式」;手動替換時,應先退出舊版,再以新版覆蓋,不要同時保留「客戶端」「客戶端 2」與下載資料夾中的副本。更換不同分支或發行版時,先匯出本機設定,並使用舊客戶端的服務解除安裝功能。

刪除 App 圖示不會自動清除系統代理伺服器設定。如果退出前系統代理伺服器仍指向 127.0.0.1:7890,刪除客戶端後瀏覽器可能無法連線。可前往「系統設定」→「網路」→「Wi-Fi」→「詳細資訊」→「代理伺服器」,關閉網頁代理伺服器、安全網頁代理伺服器與 SOCKS 代理伺服器;也可以重新安裝客戶端,啟用後再正常關閉系統代理伺服器。

完成解除安裝後,再檢查「系統設定」→「一般」→「登入項目與延伸功能」、「系統設定」→「網路」→「VPN」以及「鑰匙圈存取」。只清理能確認屬於舊客戶端的項目。若準備繼續使用同一客戶端,不必為了升級刪除所有設定,保留訂閱與規則檔案通常更穩妥。

下載Clash