先分辨四種權限提示

macOS 上的 Clash 用戶端並非都使用相同機制。Clash Verge Rev、ClashX Meta 等用戶端的介面、核心啟動方式和權限處理各不相同;採用 mihomo 核心,也不代表一定透過 Apple 網路擴充功能接管流量。處理提示視窗前,先確認提示中的應用程式名稱、開發者名稱及要求執行的動作。

首次啟動許可、網路擴充功能授權、特權輔助服務和鑰匙圈存取屬於不同機制。允許開啟應用程式,不代表允許安裝輔助服務;服務安裝成功,也不代表系統代理已啟用。別把所有提示都歸因於「Clash 沒有權限」。

提示或現象對應機制優先檢查項目
無法驗證開發者或無法開啟Gatekeeper 啟動檢查下載來源、簽章與隱私權與安全性設定
要求加入 VPN 設定或允許網路擴充功能VPN 設定、Network Extension 或系統擴充功能提出要求的程式與擴充功能類型
安裝輔助工具時要求管理者密碼特權服務安裝是否由目前使用的用戶端發起安裝
要求存取「登入」鑰匙圈中的項目受保護憑證存取鑰匙圈項目名稱與存取程序

首次開啟遭封鎖:先確認安裝位置與來源

將用戶端移至「應用程式」後再執行

  1. 在 Apple 選單的「關於這台 Mac」中確認晶片類型。Apple 晶片機型優先選擇 Apple Silicon 或 arm64 安裝檔;Intel 機型則選擇 x64 安裝檔。
  2. 開啟下載的磁碟映像檔,將應用程式拖曳至「應用程式」,也就是 /Applications。退出磁碟映像檔中正在執行的副本,再啟動已安裝的應用程式。
  3. 若系統封鎖啟動,先確認下載來源及應用程式名稱。若應用程式來源可信,且只是因開發者驗證而遭封鎖,再前往系統設定為該應用程式設定例外。

在 macOS Ventura 13、Sonoma 14 和 Sequoia 15 中,可查看「系統設定」→「隱私權與安全性」頁面下方的安全性提示;符合條件時會出現「仍要打開」。macOS Monterey 12 或更舊版本則使用「系統偏好設定」→「安全性與隱私權」→「一般」。不同系統版本的提示文字可能略有差異。

部分舊版系統支援在 Finder 中按住 Control 鍵並按一下應用程式,再選擇「打開」。macOS Sequoia 15 已調整部分繞過 Gatekeeper 檢查的流程,請勿認為按右鍵開啟適用於所有版本。

網路擴充功能與 TUN:不是同一個開關

TUN 是一種虛擬網路介面機制。用戶端可以透過特權服務啟動核心、建立介面及設定路由,也可以採用 Apple 的 Network Extension 接管網路流量。是否出現「加入 VPN 設定」或「允許系統擴充功能」,取決於特定用戶端的實作方式,不能只看「TUN」這個名稱判斷。

因此,Clash Verge Rev 開啟 TUN 後沒有出現 VPN 設定提示,不足以證明安裝失敗;其他用戶端跳出 VPN 設定授權,也不代表需要相同的服務安裝步驟。請以該用戶端的設定說明和啟動記錄為準。

依提示類型查找系統設定

系統設定中的項目會隨 macOS 版本和已安裝元件而異。找不到特定項目時,可使用系統設定的搜尋欄搜尋「VPN」或「擴充功能」;若沒有授權記錄,也沒有對應元件,就不必為了「補齊權限」另外安裝其他軟體。

使用唯讀指令輔助確認

sw_vers
systemextensionsctl list
ifconfig -l
scutil --nc list

sw_vers 可顯示系統版本;systemextensionsctl list 會列出已登記的系統擴充功能,但不涵蓋所有類型的應用程式擴充功能或特權服務。ifconfig -l 可查看介面名稱,scutil --nc list 則可協助查看系統登記的網路連線服務。

看到 utun 介面,只能確認系統存在隧道介面。iCloud 功能、其他 VPN 和網路工具也可能建立這類介面;不能只憑「出現 utun」就認定 Clash TUN 已成功接管流量。

服務模式安裝:管理者授權的用途

一般使用者程序通常無法直接執行所有系統層級的路由操作。部分用戶端會透過特權輔助服務執行相關動作,讓圖形介面不必一直以管理者身分執行。以 Clash Verge Rev 為例,服務模式與 TUN 接管流量有關,但服務安裝選項的名稱和位置可能隨用戶端版本調整,請在目前版本的設定中搜尋「服務模式」或服務狀態。

  1. 先退出其他正在修改系統代理或路由的用戶端,避免多個程式同時還原或覆寫網路設定。
  2. 在目前使用的用戶端中啟動安裝或修復服務,再確認系統授權對話框中的應用程式名稱。
  3. 需要管理者授權時,請輸入具有管理權限的本機帳戶密碼。這裡需要的不是 Apple ID 密碼,也不是訂閱服務密碼。
  4. 安裝後返回用戶端確認服務狀態,再另外啟用 TUN。查看記錄中是否出現權限不足、介面建立失敗或新增路由失敗。

安裝服務後仍出現權限錯誤,先確認用戶端主程式與輔助服務是否來自同一次安裝。直接覆蓋舊應用程式並保留多個副本,可能造成介面已更新、服務仍是舊元件。請優先使用用戶端內建的服務修復或解除安裝後重裝功能,不要手動刪除來源不明的系統檔案。

鑰匙圈提示:先確認要存取哪個項目

「某個應用程式想使用儲存在鑰匙圈中的機密資訊」表示該程序要求讀取受保護的項目。項目可能與應用程式儲存的憑證、代理驗證或其他功能有關,實際用途取決於用戶端的實作方式。匯入訂閱連結不一定會觸發這項操作,也不能只因出現提示就認定要求合理。

