先確認共享方式:電腦提供代理入口,其他裝置主動連線

常見的 Clash 區域網路共享方式,是讓電腦監聽代理連接埠,再將手機、平板或電視的代理伺服器設為電腦的區域網路 IP。這些連線仍會由電腦套用現有的訂閱、代理群組與規則處理。手機不必複製電腦上的節點設定,但電腦必須保持開機、連上網路,且 Clash 核心正在執行。

這並不會讓電腦自動變成路由器。只開啟 allow-lan,不會強制接管同一個 Wi-Fi 網路中所有裝置的流量;其他裝置仍須手動指定代理,或透過另外設定的閘道轉送。本篇只介紹明確指定的 HTTP/SOCKS5 代理,不涵蓋旁路由、路由器透明代理或連接埠轉送。

  • 電腦:先確認這台電腦使用目前的設定可以連上目標網站,避免把節點故障誤判為共享問題。
  • 網路:電腦與接收裝置之間必須可以直接通訊。同一台路由器下的有線與無線裝置通常能互通,但訪客網路可能會禁止裝置彼此存取。
  • 範例位址:以下假設電腦的 IPv4 位址為 192.168.1.20,混合連接埠為 7890。實際操作時,請換成自己的位址與連接埠。

mixed-port、allow-lan 與 bind-address 各自的用途

欄位範例值用途
mixed-port7890在同一個連接埠接收 HTTP 與 SOCKS5 代理請求。
allow-lantrue允許區域網路裝置連線至代理入口。
bind-address"*"指定監聽位址;星號代表所有位址,須搭配區域網路存取設定。
moderule切換至規則模式,依執行中的設定規則處理連線。

使用同一個連接埠,不代表使用相同的通訊協定

mixed-port 會依據連入的請求辨識通訊協定。手機 Wi-Fi 設定中的「HTTP 代理伺服器」可以連線至 7890,支援 SOCKS5 的應用程式也能使用這個連接埠。HTTPS 網站通常透過 HTTP 代理的 CONNECT 通道傳輸,不必為了瀏覽 HTTPS 網頁另外開啟「HTTPS 連接埠」,也不需要安裝憑證。

單獨設定的 port 用於 HTTP 代理,socks-port 用於 SOCKS 代理;使用混合入口時,其他監聽欄位不要占用相同的位址與連接埠。如果電腦上已有程式監聽 7890,請先確認是哪個程式占用,或改用閒置的連接埠,並同步修改裝置設定。

監聽範圍與允許連線的範圍都要確認

127.0.0.1 是迴路位址,只能供本機使用。即使手機已連上電腦的 Wi-Fi,也無法透過電腦的迴路監聽位址連接代理。bind-address: "*" 方便初次測試,但可能同時涵蓋有線、無線及其他網路介面;長期使用時,可綁定固定的區域網路位址,並透過防火牆進一步限制來源。

設定共享入口,並確認用戶端實際載入的值

先備份目前可正常使用的設定。以下內容是要合併至現有設定檔頂層的片段,並非包含節點的完整訂閱內容。保留原有的 proxies、proxy-providers、proxy-groups 與 rules,不要用這幾行取代整個檔案。

mixed-port: 7890
allow-lan: true
bind-address: "*"
mode: rule
log-level: info
  1. 請在用戶端設定中確認「混合連接埠」和「允許區域網路連線」目前實際使用的值;不同用戶端的選單名稱可能略有差異。
  2. 如果用戶端支援設定覆寫、合併或補丁功能,請用這些功能儲存共享設定。直接編輯由訂閱產生的檔案,可能會在下次更新訂閱時遺失修改。
  3. 儲存並重新載入設定,必要時重新啟動核心。查看記錄,確認沒有 YAML 解析錯誤或連接埠占用錯誤。
  4. 再次查看生效中的設定或監聽狀態。圖形介面可能會覆寫 YAML 中的連接埠與開關設定,請以核心實際執行結果為準。

YAML 頂層欄位不應額外縮排,同一個欄位也不要重複宣告。星號必須加上引號;未加引號的 * 在 YAML 中有特殊含義,可能導致解析失敗。若只要綁定有線網卡位址,可以改為 bind-address: "192.168.1.20";但電腦位址變更後,也要一併更新設定。

查詢電腦 IP,並依網路範圍設定防火牆規則

Windows:確認位址與 TCP 監聽狀態

在 Windows 11 中,可前往「設定」→「網路和網際網路」→目前使用的「Wi-Fi」或「乙太網路」連線內容查看 IPv4 位址,也可以在終端機執行 ipconfig。請使用連接路由器的實體網卡位址,不要誤用 TUN 虛擬網卡、VPN 或其他虛擬介面卡的位址。

