macOS 代理軟體權限設定:網路延伸功能授權與鑰匙圈提示
解決 macOS 阻擋未驗證開發者、系統延伸功能授權、TUN 網路延伸功能設定與鑰匙圈提示反覆出現,並說明 Apple 晶片和 Intel 機型的差異。
先分辨四種提示:啟動檢查、背景服務、VPN 與鑰匙圈
macOS 上的代理用戶端通常由圖形介面和代理核心組成。Mihomo 是核心,Clash Meta 是它過去使用的名稱;用戶端則負責匯入設定檔、切換系統代理及處理權限。即使使用相同核心,不同用戶端採用的網路延伸功能或輔助服務也可能不同。排查前,先記下用戶端名稱、版本、macOS 版本及提示的完整內容。
「無法驗證開發者」屬於應用程式啟動檢查;「加入 VPN 設定」是網路設定授權;要求安裝輔助工具通常涉及特權背景服務;「要取用鑰匙圈中的機密資訊」則與已儲存的憑證有關。這些提示各有不同原因,不能用同一種操作處理,也不能靠反覆輸入密碼判斷是否安裝成功。
| 提示或現象 | 所屬環節 | 優先檢查項目 |
|---|---|---|
| 無法驗證開發者 | Gatekeeper 啟動檢查 | 安裝來源、應用程式簽章、「隱私權與安全性」 |
| 安裝輔助工具,需要管理員授權 | 特權輔助服務 | 用戶端文件、背景服務安裝狀態 |
| 要求加入 VPN 設定 | 系統網路設定 | 要求存取的應用程式名稱、VPN 設定 |
| 系統延伸功能遭封鎖 | 延伸功能載入核准 | 開發者名稱、對應的延伸功能開關 |
| 反覆要求存取登入鑰匙圈 | 憑證存取或鑰匙圈遭鎖定 | 要求存取的程序、目標項目、登入密碼是否變更 |
安裝前確認晶片架構與應用程式位置
Apple 晶片與 Intel 機型的安裝檔選擇
開啟蘋果選單 →「關於這台 Mac」。若顯示「晶片 Apple M…」,請選擇 Apple 晶片或 arm64 安裝檔;若顯示 Intel 處理器,請選擇 x64 或 x86_64 安裝檔。標示為 Universal 的應用程式通常包含兩種架構,但仍須確認用戶端公布的最低系統版本。
- Apple 晶片:Rosetta 2 可執行許多 Intel 架構的使用者空間應用程式,但不代表其輔助工具和網路延伸功能也相容。建議優先使用用戶端提供的原生版本。
- Intel:無法直接執行僅包含 arm64 的執行檔。若出現「CPU 類型錯誤」,應先檢查架構,不要繼續調整安全性設定。
- 通用步驟:將應用程式拖曳至「應用程式」資料夾,退出安裝磁碟映像,再從「應用程式」資料夾啟動。請勿長期直接執行 DMG 中的副本。
將應用程式移至固定位置,可避免多個副本造成混淆。若 Dock 中保留舊圖示,請在圖示上按右鍵 →「選項」→「在 Finder 中顯示」,確認開啟的是目前版本。替換應用程式前,先結束舊程序,避免介面已更新、背景核心卻仍是舊版本。
# 查看目前終端機程序使用的架構;透過 Rosetta 執行的終端機可能顯示 x86_64
uname -m
# 查看系統版本
sw_vers -productVersion
請以「關於這台 Mac」顯示的硬體資訊為準。若終端機是在 Rosetta 翻譯環境下執行,只看 uname -m 容易選錯安裝檔。
處理「無法驗證開發者」,同時保留系統安全檢查
在 macOS 13 Ventura、14 Sonoma 和 15 Sequoia 中,相關選項位於「系統設定」→「隱私權與安全性」。嘗試開啟遭封鎖的應用程式後,頁面下方可能會顯示該應用程式的封鎖紀錄及「仍要打開」選項。請先確認應用程式名稱與來源,再依照系統提示操作;並非所有封鎖情況都會提供這個按鈕。
- 確認安裝檔來自專案的正式發布管道,且系統版本與架構符合需求。
- 將應用程式移至「應用程式」資料夾,嘗試啟動一次,並記下完整錯誤訊息。
- 前往「隱私權與安全性」,檢查是否有允許該應用程式的選項。
- 若提示應用程式會損害電腦、含有惡意內容,或遭組織政策封鎖,請停止放行,先查證來源或聯絡管理員。
「應用程式已損壞」不一定只是隔離標記所致。下載中斷、簽章失效或檔案遭修改,也可能導致應用程式無法啟動。較安全的做法是重新下載同一專案提供的相容版本,而非立刻執行遞迴移除隔離屬性的指令。
依用戶端實作方式授權網路延伸功能或輔助服務
出現「加入 VPN 設定」時
使用 Network Extension 的用戶端,可能會在首次啟動網路通道時要求加入 VPN 設定。請確認提示中的應用程式名稱與目前操作相符,再決定是否允許。授權後,可在「系統設定」中搜尋「VPN」查看相關設定;系統顯示 VPN 狀態,只能說明網路通道的狀態,無法證明節點、DNS 或規則都正常。
出現「系統延伸功能遭封鎖」時
在 macOS 13、14 中,先查看「系統設定」→「隱私權與安全性」是否有允許開發者的選項。macOS 15 將部分延伸功能管理選項移至「系統設定」→「一般」→「登入項目與延伸功能」→「網路延伸功能」。實際位置依延伸功能類型和系統小版本而異,也可在系統設定中搜尋「延伸功能」。只啟用與該用戶端開發者相符的項目。
出現「安裝輔助工具」時
另一類用戶端會使用輔助服務,取得建立路由及啟動高權限核心所需的權限。這類提示通常需要本機管理員帳戶授權,並非訂閱帳戶或 Apple 帳號密碼。輔助服務安裝成功後,用戶端介面中的服務狀態應有所變化;若仍顯示未安裝,請查看服務紀錄,不要反覆點選安裝。
- 只有在系統明確要求重新啟動時,才先儲存工作並重新啟動;並非每次授權後都需要重新啟動。
- 由企業管理的 Mac 可能限制延伸功能、VPN 或背景項目。個人使用者按下允許,無法略過裝置管理政策。
- 不要因 TUN 啟動失敗,就授予完整磁碟存取權、輔助使用或螢幕錄製權限。這些都不是 Mihomo 建立代理連線的必要條件。
升級後若輔助服務與主程式版本不符,請優先使用用戶端提供的「修復服務」或重新安裝服務功能。不要自行刪除 /Library/LaunchDaemons 中不熟悉的項目,以免影響其他軟體的背景服務。
先確認系統代理正常,再單獨啟用 TUN
首次安裝建議分兩階段確認:先匯入有效設定檔,只啟用系統代理;確認瀏覽器可正常連線後,再視需要啟用 TUN。這樣能將節點或訂閱問題,與路由權限問題分開檢查。系統代理主要影響遵循系統代理設定的應用程式;TUN 則透過虛擬網路介面接管符合路由條件的流量,兩者並非同一個開關。
檢查代理連接埠與系統設定
例如,若設定檔使用下列混合連接埠,HTTP 與 SOCKS 代理都可連線至本機的 7890。這只是範例,實際排查時請以目前生效的設定為準。部分用戶端會覆寫設定檔中的連接埠,請一併查看用戶端介面和核心紀錄。
mixed-port: 7890
allow-lan: false
mode: rule
macOS 13 至 15 可前往「系統設定」→「網路」→目前使用的網路連線→「詳細資訊」→「代理」,檢查網頁代理和安全網頁代理的伺服器與連接埠。若使用上述範例,本機位址應為 127.0.0.1,連接埠為 7890。請勿將節點伺服器位址填入本機 HTTP 代理欄位。
# 查看系統代理狀態
scutil --proxy
# 檢查範例連接埠是否有 TCP 監聽
lsof -nP -iTCP:7890 -sTCP:LISTEN
# 明確透過本機 HTTP 代理發出一次請求
curl -I --connect-timeout 10 --proxy http://127.0.0.1:7890 https://example.com
這些指令用於定位問題,不代表預設的測試結果。確認有監聽,只能證明有程序占用該連接埠,仍須核對程序名稱;若請求失敗,應搭配紀錄判斷問題出在代理連線、節點交握或目標網站回應。
啟用 TUN 後的檢查順序
- 先停止其他 VPN 或代理用戶端,避免預設路由與 DNS 接管發生衝突。
- 啟用用戶端的 TUN 功能,並完成實際要求的服務或延伸功能授權。
- 查看紀錄是否出現權限不足、無法新增路由或建立裝置失敗等訊息。
- 分別測試網頁和需要 TUN 的應用程式,再檢查規則比對結果與 DNS 行為。
執行 ifconfig 後看到 utun 介面,不能單獨證明 Mihomo 正常運作,因為系統服務和其他 VPN 也可能建立這些介面。請搭配用戶端紀錄、連線紀錄及路由狀態判斷。也不要把 networksetup -setv6off 當作一般修復步驟;權限錯誤與 IPv6 開關不一定有關。
鑰匙圈提示反覆出現:先辨識要求存取的項目,再決定是否授權
用戶端可能會將訂閱憑證、權杖或其他敏感設定儲存在鑰匙圈。提示通常會顯示要求存取的程序和目標項目名稱。請先確認提示確實來自目前使用的用戶端;若出現陌生程序或與代理無關的項目,請先拒絕並查明原因。TUN 取得管理員授權,不代表應用程式也自動取得所有鑰匙圈項目的存取權。
「允許一次」和「永遠允許」有何不同
「允許一次」通常只授權當下的存取,後續要求仍可能再次出現提示;「永遠允許」則會為該項目儲存存取權限。確認應用程式身分和項目用途後,才考慮授予持續存取權。更換應用程式副本、簽章身分變更或改用其他來源的版本後,原有權限可能不再適用,因此更新後再次詢問不一定代表故障。
確認登入鑰匙圈是否已解鎖
- 使用 Spotlight 搜尋並開啟「鑰匙圈存取」,選取「登入」鑰匙圈。
- 確認鑰匙圈是否已鎖定;若已鎖定,請嘗試使用該鑰匙圈的密碼解鎖。
- 搜尋提示中顯示的項目名稱,開啟項目詳細資訊,查看「存取控制」等可用選項。
- 確認獲准存取的應用程式仍指向目前安裝的用戶端,不要改成允許所有應用程式存取。
若曾透過復原流程或其他管理員帳戶重設 Mac 登入密碼,登入鑰匙圈仍可能使用舊密碼。此時輸入新的登入密碼不一定能解鎖。若知道舊密碼,請依照系統提供的方式更新鑰匙圈密碼;若不知道舊密碼,請先閱讀系統關於重設預設鑰匙圈的說明,並評估本機已儲存憑證可能遺失的影響。
若每次啟動都出現完全相同的授權提示,請先檢查是否同時執行多個副本、應用程式是否每次從不同路徑啟動,以及系統時間是否正確。接著再查看用戶端更新說明和紀錄。只是不斷輸入密碼,無法解決項目權限與應用程式簽章不符的問題。
升級、解除安裝與還原網路的操作順序
替換用戶端前,先匯出或備份設定,記下目前的連接埠、規則模式及是否啟用 TUN。依序關閉 TUN、關閉系統代理、結束用戶端,再替換應用程式。若需解除安裝輔助服務或網路延伸功能,請優先使用用戶端內建的解除安裝功能;將應用程式移至垃圾桶不一定會移除這些系統元件。
- 結束用戶端後網頁無法開啟:前往「網路」→目前使用的連線→「詳細資訊」→「代理」,確認沒有殘留指向已停止連接埠的設定。
- 切回直接連線後仍無法解析:檢查是否保留手動 DNS、其他 VPN 或網路過濾器;先記下原設定再還原,不要一次修改多個項目。
- 更新後服務失效:確認應用程式架構及輔助服務狀態,依照用戶端文件修復服務,再次測試系統代理。
- 始終無法允許延伸功能:確認裝置是否受管理,並記下系統版本、開發者名稱及完整錯誤訊息,交由管理員或專案維護者判斷。
回報問題時,請提供用戶端版本、macOS 版本、晶片類型、使用系統代理或 TUN,以及錯誤發生時間。分享紀錄前,請隱藏訂閱網址、權杖、節點憑證和個人網域名稱。依序檢查「應用程式能否啟動 → 本機連接埠是否監聽 → 系統代理是否生效 → TUN 是否建立連線 → 鑰匙圈是否可存取」,通常比同時重裝、修改 DNS 和清除鑰匙圈更容易找出原因。
需要確認特定設定項目,可繼續參閱從新手到進階的設定指南;安裝過程遇到問題,請參考用戶端安裝教學。完成權限設定後仍無法連線,應接著檢查節點可用性、DNS 與規則,而非繼續增加系統權限。