分辨管理者密碼與鑰匙圈密碼

透過系統復原流程或由管理者重設帳戶密碼後,「登入」鑰匙圈可能仍使用舊密碼。這種情況下,新登入密碼可以登入桌面,卻不一定能解鎖原有鑰匙圈。請依照 Apple 的鑰匙圈復原流程處理,不要反覆嘗試無關的訂閱密碼。

在「鑰匙圈存取」中確認要求

  1. 使用 Spotlight 搜尋「鑰匙圈存取」並開啟。較新系統中的「密碼」App 無法取代所有鑰匙圈項目的管理功能。
  2. 選取「登入」鑰匙圈,再依提示顯示的項目名稱搜尋;不要憑猜測批次刪除項目。
  3. 開啟符合項目的資訊,檢查名稱、類型和可用的存取控制資訊;確認要求存取的程序是否屬於目前安裝的用戶端。
  4. 確認這次操作合理後,可先選擇「允許」完成單次存取。確認應用程式身分及長期使用需求後,再考慮選擇「永遠允許」。

應用程式更新後再次詢問,不一定代表密碼錯誤。應用程式簽章、路徑或鑰匙圈項目的存取控制條件有所變更,都可能觸發重新確認。若每次啟動都重複出現,請記下項目名稱和要求存取的程序,並確認是否同時執行下載資料夾與「應用程式」中的兩個副本。

若提示要求存取與代理無關的敏感項目,請先選擇「拒絕」,再確認該功能的來源。重設預設鑰匙圈可能導致原先儲存的密碼無法繼續使用,不應作為一般故障排除的第一步。

授權後確認:分開檢查連接埠、系統代理與路由

核准權限只代表系統允許執行特定動作。要確認能否連線,還需要檢查核心是否已啟動、設定是否已載入,以及規則與策略群組是否有效。先關閉 TUN,只測試系統代理;確認系統代理可用後,再測試確實需要 TUN 的應用程式。

第一步:確認實際監聽的連接埠

以下範例假設目前設定的混合代理連接埠為 7890。這只是設定範例,不是所有用戶端的預設值。若設定中顯示其他連接埠,請同步修改指令中的數字。

mixed-port: 7890
allow-lan: false
mode: rule

以上只是設定片段,無法取代包含節點、策略群組和規則的完整 Profile。請勿為了套用範例而覆寫訂閱設定。mixed-port 可接受 HTTP 和 SOCKS 代理連線;外部控制介面則用途不同,即使某份設定使用 9090,也不能將它設為瀏覽器代理連接埠。

lsof -nP -iTCP:7890 -sTCP:LISTEN
scutil --proxy
curl --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://example.com

第一個指令可協助檢查監聽中的程序;第二個指令會顯示目前的系統代理狀態;第三個指令則會明確透過指定代理連接埠要求網頁。收到目標網站的 HTTP 回應,可確認這次代理請求成功,但不代表所有網站、UDP 流量或應用程式都已透過代理連線。

第二步:確認系統代理指向相同連接埠

macOS Ventura 13 或更新版本可前往「系統設定」→「網路」→目前的網路服務→「詳細資料」→「代理」。核對用戶端設定中的位址和連接埠;本機代理常用位址為 127.0.0.1。Wi-Fi 和乙太網路是不同的網路服務,切換連線後,請重新確認目前使用的服務。

系統代理是否對應用程式生效,取決於應用程式是否遵循這些設定。終端機中的程式也不一定會自動讀取系統代理,因此上方的 curl 指令明確指定了代理。不能只因某個終端機指令仍直接連線,就認定網路擴充功能授權失敗。

第三步:再測試 TUN 與 DNS

啟用 TUN 後,使用先前不遵循系統代理的目標應用程式送出一次請求,同時查看用戶端的連線記錄和日誌。確認連線已進入目前使用的核心後,才能繼續判斷套用哪條規則及使用哪個策略群組。

若日誌顯示 DNS 逾時,請檢查 DNS 監聽、路由和其他網路工具是否衝突,而不是反覆核准鑰匙圈存取。使用 fake-ip 的設定也要確認網域名稱解析是否進入預期的連線路徑;只看到虛擬介面存在,無法證明 DNS 和分流都正常。

反覆跳出提示或網路中斷時的復原順序

  1. 記錄問題狀況:記下 macOS 版本、用戶端名稱與版本、提示原文,以及錯誤發生於啟動、安裝服務或啟用 TUN 的哪個階段。分享螢幕截圖前,請遮蔽訂閱網址、權杖和帳戶資訊。
  2. 關閉目前用戶端的 TUN:確認用戶端有機會正常還原路由,再觀察網路是否恢復。
  3. 關閉系統代理:前往目前網路服務的「代理」頁面確認設定。若應用程式異常結束後仍保留本機代理,而監聽程序已停止,瀏覽器可能會繼續將請求送往沒有服務的連接埠。
  4. 逐一停用衝突元件:暫時中斷其他 VPN,視需要停用已確認的過濾器,再單獨啟動一個代理用戶端測試。不要一次刪除所有網路設定。
  5. 依元件修復:服務錯誤請使用服務修復功能;鑰匙圈錯誤請檢查特定項目;系統擴充功能錯誤則查看相關授權記錄。保留可正常運作的 Profile,再調整設定。

更換用戶端前,先關閉舊用戶端的系統代理和 TUN,再使用它提供的服務解除安裝功能處理輔助元件。將應用程式圖示移至垃圾桶,不一定會移除系統擴充功能、VPN 設定或背景服務;反之,也不應刪除無法確認所屬來源的元件。