要在 iPhone 上使用 SOCKS5 代理,你需要一個代理用戶端 App:iOS 完全沒有 SOCKS5 設定。它的「設定」App 只提供 HTTP 代理,而且只對你設定的那個 Wi-Fi 網路有效。本文說明如何透過免費的代理用戶端 Potatso,讓 SOCKS5 代理或 HTTP 代理在 Wi-Fi 和行動數據下都對整台 iPhone 或 iPad 生效。

內容涵蓋住宅和機房代理服務商使用的 host:port:user:pass 格式,以及 UDP 會受到什麼影響。不確定該用哪種代理?請閱讀 SOCKS5 和 HTTP 代理差在哪。

iPhone 不裝 App 能用 SOCKS5 代理嗎?

不行。以下是 iOS 本身在設定 → Wi-Fi → ⓘ → 設定代理伺服器中提供的功能:

iOS「設定」 代理用戶端 App
HTTP 代理 是 是
HTTPS 代理(以 TLS 連往代理) 否 是
SOCKS5 否 是
行動數據 否 是
所有 Wi-Fi 網路 否,需逐一設定 是
UDP 否 使用 SOCKS5 時

iOS 的設定也是依網路套用的,所以一切換到行動數據或另一個 Wi-Fi,就會失效。Potatso 這類用戶端 App 會加入一組 VPN 設定,擷取你所有的流量並送往代理,不論你在哪個網路上。

事前準備

  • 一台 iOS 17 或以上版本的 iPhone 或 iPad。
  • 你的代理資料。服務商通常以下列其中一種形式提供:
    • 一行文字,例如 proxy.example.com:1080:alice:s3cret;
    • 一個連結,例如 socks5://alice:s3cret@proxy.example.com:1080;或
    • 分開的欄位:主機、連接埠、使用者名稱和密碼。
  • 知道該連接埠是 SOCKS5 還是 HTTP。許多服務商兩者使用不同的連接埠,請在後台確認。

步驟 1:安裝 Potatso

從 App Store 下載 Potatso 並打開。點一下開始使用,為設定檔輸入名稱(例如「住宅代理」),再點一下繼續。

Potatso 歡迎畫面與「開始使用」按鈕

步驟 2:加入代理

從 host:port:user:pass 格式加入

住宅和機房代理服務商通常每個代理給你一行文字,由冒號分成四段:

proxy.example.com:1080:alice:s3cret
欄位 值 在 Potatso 中填入
Host proxy.example.com 位址
Port 1080 連接埠
User alice 使用者名稱
Pass s3cret 密碼

Potatso 無法直接讀取這種四段式格式。你可以照下方說明手動輸入,或把它改寫成連結後貼上:

socks5://alice:s3cret@proxy.example.com:1080#Residential

在連結中,密碼裡的特殊字元要做百分比編碼:p:ss 寫成 p%3Ass,@ 寫成 %40。有些服務商會把國家或固定工作階段(sticky session)等選項放在使用者名稱裡,例如 alice-country-us。請完整複製使用者名稱,連字號也不能漏。

IP 白名單。 有些服務商不使用密碼,只接受來自你登記之 IP 位址的連線。你的 iPhone 在 Wi-Fi 和行動數據之間切換時 IP 位址會改變,所以如果服務商提供使用者名稱和密碼驗證,請改用這種方式。

手動輸入

  1. 點一下手動輸入伺服器。
  2. 輸入名稱,並將協定選為 SOCKS5。若是 HTTP 代理,請選擇 HTTP。
  3. 填入位址與連接埠。
  4. 開啟驗證,然後輸入使用者名稱和密碼。不需要登入的代理請保持關閉。
  5. 只有在服務商說明代理使用 TLS(SOCKS5 over TLS 或 HTTPS 代理)時,才開啟 TLS。使用自簽憑證時,可以在 TLS 設定中設定憑證釘選(SHA-256)。
  6. 若是 SOCKS5,服務商有轉送 UDP 時請保持 UDP 轉送開啟,沒有則關閉。請見 UDP 轉送。
  7. 點一下儲存(打勾圖示)。

從連結或 QR 碼匯入

如果你有連結,請複製後點一下貼上連結,再點一下貼上。Potatso 能讀取 socks5://、socks5h://、socks:// 和 socks5+tls:// 連結,以及 http:// 和 https:// 代理連結。若是 QR 碼,請點一下掃描 QR 碼。含有 SOCKS5 或 HTTP 代理的 Clash、Surge 和 Xray 設定也能匯入。

代理加入後,點一下繼續。

在 iPhone 上讓 HTTP 代理對整台裝置生效

