A proxy sits between your device and the internet and can route, filter or hide traffic. Below you’ll find clear, step-by-step instructions to configure proxies on desktops, browsers, mobile devices and command-line tools.
Before you start: what you need
Gather these details from your network admin or proxy provider:
- Proxy type: HTTP/https, SOCKS4/5, or a PAC (auto-config) url
- hostname or ip address and port (for example: proxy.example.com:8080)
- Username and password if the proxy requires authentication
- Any special instructions (allowed IPs, NTLM/Kerberos, SOCKS only, etc.)
Configure proxy on Windows (10 / 11)
Automatic (PAC) configuration
- Open Settings → Network & Internet → Proxy.
- Under “Automatic proxy setup”, toggle on “Use setup script”.
- Enter the script address (PAC URL) and click Save.
Manual proxy configuration
- Open Settings → Network & Internet → Proxy.
- Under “Manual proxy setup”, toggle on “Use a proxy server”.
- Enter the Address and Port, then Save.
- If specific sites should skip the proxy, add them to the “Do not use proxy server for addresses beginning with” list.
Classic Internet Options (affects some legacy apps)
- Open control panel → Internet Options → Connections → LAN settings.
- Check “Use a proxy server for your LAN” or “Automatically detect settings” for WPAD/PAC.
- Click Advanced to set exceptions and per-protocol proxies.
Configure proxy on macOS
- Open System Settings / System Preferences → Network.
- Select the active network interface (Wi‑Fi or Ethernet) and click Advanced.
- Go to the Proxies tab.
- Enable the proxy type(s) you need (Web Proxy (HTTP), Secure Web Proxy (HTTPS), SOCKS Proxy).
- Enter the address and port, add credentials if required, then click OK and Apply.
Configure proxy on linux
GNOME (ubuntu, Fedora with GUI)
- Open Settings → Network → Network Proxy.
- Choose Manual or Automatic. For Manual, enter host and port for each protocol.
- Apply system-wide or configure per-user depending on your distro.
Command line / environment variables
For many cli tools you can set:
export http_proxy="
export https_proxy="
To make it persistent, add those lines to ~/.bashrc or /etc/environment.
Browser-specific proxy settings
Chrome
Chrome uses the system proxy settings by default. To run Chrome with a direct proxy for testing:
chrome --proxy-server="
Firefox
- Open Menu → Settings → General → Network Settings → Settings.
- Choose “Manual proxy configuration” or “Automatic proxy configuration URL”.
- Enter the proxy and port, check “Use this proxy server for all protocols” if desired, then OK.
Mobile: iOS and Android
iOS (Wi‑Fi only)
- Open Settings → Wi‑Fi; tap the i button next to your network.
- Scroll to “HTTP Proxy” and choose Off, Manual or Auto.
- For Manual, enter Server, Port and optional authentication.
Android
- Open Settings → Network & Internet → Wi‑Fi.
- Long press your network → Modify network → Advanced options.
- Set Proxy to Manual and enter Hostname and Port (or use PAC URL in some builds).
Command-line tools: common examples
- curl: curl –proxy
- git: git config –global http.proxy
- npm: npm config set proxy
- apt (Debian/Ubuntu): add Acquire::http::Proxy ” to /etc/apt/apt.conf.d/95proxies
SOCKS and ssh tunnels
If you have ssh access to a remote host, create a local SOCKS proxy with:
ssh -D 1080 user@remote.host
Then point your app or browser to localhost:1080 and select SOCKS5. This encrypts traffic to the remote host.
Proxy with authentication
Many proxies require credentials. You can:
- Enter username/password in the UI where provided (browsers, OS proxies).
- Use the URL form: (note: visible in process lists and config files).
- Prefer secure methods: use HTTPS proxies or SSH tunnels to avoid exposing credentials in plain text.
How to test your proxy
- Open a browser and visit a “what is my IP” site to confirm the visible IP matches the proxy’s IP.
- Use curl or wget with –proxy to confirm command-line traffic routes correctly.
- Check proxy logs (if you have access) for successful connections.
Troubleshooting common issues
- Authentication errors: re-check username/password and domain. Try configuring credentials in the UI rather than embedding them in urls.
- DNS leaks: some setups resolve dns on the client side; use SOCKS or an encrypted tunnel to force remote DNS resolution.
- Blocked ports: corporate firewalls may block proxy ports,confirm allowed ports with your admin.
- Applications ignoring system proxy: configure the app directly or set environment variables for CLI tools.
- PAC file not applying: ensure the PAC URL is reachable and returns valid JavaScript.
Security and privacy tips
- Use HTTPS proxies or encrypt traffic (SSH) to protect credentials and payloads.
- Don’t store credentials in plain text files unless they are protected with proper file permissions.
- Use dedicated accounts and rotate credentials when possible.
- Be aware of logging: proxies often record requests and IPs.
When to use a proxy vs. a VPN
Proxies are useful for per-app routing, bypassing simple filters, or testing geolocation. VPNs create a full encrypted tunnel for all network traffic. Choose based on whether you need full device protection or just routed traffic for specific apps.
Final summary
Configuring a proxy involves choosing the correct proxy type, entering host/port (and credentials when required), and applying the setting in the OS, browser or app you use. Test the connection, watch for DNS leaks, and secure credentials by using encrypted proxies or SSH tunnels. If a particular app ignores system settings, configure the proxy inside that app or set environment variables for command-line tools.
