在 macOS 上安裝並啟用 ClashX Pro 後,如果瀏覽器或其他應用程式仍然無法連上代理網路,問題通常不一定出在節點本身,而可能是 系統代理沒有開啟、代理模式設定不正確、應用程式沒有使用 macOS 系統代理,或 ClashX Pro 沒有取得必要的系統權限。本文以 ClashX Pro 為例,說明如何開啟 macOS 系統代理、確認全域與規則模式、設定啟動時自動啟用,以及透過實際測試判斷代理是否正常工作。

先理解 ClashX Pro 的系統代理是什麼

ClashX Pro 本身是一個代理核心的 macOS 圖形化客戶端。它可以接收訂閱或本地 YAML 設定,管理節點與策略組,但「ClashX Pro 已經啟動」並不等於「Mac 上所有應用程式都會自動走代理」。要讓一般瀏覽器和支援系統代理的應用程式使用 Clash,還需要在 macOS 的網路設定中寫入 HTTP、HTTPS 或 SOCKS 代理資訊。

ClashX Pro 的系統代理功能通常會把本機代理地址設定為 127.0.0.1,連接埠則取決於目前配置。常見的 HTTP 代理連接埠是 7890,SOCKS 代理連接埠可能是 7891,但不同訂閱、設定檔或 Clash 核心可能會使用其他數值。因此,遇到連線問題時,不能只照抄某個固定連接埠,應先在 ClashX Pro 的設定或配置檔中確認實際數值。

功能或模式作用適合情境
系統代理將 macOS 的 HTTP/HTTPS 代理設定指向 ClashX Pro瀏覽器、終端機及支援系統代理的應用程式
規則模式根據網域、IP 或規則集決定代理或直連日常使用,國內網站直連、其他流量按規則處理
全域模式大部分流量都交給目前選定的代理節點排查規則問題或臨時測試節點
直連模式停用代理轉發,流量直接連線測試本地網路或確認是否為代理造成問題
TUN 模式在更底層攔截系統流量,不只依賴應用程式代理設定需要處理不遵循系統代理的應用程式

最容易混淆的是「系統代理」與「規則模式」。系統代理決定應用程式是否把請求交給 ClashX Pro;規則模式則決定 Clash 收到請求後,要讓它走哪個節點或直接連線。前者沒有開啟時,後者即使設定正確也不會影響一般瀏覽器。

在 ClashX Pro 中開啟 macOS 系統代理

開啟系統代理之前,先確認 ClashX Pro 已經成功載入設定檔,並且至少有一個可用的代理節點。若頂部選單列的 ClashX Pro 圖示呈現異常、設定檔顯示錯誤,或代理核心尚未啟動,系統代理即使被勾選,也可能無法正常轉發流量。

  1. 從 macOS 的「應用程式」資料夾啟動 ClashX Pro,確認右上角選單列出現 ClashX Pro 圖示。
  2. 點選選單列的 ClashX Pro 圖示,開啟主選單。
  3. 在選單中找到 Set as System Proxy設定為系統代理 或相近名稱的項目,將它勾選。
  4. 進入 Proxy代理 子選單,選擇一個可用的節點或策略組。
  5. 進入 Mode模式,日常使用建議先選擇 Rule,排查問題時可以暫時切換成 Global
  6. 重新開啟瀏覽器,訪問一個需要代理的網站,再觀察 ClashX Pro 的連線或日誌是否出現請求。

如果選單中已經顯示系統代理已開啟,但瀏覽器仍然沒有任何流量記錄,可以在 macOS 中手動檢查。開啟「系統設定」→「網路」,選擇目前使用的 Wi-Fi 或乙太網路介面,進入「詳細資料」或「進階」設定,再查看「代理伺服器」頁面。這裡應該能看到 Web Proxy、Secure Web Proxy 或 SOCKS Proxy 的設定。

正常情況下,HTTP 與 HTTPS 代理應指向 127.0.0.1 和 Clash 的 HTTP 連接埠。若只啟用 SOCKS5,部分使用 macOS 系統代理的程式可能不會使用它;若 ClashX Pro 自動寫入的代理項目與目前核心監聽連接埠不一致,也會造成「看起來已開啟,但實際連不上」的情況。

