DEV Community

Cover image for How to set up a proxy on Android and iPhone
proxymint
proxymint

Posted on Originally published at proxymint.com

How to set up a proxy on Android and iPhone

Originally published on proxymint.

How to set up a proxy on Android and iPhone: Wi-Fi steps, what the setting misses, logging in with a password, mobile data, and device-wide options for QA.

TL;DR

  • Both phones set the proxy per Wi-Fi network. On Android it sits under the network's Advanced options, on iPhone under Configure Proxy in the network's info page. Cellular traffic and other Wi-Fi networks are not covered.
  • It is an HTTP proxy, and apps may ignore it. Android's java.net and Apache stacks follow it automatically and iOS URLSession follows it by default. Apps with their own networking can skip it, and UDP never goes through it.
  • Only iPhone takes a password in the Wi-Fi screen. iOS has an Authentication toggle. The Android dialog has hostname, port, bypass list and PAC URL fields only, so a username and password proxy may prompt in the browser and fail in most apps.
  • Mobile data and credentials need another route. Android's APN editor has a proxy field, but its Username and Password log in to the carrier's access point, not the proxy. The emulator, an app's own proxy setting or a VPN-based client carry credentials.

Key takeaways

  • Use the provider's HTTP endpoint for phone setup. Neither the iOS nor the Android Wi-Fi dialog accepts SOCKS5, and neither should point at the proxy with an https:// scheme.
  • On Android, plan for the missing password field. Test the browser prompt on the device, and move native app tests to the emulator proxy, the app's own setting or a VPN-based client.
  • Never type proxy credentials into the APN login fields. They authenticate the phone to the carrier, and a wrong APN edit can cut mobile data until it is reset.
  • Check the exit inside the app under test, not only in the browser. A browser that shows the proxy's IP says nothing about an app with its own networking stack.
  • Pick the exit by what the target checks. Carrier origin needs a mobile exit; a regional storefront in a browser runs on residential.

Read the full guide on proxymint, with the commands, tables and sources.

Top comments (0)