先區分用戶端與授權類型
首次開啟 ClashX 時,管理者密碼、網路設定與鑰匙圈提示可能接連出現,但它們並非同一種授權。開始排查前,先從選單列的 App 選單開啟「關於」,記下用戶端名稱、版本及 macOS 版本。傳統 ClashX、ClashX 衍生版本,以及使用 mihomo 核心的其他用戶端,安裝輔助工具和接管流量的方式可能不同,不能把所有提示都當成同一套流程逐一尋找。
尤其要留意:開啟系統代理不代表已安裝網路擴充功能,TUN 模式也不一定會使用 Apple 的網路擴充功能架構。傳統 ClashX 通常透過特權輔助工具修改系統代理;部分其他用戶端透過特權服務建立 TUN 介面,另一些則使用 Network Extension。沒有出現擴充功能提示,不代表缺少授權。
| 提示或功能 | 實際用途 | 檢查重點 |
|---|---|---|
| 安裝輔助工具,需要管理者授權 | 安裝或更新執行特權操作的服務 | App 名稱、來源,以及是否與目前操作相符 |
| 新增 VPN 設定或網路擴充功能 | 建立由該用戶端管理的網路通道 | 是否剛啟用相關 VPN 或通道功能 |
| 系統擴充功能遭到封鎖 | 相關擴充功能尚未獲得系統核准 | 開發者名稱及擴充功能所屬的 App |
| 存取鑰匙圈中的項目 | 讀取已儲存的認證資料或機密資訊 | 要求存取的處理程序、項目名稱及存取範圍 |
首次開啟與安全性放行
先移至「應用程式」,再啟動
- 從下載頁依 Apple 晶片或 Intel 架構選擇用戶端。可透過 Apple 選單中的「關於這台 Mac」查看晶片或處理器資訊。
- 如果下載的是磁碟映像檔,開啟後將 App 拖曳至「應用程式」,再從該處啟動。請勿長期從已掛載的映像檔或下載資料夾執行。
- 如果出現「從網際網路下載的 App」確認視窗,請確認名稱後再選擇「打開」。這是首次啟動確認,不是網路擴充功能授權。
- 如果系統提示無法驗證開發者,請先確認下載來源及用戶端的維護狀態,再查看「系統設定」→「隱私權與安全性」中是否有與這次啟動相關的說明。
在 macOS 13 Ventura、macOS 14 Sonoma 及後續版本中,符合條件的封鎖記錄可能會在「隱私權與安全性」頁面底部顯示「仍要打開」。按鈕是否出現,取決於封鎖原因及系統版本,並非所有錯誤都能透過這個入口處理。macOS 15 Sequoia 調整了部分未簽署或未經公證軟體的開啟流程,不應把按住 Control 鍵按一下後選擇「打開」視為一定有效的繞過方式。
輔助工具與管理者密碼
部分 ClashX 版本在首次設定系統代理時,會提示安裝輔助工具。圖形介面 App 通常以目前使用者的權限執行;輔助工具則用來執行需要較高權限的操作。此時輸入的是本機管理者帳戶的認證資料,不是訂閱密碼、節點密碼,也不是 Apple 帳號密碼。
授權前檢查三個地方
- 觸發操作:確認是否剛按下安裝輔助工具、修復服務或開啟系統代理。若未執行這些操作卻突然出現要求,請先取消並確認是哪個處理程序提出要求。
- 對話框名稱:確認要求存取的 App 是目前安裝的用戶端;輔助工具名稱可能與主 App 不完全相同,請以該版本的說明為準。
- 安裝位置:確認 App 已放在「應用程式」,避免重複搬移,或保留多個舊版本並交替啟動。
如果不小心按了「取消」,通常只會中止這次安裝。重新開啟用戶端,再次觸發安裝或修復輔助工具即可。如果每次啟動都要求重新安裝,請先結束所有同名用戶端,只保留目前使用的版本,再查看記錄中的服務安裝錯誤。不要直接刪除 /Library/PrivilegedHelperTools 中名稱相近的檔案,也不要批次移除系統服務。
由公司或學校管理的 Mac 可能會限制安裝特權服務。若沒有管理者權限,應請裝置管理者處理;重複輸入一般使用者密碼不會取得額外權限。
網路擴充功能、系統擴充功能與 VPN 設定
只有用戶端確實使用相關機制時,才需要處理擴充功能授權。Network Extension 是 Apple 提供的網路功能架構,其中部分擴充功能可作為系統擴充功能發佈;「網路擴充功能」與「系統擴充功能」並非必然互相獨立、也不一定都要逐一核准。新增 VPN 設定的確認視窗,也不能直接視為安裝核心擴充功能。
依系統版本尋找設定位置
- macOS 13、14:先查看「系統設定」→「隱私權與安全性」中的擴充功能封鎖說明;VPN 設定則可在系統設定中搜尋「VPN」查看。
- macOS 15:可在「系統設定」→「一般」→「登入項目與擴充功能」→「網路擴充功能」中檢查。實際顯示的項目和操作按鈕會依已安裝的擴充功能而異。
- 後續系統版本:設定位置名稱可能有所調整。請使用系統設定的搜尋欄尋找「網路擴充功能」或「VPN」,並以系統實際顯示為準。
如果系統提示允許某位開發者的系統軟體,請先核對用戶端提供的開發者資訊。核准後,只有在系統明確要求時才重新啟動。若頁面沒有相符項目,請勿核准其他軟體的擴充功能,也不必為了「補齊權限」安裝額外元件。
如果已允許擴充功能,但 TUN 仍無法啟動,請接著查看用戶端記錄。路由設定失敗、DNS 監聽衝突,或另一個 VPN 正在接管網路,都可能造成相同的「連線無法使用」狀況。擴充功能清單顯示已啟用,只能表示系統允許載入該擴充功能,無法證明訂閱、DNS 與輸出策略都設定正確。
鑰匙圈提示:先確認項目,再決定權限
鑰匙圈提示通常會指出哪個處理程序想存取哪個項目。並非每個 ClashX 版本都會在首次啟動時要求存取鑰匙圈;只有用戶端或相關元件確實需要儲存或讀取認證資料時,才會出現提示。不要只因教學提到這個步驟,就主動允許 App 存取整個鑰匙圈。
「允許」、「永遠允許」與「拒絕」的差異
- 允許:核准這次存取。適合已確認用途,但暫時不想保留長期許可的情況。
- 永遠允許:為該項目記錄持續存取許可,後續存取仍受 App 身分及鑰匙圈存取控制機制限制。確認要求存取的 App 和項目後再選擇。
- 拒絕:這次不提供認證資料。App 可能無法讀取已儲存的資訊,但通常不影響查看用戶端中的其他設定。
如果提示要解鎖「登入」鑰匙圈,所需密碼通常是該鑰匙圈的密碼。這個密碼最初往往與本機登入密碼相同;如果曾透過復原流程重設帳戶密碼,舊鑰匙圈密碼可能不會同步變更。此時反覆輸入新密碼仍會失敗,不能因此直接判定是用戶端故障。
可使用 Spotlight 搜尋並開啟「鑰匙圈存取」,在「登入」鑰匙圈中搜尋提示視窗顯示的項目名稱。對支援此操作的項目,開啟詳細資訊並檢查「存取控制」。只處理與目前用戶端明確相關的單一項目,不要刪除整個登入鑰匙圈,也不要允許所有 App 存取該項目。新版 macOS 的「密碼」App 並不能取代一般的鑰匙圈存取控制功能。
升級後反覆出現提示時的判斷方式
App 更新、簽署身分變更,或從不同位置啟動另一個副本,都可能導致原有存取許可不再相符。請先結束舊副本,從「應用程式」啟動目前版本,再確認提示中的處理程序名稱。如果無法說明要求存取瀏覽器密碼或其他 App 認證資料的原因,請先拒絕並檢查來源,不要只因名稱包含 Clash 就核准。
誤按拒絕後的恢復方式:依失敗環節處理
| 遭拒絕的項目 | 恢復步驟 | 恢復後檢查 |
|---|---|---|
| 安裝輔助工具 | 重新啟動 App,再次觸發安裝或使用用戶端提供的服務修復功能 | 開啟系統代理後,是否仍顯示權限錯誤 |
| 新增 VPN 設定 | 再次啟動用戶端對應的通道功能,重新確認系統要求 | 系統 VPN 清單與用戶端狀態是否相符 |
| 網路或系統擴充功能 | 在系統設定中找到該 App 的擴充功能,依系統提示允許 | 是否出現新的載入錯誤,或要求重新啟動 |
| 鑰匙圈單次存取 | 再次執行需要認證資料的操作,必要時結束後重新開啟 App | 項目名稱與要求存取的 App 是否一致 |
復原時一次只變更一項。先關閉系統代理與 TUN,保留一般網路連線;完成相應授權後,再開啟需要的功能。不要同時切換核心、重新安裝 App、刪除設定及修改 DNS,否則很難判斷是哪個步驟解決問題或造成問題。
如果裝置受管理設定描述檔控制,部分開關可能無法變更。請記下提示原文、系統版本及用戶端版本,交由管理者確認。訂閱網址含有存取權杖,提交截圖或記錄前,請遮蔽完整網址及帳戶資訊。
完成授權後,檢查連接埠與實際流量
授權成功只是安裝流程的一部分。接著先匯入可用設定,確認核心正在執行,再開啟系統代理。系統代理主要影響遵循系統代理設定的 App;TUN 則透過虛擬介面與路由接管更多流量。瀏覽器能開啟網頁,不代表終端機、遊戲和所有背景處理程序都會使用相同的網路路徑。
用三個唯讀指令定位問題
在「終端機」中執行以下指令。範例使用 7890 作為 HTTP 或混合代理連接埠;請先查看目前設定中的 port 或 mixed-port,再替換成實際值。這裡的連接埠僅為範例,並非所有 ClashX 版本的固定預設值。
# 查看 macOS 目前的系統代理設定
scutil --proxy
# 檢查範例連接埠是否正在監聽 TCP
lsof -nP -iTCP:7890 -sTCP:LISTEN
# 明確透過本機 HTTP 代理送出請求
curl --proxy http://127.0.0.1:7890 --connect-timeout 10 --max-time 20 -I https://example.com
- 在
scutil --proxy的輸出中,已啟用的 HTTP 代理通常會顯示HTTPEnable : 1、位址及連接埠;HTTPS 則會有HTTPSEnable等欄位。請檢查實際啟用的通訊協定,不要只尋找單一固定欄位。 - 如果
lsof沒有輸出,請先確認核心是否已啟動、連接埠是否輸入錯誤,以及是否改用獨立的 SOCKS 連接埠。即使連接埠正在監聽,也要確認所屬的處理程序。 curl範例會強制使用指定代理,不受終端機是否讀取系統代理設定影響。連線遭拒通常應先檢查監聽連接埠;連線建立後逾時,再檢查節點、DNS 及輸出策略。
命令列工具 curl 通常不會自動採用 macOS 圖形介面的系統代理設定,因此「瀏覽器可用、終端機不可用」不應直接歸因於授權失敗。若要測試 SOCKS 入口,請依實際連接埠使用 socks5h://127.0.0.1:連接埠號碼 格式,並記得替換其中的位址與連接埠。
結束用戶端前,確認網路已恢復
首次設定完成後,建議先關閉系統代理與 TUN,再結束用戶端,確認一般網路仍可使用。如果結束後無法連線,請開啟「系統設定」→「網路」→目前使用的 Wi-Fi 或乙太網路→「詳細資訊」→「代理」,檢查是否還留有指向 127.0.0.1 的 HTTP、HTTPS、SOCKS 代理或自動代理設定。只關閉這次用戶端設定的項目,保留公司或學校網路要求的設定。
若使用 VPN 或網路擴充功能,也請檢查相應連線是否已中斷。不要為了恢復網路而批次刪除所有網路服務。完成上述檢查後,後續啟動請依序確認「核心執行、設定有效、按需求開啟代理」;只有出現明確的權限錯誤時,才返回相應的授權步驟處理。