快速判斷:開啟系統代理後,先不要急著更改 DNS 或重裝 ClashX Pro。觀察 ClashX Pro 的連線日誌最有效:如果完全沒有請求,優先檢查系統代理與瀏覽器設定;如果有請求但節點連線失敗,再檢查節點、模式及規則。

規則模式與全域模式如何選擇

Rule(規則模式)是最適合日常使用的模式。Clash 會按照設定檔中的規則依次匹配,例如指定的國內網域使用 DIRECT,境外服務交給某個代理策略組,沒有命中任何規則的請求則由最後一條規則處理。這種模式可以避免所有網站都經過代理,通常速度更快,也能減少不必要的流量消耗。

Global(全域模式)則會把符合系統代理的連線交給目前選定的代理節點。它不代表所有 macOS 流量都會被攔截,也不代表所有應用程式都一定會遵循代理;它主要是用來暫時繞過複雜規則,確認某個網站或節點是否能夠正常連線。

例如,在規則模式下某個網站打不開,但切換到全域模式後恢復正常,通常表示節點本身可用,問題較可能出在規則順序、規則集更新、DNS 解析或策略組選擇。反過來,如果全域模式也無法連線,就應該優先檢查節點狀態、伺服器地址、TLS 設定與本地網路。

現象較可能的原因建議操作
所有網站都直連,Clash 沒有日誌系統代理未啟用,或瀏覽器未使用系統代理重新勾選 Set as System Proxy,檢查 macOS 代理設定
只有部分網站無法開啟規則命中錯誤、DNS 解析異常或策略組節點不可用切換全域模式測試,再查看命中的規則
全域模式也無法連線節點失效、訂閱過期、連接埠錯誤或網路限制測試其他節點,更新訂閱並檢查核心日誌
瀏覽器正常,某個應用程式無效該應用程式不支援系統代理,或使用獨立代理設定檢查應用程式網路選項,必要時考慮 TUN 模式

實際操作:測試代理並設定自動切換

完成基本設定後,建議按照以下流程逐項測試。這個流程放在排查中段執行,可以避免一開始就同時修改模式、DNS 和訂閱,最後反而無法判斷是哪一項設定生效。

  1. 確認節點可用:在 ClashX Pro 的 Proxy 選單中,選擇目前策略組,對候選節點執行延遲測試。延遲測試成功只代表測試網址可以連上,不等於所有網站都一定正常,但可以先排除完全失效的節點。
  2. 先切換 Global:暫時選擇全域模式,指定一個測試結果穩定的節點,重新開啟瀏覽器分頁。若網站恢復正常,表示系統代理大致有效,接下來應回到 Rule 模式檢查規則。
  3. 查看連線記錄:在 ClashX Pro 的 Connections 或 Logs 頁面觀察請求。確認目標網域、使用的策略組及最終動作是代理還是直連。
  4. 測試本機代理連接埠:如果熟悉終端機,可以使用下列指令確認 HTTP 代理是否能建立連線:
使用 curl 測試 HTTP 代理
curl -I -x http://127.0.0.1:7890 https://example.com

# 查看目前 macOS 代理設定
scutil --proxy

請將指令中的 7890 替換成 ClashX Pro 實際使用的 HTTP 連接埠。若 curl 可以收到 HTTP 回應,而瀏覽器沒有流量,問題多半在瀏覽器自身的代理設定、擴充功能或快取;若 curl 顯示 connection refused,則代表本機沒有程序監聽該連接埠,應回到 ClashX Pro 配置檢查。

若要讓節點自動切換,應在配置檔中使用 url-testfallback 策略組,而不是單純開啟「系統代理」。系統代理只負責把流量送進 Clash,並不負責判斷節點好壞。

自動測速與故障切換策略組
proxy-groups:
  - name: 自動選擇
    type: url-test
    proxies:
      - 香港節點
      - 日本節點
      - 新加坡節點
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50

  - name: 主備切換
    type: fallback
    proxies:
      - 香港節點
      - 日本節點
      - 新加坡節點
    url: https://www.gstatic.com/generate_204
    interval: 60

url-test 會定期測試節點延遲,當其他節點明顯更快時自動選擇較優節點;fallback 則按照列表順序使用第一個可用節點,只有目前節點測試失敗時才切換到下一個。若你重視速度,可以選擇 url-test;若你需要主節點故障後快速恢復,fallback 通常更直觀。請注意,測速網址的可達性會影響判斷結果,最好選擇與實際使用區域接近、長期穩定的測試地址。