步驟完全相同,只要把協定選為 HTTP:Potatso 就會在任何網路上讓所有 App 經由 HTTP 代理,而不只是單一 Wi-Fi 網路。若是 HTTPS 代理,請選擇 HTTP 並開啟 TLS。

請記得 HTTP 代理只承載 TCP。網站和大多數 App 都能正常使用,但 UDP 流量無法經由它傳送。請使用代理的 CONNECT 連接埠,而不是只轉發一般網頁的連接埠。

步驟 3:選擇路由

只有一個代理時,請選擇全域讓所有流量經由它,然後點一下底部的按鈕,例如使用 Residential。如果你匯入的設定附帶規則,也可以改選規則。

選擇出站,並顯示各伺服器的協定與延遲

步驟 4:允許 VPN 並連線

  1. 點一下加入 VPN 設定,iOS 詢問時點一下允許。
  2. 在首頁打開狀態卡片上的開關。

狀態會變成連線中…,然後是已連線。若要確認是否生效,請在 Safari 中打開「查詢我的 IP」之類的網站:它應該顯示代理的 IP 位址,而不是你自己的。

UDP 轉送:通話和遊戲會受到什麼影響

語音和視訊通話、許多遊戲和 QUIC 都使用 UDP。並不是每種代理都能轉送它:

代理 規則模式下的 UDP 全域模式下的 UDP
SOCKS5,UDP 轉送開啟 經由代理 經由代理
SOCKS5,UDP 轉送關閉 由下一條符合的規則決定,否則直接連線 無法使用
HTTP 或 HTTPS 由下一條符合的規則決定,否則直接連線 無法使用

有兩點要注意:

  • 直接送出的 UDP 會使用你的真實 IP 位址,而不是代理的。如果你使用代理是為了隱藏 IP,請使用有轉送 UDP 的 SOCKS5 代理。
  • 使用 SOCKS5 over TLS 時,只有 TCP 會加密。UDP 是在 TLS 之外傳送到伺服器的。

UDP 無法使用時,瀏覽器會改用 TCP,所以網站仍能載入,但通話和遊戲可能無法正常運作。

連不上怎麼辦

  • 使用者名稱或密碼錯誤。 如果代理需要登入而驗證是關閉的,Potatso 就不會連線。請檢查使用者名稱,包括服務商加在裡面的任何選項。
  • SOCKS5 和 HTTP 連接埠弄混了。 把 SOCKS5 伺服器設在 HTTP 連接埠上(或反過來),伺服器都不會回應。請確認每個連接埠對應的協定。
  • IP 白名單。 向服務商登記你目前的 IP 位址,或改用密碼驗證。
  • 透過 HTTP 代理只有部分網站能開。 有些代理只允許 CONNECT 到 443 連接埠。請詢問你的服務商。
  • 使用 TLS 時出現憑證錯誤。 請釘選代理的憑證,或僅在測試時開啟略過憑證驗證。
  • 不支援的選項。 Potatso 不支援 SOCKS4、GSSAPI 驗證和 Digest 驗證。
  • 某個 App 無法使用。 有些 App 會封鎖機房和代理的 IP 位址。請見 App 或網站無法使用。

所有設定都列在 SOCKS5 參考文件和 HTTP 與 HTTPS 參考文件中。其他問題請見疑難排解。

下一步

常見問題

iPhone 原生支援 SOCKS5 代理嗎?
不支援。iOS 的「設定」App 只能設定 HTTP 代理,而且一次只對一個 Wi-Fi 網路有效。要使用 SOCKS5 代理,你需要 Potatso 這類用戶端 App,由它把流量送往代理。
iPhone 用行動數據時可以使用代理嗎?
用 iOS 的「設定」不行,因為它只為 Wi-Fi 網路提供代理選項。Potatso 這類代理用戶端 App 使用 VPN 設定,所以代理在 Wi-Fi 和行動數據下都能運作。
在 iPhone 上怎麼輸入 host:port:user:pass?
以冒號把這一行拆開:第一段是位址,接著依序是連接埠、使用者名稱和密碼。把它們填進 Potatso 的伺服器表單,或改寫成 socks5://user:pass@host:port 這樣的連結再貼上。
SOCKS5 代理會加密我的流量嗎?
不會。一般的 SOCKS5 會以未加密的方式傳送你的密碼和造訪的網站,不過 HTTPS 網站仍然是端對端加密。如果服務商提供 SOCKS5 over TLS,請使用它來加密通往代理的 TCP 流量。
Potatso 是免費的嗎?
是的。Potatso 可在 App Store 免費下載,適用於 iOS 17 或以上版本的 iPhone 與 iPad。部分選用的 Pro 功能(例如使用多個設定檔)需要訂閱。

其他語言版本: English · 简体中文 · 日本語 · Русский