Integrations / Proxy setups / SOCKS5 proxies

SOCKS5 proxies, with a login and remote DNS.

SOCKS5 carries any traffic and can take a username and password. In Browz a SOCKS5 proxy resolves site names at the proxy by default, so your own network never sees which sites a profile visits.

Terminalexport BROWZ_TOKEN="$(cat ~/.browz/api-token)" curl -s -X POST http://127.0.0.1:50333/api/v1/proxy/check -H "Authorization: Bearer $BROWZ_TOKEN" -H "Content-Type: application/json" -d "{ \"scheme\": \"socks5\", \"host\": \"203.0.113.77\", \"port\": 9050, \"user\": \"$PROXY_USER\", \"pass\": \"$PROXY_PASS\"}"

Setup

Set it up.

  1. Check it before you save it

    The check route takes a proxy inline. Give both a username and a password, or neither: SOCKS5 with only one of them is refused.

    Terminalexport BROWZ_TOKEN="$(cat ~/.browz/api-token)" curl -s -X POST http://127.0.0.1:50333/api/v1/proxy/check -H "Authorization: Bearer $BROWZ_TOKEN" -H "Content-Type: application/json" -d "{ \"scheme\": \"socks5\", \"host\": \"203.0.113.77\", \"port\": 9050, \"user\": \"$PROXY_USER\", \"pass\": \"$PROXY_PASS\"}"
  2. Save it

    In Proxies, paste one or many in URL form. The password is sealed in an encrypted store when you save it and is not shown again.

    Paste into Proxiessocks5://user:[email protected]:9050 socks5://203.0.113.78:9050
  3. Keep DNS at the proxy

    Destination DNS is Remote (proxy resolver) by default. Switch a proxy to Local only if the proxy cannot resolve names: local DNS shows the sites you visit to this computer’s resolver.

  4. Assign it

    Pick it for a profile in the drawer, or with the CLI.

    Shellbrowz update "Research – London" --proxy "London socks5"

Example

Add a SOCKS5 proxy from Python, DNS explicit.

pass is a Python keyword, so it goes in as a dictionary entry.

socks5.pyimport os from browz import Browz from browz.agents import local_credentials host, token = local_credentials() browz = Browz(token=token, host=host) proxy = browz.proxies.create(name="London socks5", scheme="socks5", host="203.0.113.77", port=9050, user=os.environ["PROXY_USER"], dnsMode="remote-at-proxy", **{"pass": os.environ["PROXY_PASS"]}) print(proxy["id"])

Good to know

Notes and tips.

  • SOCKS4 takes a user ID only, no password. Use SOCKS5 when your provider gives you both.
  • A wrong username or password shows as “socks5 authentication rejected” in the check: re-enter both.
  • Leave a profile’s timezone, language and WebRTC on automatic: Browz sets them from where the proxy really exits, measured at each check, so the profile does not contradict its own address.
  • Bring proxies from any provider: Browz supports HTTP, HTTPS, SOCKS4, SOCKS5 and SSH.
  • A profile whose proxy fails its exit check is refused at Start. It never falls back to your own connection.
  • A proxy changes where a profile connects from, not what a site allows. Use each site only as its terms allow; our acceptable use policy applies whatever the exit.

FAQ

SOCKS5 proxies and Browz.

Does Browz support socks5h?

Browz resolves names at the proxy by default for every SOCKS5 proxy, which is what socks5h means elsewhere. Save it as socks5.

Can I use a SOCKS5 proxy without a password?

Yes, if the proxy allows it: leave both username and password empty.

Does WebRTC go through the SOCKS5 proxy?

With WebRTC on automatic, Browz derives it from the proxy so no local address is exposed. Only the “real” setting shows your own IP.

Get started

Download Browz. Every task, its own browser.

Then, on macOS or Linux, put the MCP server on your PATHcurl -fsSL https://gobrowz.com/agents/install.sh | sh

For Mac, Windows and Linux. Free for 5 profiles. Paid plans from $4.99 a month, with a 14-day refund on your first payment.