# Configuring a proxy in Chrome, Firefox and at the operating-system level

For manual checks, account work or QA, a real browser through a residential exit is the most honest view of a site. Here is how each browser and OS takes the proxy, and the two settings that stop leaks.


## Which credentials to use

Browsers prompt for proxy credentials once per session and remember them. Use a sticky username so the whole browsing session stays on one household: `USER-cc-de-city-berlin-sid-desk1-ttl-24h`. Alternatively whitelist your public IP in the dashboard and no prompt appears at all.


## Chrome and Chromium

- Chrome uses the operating system's proxy settings by default; change them there (below) and every Chromium browser follows.
- For one dedicated profile, start Chrome with flags: `--proxy-server=\"http://res.proxshift.com:9000\" --user-data-dir=/tmp/proxprofile`. The first navigation asks for the username and password.
- SOCKS5 with remote DNS: `--proxy-server=\"socks5://res.proxshift.com:9001\" --host-resolver-rules=\"MAP * ~NOTFOUND , EXCLUDE res.proxshift.com\"` keeps DNS from leaking (whitelisted IP required: Chrome cannot send SOCKS5 credentials).
- Extensions such as SwitchyOmega switch profiles per site and store credentials, useful when you alternate between direct and proxied browsing.


## Firefox

1. Settings → Network Settings → Manual proxy configuration.
2. HTTP Proxy `res.proxshift.com`, port `9000`, tick "Also use this proxy for HTTPS". Or SOCKS Host `res.proxshift.com`, port `9001`, SOCKS v5, and tick **Proxy DNS when using SOCKS v5**.
3. In `about:config`, set `media.peerconnection.enabled` to `false` to stop WebRTC from revealing your real address.
4. Firefox asks for the proxy credentials on the first request and can remember them per profile.


## macOS

System Settings → Network → your interface → Details → Proxies: enable Web Proxy (HTTP) and Secure Web Proxy (HTTPS) with `res.proxshift.com` and port `9000`, tick "Proxy server requires password" and enter the sticky username and password. Safari and most apps follow the system setting; some command-line tools do not, use the environment variables instead.


## Windows

Settings → Network & Internet → Proxy → Manual proxy setup: address `res.proxshift.com`, port `9000`. Windows has no field for credentials; Edge and Chrome will prompt on first use, or whitelist your IP. Add `localhost;127.*` to the exceptions.


## A PAC file for selective proxying

```javascript
function FindProxyForURL(url, host) {
  // Only these sites go through the German exit; everything else is direct
  if (dnsDomainIs(host, ".example.de") || shExpMatch(host, "*.shop-example.de")) {
    return "PROXY res.proxshift.com:9000";
  }
  return "DIRECT";
}
```

Point the browser or OS at the PAC URL (a local file works in Firefox; Chrome and Windows prefer an `http://` URL). Credentials are still prompted or whitelisted.


## Verify before you trust it

- Open an IP-echo page: the address must be the exit, in the country you asked.
- Open a WebRTC leak test: only the exit should appear.
- Check the browser's language and time zone match the exit if the site cares about consistency.


## Questions

**Why does the browser keep asking for the proxy password?**

A wrong password, or a username with a typo in a parameter: the gateway answers 407 and the browser re-prompts. Test the same credentials with cURL to see the exact gateway code.

**Can I use a different exit per tab?**

Not with browser settings alone: the proxy is per profile or per system. Run separate profiles, or use an extension with per-site rules.

Source: https://proxshift.com/guides/browser-and-system-proxy