ipconfig
Get-NetTCPConnection -State Listen -LocalPort 7890

第二個指令請在 PowerShell 中執行。如果 LocalAddress 只有 127.0.0.1,表示目前只監聽本機;若為 0.0.0.0,通常代表監聽所有 IPv4 介面;若為 192.168.1.20,則表示監聽指定位址。若沒有任何結果,請先確認核心是否已啟動,以及實際使用的連接埠是否為 7890。

確認目前連線確實是可信任的網路後,可前往「Windows 安全性」→「防火牆與網路保護」→「進階設定」→「輸入規則」,建立 TCP 連接埠規則。以下是以系統管理員身分執行的 PowerShell 範例,只允許私人網路中的 192.168.1.0/24 網段連線;若家中的網段不同,請先修改:

New-NetFirewallRule -DisplayName "Clash LAN TCP 7890" `
  -Direction Inbound -Action Allow -Protocol TCP `
  -LocalPort 7890 -RemoteAddress 192.168.1.0/24 `
  -Profile Private

此規則用於本篇的 HTTP 代理連線測試,不是 UDP 共享設定。停止共享後,可使用以下指令刪除規則,避免長期留下開放的連線入口:

Remove-NetFirewallRule -DisplayName "Clash LAN TCP 7890"

macOS 與 Linux:確認對應的核心程序

在 macOS 中,可前往「系統設定」→「網路」→目前使用的連線→「詳細資訊」→「TCP/IP」查看位址,並在「網路」→「防火牆」→「選項」確認用戶端或核心程式是否遭到封鎖。不同系統版本的按鈕位置可能不同;用戶端升級並更換核心程式後,也應重新確認授權設定。

在 Linux 中,可執行 ip -4 addr 查詢位址,再執行 ss -lntp 查看監聽狀態。如果系統已使用 UFW,且家中網段確實是 192.168.1.0/24,可以新增以下限制來源的規則。若不清楚防火牆設定對遠端登入的影響,請勿為了這一條規則貿然啟用或重設防火牆。

sudo ufw allow from 192.168.1.0/24 to any port 7890 proto tcp

在手機與電視輸入代理位址:伺服器是電腦,不是路由器

iPhone 與 iPad

  1. 開啟「設定」→「Wi-Fi」,點選目前連線右側的資訊按鈕。
  2. 找到「設定代理伺服器」,選擇「手動」。
  3. 「伺服器」輸入電腦位址 192.168.1.20,「連接埠」輸入 7890。
  4. 如果電腦沒有設定代理認證,請保持「認證」關閉;儲存後用 Safari 開啟新頁面測試。

此設定只適用於目前的 Wi-Fi,不會自動套用至行動數據。伺服器欄位不要填手機本身的 IP、路由器閘道或 127.0.0.1,也不要加上 http://。若代理入口要求認證,請輸入相應的使用者名稱與密碼;部分應用程式對代理認證的支援不完整,請逐一測試。

Android 手機

在系統 WLAN 設定中編輯目前的網路,找到「進階選項」或「代理伺服器」,選擇「手動」。主機名稱輸入 192.168.1.20,連接埠輸入 7890。以 Pixel 系列常見介面為例,路徑為「設定」→「網路和網際網路」→「網際網路」→目前網路設定→編輯→「進階選項」→「代理伺服器」;其他品牌請以實際的網路編輯介面為準。

「略過代理伺服器的位址」是裝置端的略過清單,與 Clash 的 rules 並非同一層設定。初次測試請保留預設值,不要填入含義不明的萬用字元規則。Android Wi-Fi 手動代理主要適用於會讀取系統 HTTP 代理設定的應用程式,不能因此認定遊戲、影音應用程式或背景服務也會使用代理。

電視與電視盒

在電視的「設定」→「網路」中開啟目前使用的連線,尋找「代理伺服器設定」或網路編輯選項。如果支援手動設定 HTTP 代理,請填入電腦 IP 與 7890。部分電視只在 Wi-Fi 編輯頁面提供代理設定,有線網路不一定支援;請勿為了尋找代理選項而任意改用靜態 IP,以免填錯閘道或 DNS。

如果電視沒有代理選項,可查看目標應用程式是否內建 HTTP/SOCKS5 設定,或是否適合安裝相容的獨立用戶端。只把電視的 DNS 改成電腦位址,並不能取代代理設定;本篇也沒有啟用供區域網路使用的 DNS 服務。

從監聽、網路與規則三個層面確認共享狀態

建議先用手機瀏覽器測試一個明確需要代理的 HTTPS 網站,同時查看電腦用戶端的連線清單或記錄。重點是確認連線是否進入核心、目標網域是否正確、套用哪條規則及最終出口為何,而不是只看手機狀態列是否出現圖示。

  1. 先確認連接埠可連線:如果手邊還有另一台 Windows 電腦,可執行 Test-NetConnection 192.168.1.20 -Port 7890。TcpTestSucceeded: True 只表示 TCP 入口可連線,不代表節點與規則一定正常。
  2. 接著測試代理請求:在另一台已安裝 curl 的電腦執行下方指令,明確指定代理,排除應用程式忽略系統代理設定的可能。
  3. 最後測試實際應用程式:瀏覽器測試成功後,再分別測試電視應用程式、區域網路投放或其他服務;不要把網頁測試結果解讀為「所有流量都已接管」。
curl --proxy http://192.168.1.20:7890 --connect-timeout 5 --max-time 20 -I https://example.com/

這裡的 5 秒是連線階段的逾時上限,20 秒是整個請求的時間上限,並非延遲測量結果。如果連線清單顯示請求命中 DIRECT,連線仍可能先經過電腦的代理入口,只是後續由電腦直接連線至目標;請綜合規則與出口判斷。

現象優先檢查項目下一步
連接埠連線逾時防火牆、訪客網路、AP 隔離、電腦位址確認裝置彼此可連線,並檢查輸入規則適用的網路設定檔。
連線遭拒連接埠未監聽、核心已結束、位址綁定錯誤查看監聽狀態,確認實際使用的混合連接埠。
回應 HTTP 407代理要求身分驗證確認裝置支援驗證,並輸入有效的登入資料。
請求出現在記錄中,但連線失敗節點、規則、電腦端 DNS 或上游連線比對同一目標在電腦本機的連線結果。
瀏覽器正常,但電視應用程式失敗應用程式未使用 HTTP 代理,或服務需要 UDP確認應用程式是否支援代理,並視需要改用裝置端方案。

ping 失敗不能單獨證明代理無法連線,因為系統可能禁止 ICMP 回應。反過來說,ping 得到回應也只代表部分網路連通,仍須測試 7890 的 TCP 連線。如果電腦本機也無法開啟相同目標,請先修復設定或上游節點,不要一再更換手機端的連接埠。

TUN、DNS 與 UDP:代理共享的適用範圍

電腦開啟 TUN,不代表手機流量會自動經過電腦

TUN 主要處理進入電腦虛擬網路介面的流量。只在電腦用戶端開啟 TUN,不會自動替同網段的手機設定代理,也不會讓一般電腦成為其他裝置的預設閘道。本篇介紹的明確代理方式通常不需要開啟 TUN;電腦的系統代理開關也不等於區域網路共享開關,關鍵仍在監聽入口與裝置端設定。

HTTP 代理無法涵蓋所有通訊協定

一般 HTTP 代理與 HTTPS CONNECT 主要用於 TCP 連線,無法保證接管遊戲 UDP、QUIC、投放裝置探索或區域網路廣播。雖然 SOCKS5 通訊協定具備 UDP 轉送機制,實際能否使用仍取決於應用程式、核心、節點與防火牆;在手機 Wi-Fi 設定中填入 HTTP 代理,不會自動取得 SOCKS5 UDP 功能。

DNS 的處理位置取決於請求方式

HTTP 代理通常會收到目標主機名稱,再由電腦端依目前設定處理解析與連線;但應用程式可能會預先解析網域,也可能忽略系統代理。SOCKS5 是否將網域交由代理解析,同樣取決於應用程式的請求方式。因此,設定 Wi-Fi 代理並不代表裝置的所有 DNS 請求都會交由 Clash 處理。

日常使用:固定位址、避免休眠,離開網路前先關閉

  • 固定電腦位址:建議優先在路由器 DHCP 設定中為電腦保留位址,避免重新連線後從 192.168.1.20 變成其他 IP。手動設定靜態位址時,請確認網段、閘道及位址沒有衝突。
  • 確認電源狀態:筆記型電腦闔上上蓋或進入睡眠後,代理連線通常會中斷。若需要持續共享,請按需求調整系統電源設定,並留意通風與用電安全。
  • 限制連線來源:確認現有防火牆是否已有範圍更廣的應用程式允許規則;新增限制來源的規則,不會自動收緊舊有規則。使用多張網卡的裝置尤其需要再次確認。
  • 停止共享時還原裝置設定:先將手機或電視的代理改為「關閉」或「無」,再關閉電腦端共享。否則裝置可能會繼續向已離線的電腦送出請求。

完整的疑難排解流程可簡化為四個步驟:確認電腦本機可正常使用、確認混合連接埠正在監聽區域網路、確認裝置能通過防火牆連上該連接埠,最後確認應用程式請求套用的規則與出口。循著這條路徑檢查,比反覆匯入訂閱或同時開啟多個網路開關更容易找出問題。