The Ultimate Guide to iOS Proxy Settings (iPhone & iPad)

This guide explains iOS proxy configuration for per‑network Wi‑Fi proxies and automatic PAC. We also cover app‑specific behavior and troubleshooting so your traffic routes reliably.

System-Wide vs. App-Specific Proxies

iOS proxies are configured per Wi‑Fi network and affect many apps and browsers using that SSID. Some apps or client tools (e.g., Shadowrocket) implement their own proxy stack and may not rely on system settings. Mobile data does not use Wi‑Fi proxy.

Method 1: Per‑Network Wi‑Fi Proxy (Most Common)

  1. Open Settings → Wi‑Fi.
  2. Tap the info (ℹ️) icon next to your connected network.
  3. Scroll to Configure Proxy, choose Manual.
  4. Enter:
    • Server (Hostname/IP)
    • Port
    • (If required) Authentication username/password
  5. Tap Save, then verify via What's My IP.

Note: This configuration is bound to the specific Wi‑Fi network. Switching SSIDs requires configuring each network.

Method 2: Automatic Proxy (PAC File)

  1. Open Settings → Wi‑Fi and tap your network’s info (ℹ️) icon.
  2. Scroll to Configure Proxy, choose Automatic.
  3. Enter your PAC URL (Script address) provided by your service.
  4. Tap Save, then verify with What's My IP.

Notes on App‑Level Proxy Clients

Popular iOS clients (e.g., Shadowrocket) implement their own proxy engine and routing rules. Configure these apps directly using your nodes/subscriptions and enable their service to route traffic, which does not depend on Wi‑Fi proxy settings.

Troubleshooting Common iOS Proxy Issues

Issue 1: "Proxy works on Wi‑Fi but not on cellular data."

Wi‑Fi proxies apply per network. Cellular data does not use Wi‑Fi proxy; use an app‑level client (e.g., Shadowrocket) or a VPN‑based solution.

Issue 2: "Some apps ignore my proxy."

Apps may bypass system proxy or pin connections. Configure app‑specific proxy settings or use a client with routing rules.

Issue 3: "How do I disable the proxy?"

  1. Go to Settings → Wi‑Fi, tap info (ℹ️).
  2. Under Configure Proxy, select Off (or set Manual fields to blank).
  3. Save changes and retest connectivity.