The essential points from this guide -- each one is explained in detail below.
Proxy settings are the fields on a device that tell it to route traffic through a proxy server instead of connecting directly.
Windows and macOS configure proxy settings at the operating-system level, which most browsers inherit automatically.
iPhone and Android configure proxy settings per WiFi network, under that network's advanced settings, not as one device-wide switch.
Where you get a proxy to configure -- free, self-hosted, or from a provider -- matters as much as knowing where the settings screen is.
Browser, OS, and code-level configuration solve overlapping but different problems; picking the right layer avoids wasted setup time.
Proxy settings are the fields on a device or app that point its traffic at a proxy server instead of connecting straight to the internet. Fill them in, and every request that layer sends -- a browser tab, an operating system, or a single script -- routes through that proxy first. See What Is a Proxy Server? for how that relay works once the traffic arrives, and Proxy for the short version of the same idea.
The fields themselves are almost always the same four things: a host or address, a port, a protocol (usually HTTP, HTTPS, or SOCKS5), and, if the proxy requires it, a username and password. What changes between a computer, a phone, and a piece of code is only where you enter them and which layer of traffic they affect, not what a proxy setting actually is.
Windows and macOS both configure proxy settings at the operating-system level, and most browsers, including Chrome and Edge, simply inherit whatever the OS has set rather than keeping a separate copy.
On Windows: Settings > Network & Internet > Proxy > Manual proxy setup. Turn on "Use a proxy server," then enter the address and port.
On macOS: System Settings > Network > select your connection > Details > Proxies. Check the protocol you need (Web Proxy for HTTP, Secure Web Proxy for HTTPS, or SOCKS Proxy) and enter the server address and port for each one you enable.
Firefox is the one common exception. It keeps its own proxy settings independent of the operating system, under Settings > General > Network Settings, so changing the OS-level proxy will not affect Firefox unless "Use system proxy settings" is selected there specifically.
Phones handle proxy settings differently from a computer: there is no single device-wide switch. Instead, a proxy is configured per WiFi network, under that specific network's advanced settings, and it only applies while connected to that network.
On iPhone: Settings > Wi-Fi > the (i) next to your connected network > Configure Proxy. Choose Manual, then enter the server address and port. To have iOS pick up a proxy automatically from a configuration file instead, choose Automatic and enter the URL your provider gives you.
On Android: Settings > Network & Internet > Internet (or Wi-Fi) > the connected network's gear icon > Advanced > Proxy. Select Manual and enter the same address and port fields.
Neither platform offers a straightforward proxy setting for cellular data. iOS and Android proxy configuration applies to WiFi connections only, so switching to mobile data bypasses whatever proxy was configured.
A proxy setting is only useful once there is an actual proxy server to point it at, and where that server comes from matters as much as knowing which screen to open.
Free public proxy lists exist, but they come with real trade-offs: unpredictable uptime, slow speeds shared across everyone else using the same free IP, and no guarantee about who is logging the traffic on the other end. They are fine for a five-minute test, not for anything relied on regularly.
Self-hosting is the other free option -- running a proxy server on a home machine or a cheap VPS -- but it trades the cost of a provider for the cost of maintaining it, and a single self-hosted IP is trivial for any serious anti-bot system to flag and block.
A managed provider is the practical middle ground for anyone using a proxy for more than casual testing: a stable address, real support, and, for KnoxProxy specifically, access to a much larger pool of IPs than a single self-hosted server could offer. See current plans and pricing for what that looks like in practice.
All three layers -- browser, operating system, and code -- can hold a proxy setting at the same time, and picking the wrong one for the job is the most common source of proxy-not-working confusion.
Browser-level settings, usually through an extension like the ones covered in How to Set Up a Proxy in Your Browser, are the right choice when only one specific browser's traffic needs to be proxied, and you want to switch configurations quickly without touching anything else on the device.
OS-level settings are the right choice when every application on the device, not just one browser, should share the same proxy -- useful for testing how a whole machine behaves from a specific location.
App or code-level configuration is different from both: instead of a settings screen, the proxy address and credentials are passed directly in a script or application's own configuration, which is how most scraping, monitoring, and automation workloads are actually built. How to Configure a Proxy in Python, in Node.js, and in Go cover that layer directly.
Ready to put this into practice? Browse all proxy types
KnoxProxy Research Team · Technical Content
Network engineers and proxy infrastructure specialists with 10+ years in anti-bot systems, web scraping, and IP routing.
90.4M+ ethically sourced residential IPs across 195 countries. Start free -- no credit card required.