先分清四種權限提示
在 macOS 上,客戶端視窗能開啟,不代表代理所需的服務已經啟動。初次安裝時出現的提示,可能分別來自 Gatekeeper、管理員授權、網路延伸功能和鑰匙圈。這些提示處理的是不同問題,拒絕後的恢復方式也各不相同。
Mihomo 是核心,客戶端則負責設定介面、系統整合與權限申請。不同客戶端的 TUN 實作不盡相同:有些透過特權輔助服務啟動核心,有些則使用 Network Extension。不能只因為看到「TUN」開關,就認定必須到系統設定中尋找網路延伸功能。
| 提示內容 | 實際用途 | 檢查重點 |
|---|---|---|
| 無法驗證開發者,無法開啟 | 檢查 App 來源與簽章狀態 | 安裝來源、系統安全提示 |
| 安裝輔助工具、需要管理員授權 | 安裝或更新特權服務 | 啟動 App、管理員帳號 |
| 新增 VPN 設定、允許網路延伸功能 | 建立系統網路接管通道 | 延伸功能名稱、客戶端實作 |
| 存取登入鑰匙圈中的項目 | 讀取已儲存的憑證 | 請求存取的程序、項目名稱、授權範圍 |
初次開啟:安裝位置與安全檢查
確認處理器架構,再從「應用程式」資料夾啟動
- 開啟 Apple 選單 →「關於這台 Mac」。若顯示「晶片 Apple M…」,通常選擇 Apple Silicon 或 arm64 安裝檔;若顯示 Intel 處理器,則選擇 x64 安裝檔。通用安裝檔請依客戶端說明使用。
- 使用 DMG 發佈的客戶端,請先將 App 拖曳至「應用程式」資料夾,再退出磁碟映像檔。不要長期直接從 DMG 執行。
- 先結束舊版執行個體,再從「Finder」→「應用程式」啟動。避免新舊版本同時執行,造成連接埠被占用或輔助服務版本不一致。
- 初次使用時,先匯入設定並確認核心能正常啟動,再逐一啟用系統代理或 TUN,方便找出問題發生在哪個步驟。
分辨一般封鎖與風險警告
macOS 13 Ventura、14 Sonoma、15 Sequoia 的相關檢查位置通常是「系統設定」→「隱私權與安全性」。嘗試開啟 App 後,該頁面可能會顯示相應的封鎖紀錄;只有確認安裝來源可信,且系統有提供相應選項時,才依提示選擇「仍要打開」。不同系統版本的按鈕名稱與位置可能略有差異。
「App 已損毀」不等於一般的首次啟動確認,也可能是下載不完整、簽章異常或安裝檔遭到修改。請先刪除目前的安裝檔,再從客戶端維護者提供的發佈管道重新下載,並確認系統需求。若系統明確警告 App 會損害電腦或含有惡意軟體,請停止執行,不要繼續繞過限制。
- 不要把停用 Gatekeeper 當成一般安裝步驟。
- 不要批次移除整個下載資料夾的隔離屬性。
- 公司管理的 Mac 可能受到裝置管理政策限制,請由管理員確認可使用的客戶端與延伸功能。
輔助服務:管理員授權與拒絕後重試
一般系統代理與 TUN 的權限需求不同。系統代理主要會修改目前網路服務的代理設定;TUN 通常還會涉及虛擬介面、路由與 DNS 調整。客戶端可能透過常駐輔助服務執行這些操作,因此會出現「安裝輔助工具」或「更新服務」的管理員驗證視窗。
授權前核對三項資訊
- 發起程序:應與剛才操作的客戶端或其已知輔助程式相符,不應是來源不明的指令碼程序。
- 操作內容:確認是在安裝服務、更新服務或修改網路設定,而非執行與代理無關的操作。
- 帳號:標準使用者通常需要輸入管理員帳號的憑證。管理員密碼應輸入 macOS 系統驗證視窗,不要貼到訂閱頁面或聊天訊息中。
如果剛才按了「取消」,通常不需要重新安裝整個客戶端。回到客戶端的服務管理頁面,重新安裝或修復服務;選項可能叫做「服務模式」、「輔助服務」或「安裝服務」,請以目前的客戶端介面為準。完成後先結束客戶端,再重新啟動並檢查記錄。
服務安裝成功,但 TUN 仍無法啟動
先檢查記錄是否出現 permission denied、輔助服務連線失敗或連接埠遭占用。客戶端升級後,舊版輔助服務可能仍在執行;請優先使用客戶端內建的服務更新或重新安裝功能。不要照著網路上的通用指令,直接刪除 /Library/LaunchDaemons 中的檔案,不同客戶端使用的服務識別碼並不相同。
在 macOS 13 及更新版本中,也可以檢查「系統設定」→「一般」→「登入項目」或「登入項目與延伸功能」中的背景活動項目。背景項目與網路延伸功能並非同一個開關;看到客戶端名稱時,請參考客戶端說明判斷它對應的功能。
網路延伸功能與 VPN 設定授權
只有使用相關系統機制的客戶端,才會申請網路延伸功能或新增 VPN 設定。透過特權服務執行 Mihomo TUN 的客戶端,可能完全不會出現這類提示。此時應檢查服務與核心記錄,而不是一再尋找不存在的延伸功能項目。
依 macOS 版本尋找設定位置
- macOS 15 Sequoia:前往「系統設定」→「一般」→「登入項目與延伸功能」,在「延伸功能」區域尋找「網路延伸功能」,並透過詳細資訊確認客戶端項目。
- macOS 13 Ventura、14 Sonoma:可在「系統設定」中搜尋「VPN」或「過濾器」,檢查網路相關設定;若收到延伸功能遭封鎖的提示,也請查看「隱私權與安全性」中的相應紀錄。
- 其他版本:建議優先使用系統設定搜尋「網路延伸功能」、「VPN」或「過濾器」。不同類型的延伸功能可能位於不同頁面,不能將某個版本的選單路徑視為所有版本的固定位置。
「允許新增 VPN 設定」表示授權客戶端建立系統網路設定,不代表訂閱已成功匯入,也不表示代理節點可用。允許後仍須回到客戶端選擇設定、啟動核心,再測試連線。系統選單顯示 VPN 狀態,也不能取代規則命中與出口檢查。
拒絕授權後的恢復步驟
- 關閉客戶端的 TUN 或連線開關,避免背景持續重試。
- 在系統設定中檢查相應延伸功能是否已關閉,或是否有遭封鎖的紀錄。
- 回到客戶端重新發起連線或安裝延伸功能,並依系統提示確認。只有系統明確要求時才重新啟動。
- 若有多個舊 VPN 設定,先確認各自所屬的 App,再使用原客戶端的移除功能清理。不要刪除仍在使用的公司 VPN。
鑰匙圈提示:密碼、「允許」與「永遠允許」
客戶端可能會將訂閱憑證、存取權杖或其他敏感設定存入鑰匙圈,實際儲存項目取決於客戶端的實作。核心啟動、視窗開啟與存取鑰匙圈是不同事件;出現提示時,應確認「哪個程序要存取哪個項目」,而不只是看客戶端是否正在執行。
三種按鈕的授權範圍
- 拒絕:封鎖這次存取。相關功能可能無法讀取憑證,但通常不會刪除鑰匙圈中的項目。
- 允許:核准目前的存取請求,適合先確認功能是否恢復。之後再次存取時,仍可能出現提示。
- 永遠允許:為指定項目儲存該 App 的存取權限。只有確認 App 身分與項目用途後才使用,不要直接授權給未知程序。
登入鑰匙圈的密碼通常與目前的 macOS 登入密碼相同,但並非絕對如此。如果帳號密碼曾由管理員重設,或透過移轉還原舊鑰匙圈,鑰匙圈可能仍使用舊密碼。若目前密碼連續輸入仍無法通過,請先確認是否屬於這種情況,不要一再重複輸入。
透過「鑰匙圈存取」尋找特定項目
- 按下
Command + 空白鍵,搜尋並開啟「鑰匙圈存取」。新版系統中的「密碼」App 無法取代所有鑰匙圈管理功能。 - 選取「登入」鑰匙圈,再依提示中顯示的項目名稱搜尋。只檢查相應項目,不要全選後刪除。
- 開啟項目詳細資訊,查看項目類型與存取控制。並非所有類型的項目都提供相同的編輯選項。
- 若確認是客戶端儲存的失效憑證,請優先在客戶端重新登入或更新憑證;若確實需要刪除單一項目,請先確認能重新取得所需的帳號資訊。
客戶端更新後再次詢問鑰匙圈權限,不一定表示密碼錯誤。App 路徑、簽章身分或存取控制條件變更,都可能觸發重新確認。請先核對更新來源與提示中的程序名稱,再決定是否重新授權。
完成授權後測試連線
完成權限設定後,依序確認「核心監聽 → 系統代理 → TUN」。不要同時修改 DNS、規則與代理連接埠,否則很難判斷是哪項變更解決問題。先儲存原有設定,並記下每個步驟的記錄時間。
第一步:確認核心連接埠正在監聽
以下以客戶端實際設定為 mixed-port: 7890 為例。7890 只是示範值,並非所有客戶端都使用的固定連接埠;若介面顯示其他數值,請一併修改指令。開啟「終端機」,執行:
lsof -nP -iTCP:7890 -sTCP:LISTEN
若有輸出,請確認監聽程序屬於目前的客戶端;若沒有輸出,先檢查核心是否已啟動、設定是否解析成功,以及連接埠是否設為其他數值。完成管理員授權,不代表核心一定已開始監聽。
第二步:單獨測試代理,再檢查系統設定
curl -I --connect-timeout 10 --max-time 20 \
--proxy http://127.0.0.1:7890 https://example.com/
scutil --proxy
第一個指令會明確指定本機代理,連線逾時設為 10 秒、總時限為 20 秒,用來分辨問題出在代理本身還是系統代理設定。收到 HTTP 回應只代表該次請求有收到回應;仍須搭配狀態碼、客戶端連線記錄與命中策略判斷結果。
第二個指令用來查看系統代理狀態。啟用一般 HTTP/HTTPS 系統代理時,可檢查 HTTPEnable、HTTPSEnable、伺服器與連接埠是否符合客戶端設定;使用 PAC 時,則應查看自動代理相關欄位。TUN 接管不要求這些開關必須設為 1,不能據此判定 TUN 失效。
第三步:單獨啟用 TUN 並檢查記錄
- 先確認輔助服務或所需延伸功能已就緒,再啟用 TUN。
- 檢查記錄中是否出現虛擬介面、路由或 DNS 初始化失敗,而不只是看開關顏色。
- 確認一般網頁與需要代理的目標分別命中預期規則。規則模式下,不同請求可以使用不同出口。
- 關閉客戶端後,再檢查網路與系統代理狀態,確認沒有留下指向已停止連接埠的代理設定。
常見問題的快速排查順序
拒絕權限後,客戶端不再顯示提示
先確認拒絕的是哪一類請求。輔助服務請回到客戶端重新安裝;網路延伸功能請到系統設定檢查狀態;鑰匙圈則重新執行需要憑證的操作。不要把「重新匯入訂閱」當成所有權限問題的通用解法,訂閱內容無法改變系統授權。
系統代理可用,啟用 TUN 就斷網
先恢復可用的系統代理設定,再檢查 TUN 記錄、其他 VPN 衝突與 DNS 設定。系統代理正常,表示部分連線路徑可用,但不能證明 TUN 所需的路由與權限都已就緒。排查期間保留可復原的設定,避免網路中斷時還得下載修復工具。
每次啟動都要求輸入密碼
先確認密碼欄屬於系統驗證還是鑰匙圈存取。前者應檢查輔助服務是否安裝成功、是否每次啟動都在更新;後者則應檢查特定鑰匙圈項目的存取控制、App 是否從固定路徑啟動,以及是否留有多份客戶端。不要將管理員密碼儲存在指令碼中來繞過驗證。
向維護者回報問題時應保留的資訊
- macOS 完整版本號,可在「關於這台 Mac」中查看;並註明使用 Apple Silicon 或 Intel。
- 分別記錄客戶端版本與核心版本,兩者不要混為一談。
- 觸發問題的操作步驟、提示視窗原文,以及問題發生前後幾秒的相關記錄。
- 目前使用系統代理還是 TUN、實際監聽連接埠,以及是否同時執行其他網路接管工具。
傳送截圖與記錄前,請遮蔽完整訂閱網址、帳號權杖、節點密碼與其他個人資料。依權限類型提供相關資訊,比反覆重新安裝更容易找出問題;每次只變更一項設定,才能確認修復是否生效。