開機自動啟用與應用程式相容性

如果每次重新啟動 Mac 後都要手動開啟 ClashX Pro 和系統代理,可以在 ClashX Pro 的偏好設定中啟用「開機啟動」或「登入時啟動」功能。部分版本也提供「啟動時設定為系統代理」選項。建議兩項都開啟,並確認 ClashX Pro 啟動後能自動載入上次使用的設定檔與策略組。

macOS 系統代理主要適用於遵循系統網路設定的程式。Safari 通常會直接使用系統代理;Chrome、Firefox 的表現則可能受到版本、企業政策、擴充功能或自訂代理選項影響。若只有某個瀏覽器無法代理,請先檢查它是否設定了獨立代理,或暫時停用代理管理類擴充功能,避免擴充功能覆蓋 macOS 的設定。

部分遊戲、影音播放器、命令列工具和採用自訂網路協議的應用程式,可能完全不理會 HTTP 或 SOCKS 系統代理。這類程式即使系統代理已開啟,也可能不會出現在 ClashX Pro 的連線記錄中。若 ClashX Pro 版本和核心支援 TUN 模式,可以考慮啟用 TUN 來攔截更底層的 TCP、UDP 流量;但 TUN 需要額外權限,亦可能與其他 VPN、企業安全軟體或虛擬網路介面衝突。

啟用 TUN 前請注意:不要同時讓多個 VPN、網路過濾器或代理工具接管系統流量。出現無法上網、DNS 反覆失敗或本地服務無法連線時,先停用其他網路工具,再逐項啟用功能,並保留原本的設定以便還原。

常見失效原因與還原方式

最常見的失效原因是 ClashX Pro 退出後,macOS 仍然保留了指向 127.0.0.1 的代理設定。此時 Clash 核心已停止監聽,所有遵循系統代理的應用程式都可能無法上網。正常退出 ClashX Pro 前,應先取消「Set as System Proxy」;若程式已經意外關閉,重新開啟 ClashX Pro 後取消該選項,或在 macOS「系統設定」的代理頁面手動關閉 HTTP、HTTPS 和 SOCKS 代理。

第二個常見原因是訂閱更新後,原本的策略組名稱或節點名稱已經改變。規則可能仍然指向不存在的策略組,導致請求被丟棄或無法選擇節點。更新訂閱後,請重新查看 Proxy 頁面,確認策略組中有可用節點,並檢查配置檔是否有錯誤提示。

第三個原因是 DNS 或瀏覽器安全設定。當網站可以建立連線但頁面長時間載入,或只有部分網域無法解析時,可以先切換全域模式測試;若全域模式仍失敗,再檢查 DNS 模式、瀏覽器的安全 DNS、企業代理政策和本地防火牆。不要為了追求「全部都走代理」而盲目關閉證書驗證,尤其不要在正式使用配置中長期設定 skip-cert-verify: true

需要完全還原設定時,可以依照以下順序操作:

  1. 在 ClashX Pro 選單中取消系統代理。
  2. 在 macOS「系統設定」→「網路」→目前介面→「代理伺服器」中,確認 HTTP、HTTPS 和 SOCKS 項目已關閉。
  3. 退出 ClashX Pro,再重新啟動一次,確認沒有殘留的本機代理設定。
  4. 若曾啟用 TUN 或其他 VPN,先停用相關網路擴充功能,再測試一般直連網路。
  5. 確認直連正常後,重新啟動 ClashX Pro,先載入穩定設定檔,再逐步開啟系統代理與規則模式。

總結來說,ClashX Pro 在 macOS 上的正確使用順序是:先確認核心與節點正常,再開啟系統代理,接著選擇 Rule 或 Global 模式,最後透過瀏覽器和連線日誌驗證結果。若想實現自動切換,則應另外配置 url-testfallback 策略組。掌握這幾個層次後,即使日後遇到「代理突然失效」或「只有某個程式不能用」的情況,也能快速判斷問題究竟位於系統代理、規則、節點還是應用程式本身。

立即開始

用 Clash 掌控您的流量

支援 Windows、macOS、Linux、Android 與 iOS,靈活規則,開箱即用。

免費下載 查看設定指南 →