Use case

Proxies for Camofox: the proxy is also the location switch

Set a proxy on the Camofox browser server v1.16.0: the two strategies, the username trap, and what happens when the location lookup runs long.

HProxy Team··Updated September 20, 2026·7 min read
HProxy.Use case

Free proxies won't hold up here.

Shared datacenter IPs get flagged and dropped fast. When it has to hold, gaming, streaming, accounts, you need mobile and residential IPs that read as a real device, from $0.44/GB, pay as you go.

Proxies for AI Agents

Camofox is the Camoufox browser wrapped in a REST server, so an agent can drive it over HTTP. That changes where the proxy goes: not into a launch call in your code, but into the server's environment. It also changes what a proxy means here, because in this server adding one is what switches the location matching on. We read release 1.16.0, published on 14 September 2026, and its issue tracker.

One clarification first, because the names differ by a letter. This page is about the server, jo-inc/camofox-browser. The browser underneath is Camoufox, and it has its own settings and its own page.

The settings

# one endpoint
export PROXY_HOST=GATEWAY_HOST
export PROXY_PORT=GATEWAY_PORT
export PROXY_USERNAME=USER
export PROXY_PASSWORD=PASS

# or a gateway with sessions
export PROXY_STRATEGY=backconnect
export PROXY_BACKCONNECT_HOST=GATEWAY_HOST
export PROXY_BACKCONNECT_PORT=GATEWAY_PORT
export PROXY_PROVIDER=generic

PROXY_PROTOCOL takes http, https, socks4 or socks5, and defaults to plain HTTP. The SOCKS options are new: they were asked for in August 2026 and shipped in the September release, so an older install does not have them. There are also country and state settings for networks that take targeting in the username.

The two strategies are not equivalent

One endpointGateway
How the address changesnext port in your listnew session per launch
Rotates sessionsnoyes
Launch attempts15
Launch timeout60 seconds120 seconds

That difference in attempts matters more than it looks. On the gateway strategy each attempt asks for a brand new session, so an exit address that fails gets replaced on the next try. A port list gets one attempt, with the first port, and no second chance.

The username trap

Set the gateway strategy without naming a provider and the server builds your username in the format of one particular commercial proxy network, complete with that network's session and targeting syntax. On any other line that username is simply wrong, and the gateway will refuse it.

So name the provider. The generic one appends the session to the username you already have, which is what most gateways expect:

USER-sess-a1b2c3d4e5f6

If your line wants something else, the server has a registration hook for adding your own provider, so you can teach it a different username shape without forking it.

What a proxy switches on

The whole identity module is four lines. With a proxy the server grants the geolocation permission and steps back, letting the browser derive timezone, locale and coordinates from the exit address. Without a proxy it applies only what you configured, and it insists on a pair: set the locale and the timezone together or neither.

That pairing is recent, and it comes from a good bug report. Until the September release a session without a proxy reported a Los Angeles timezone, an American locale and San Francisco coordinates, no matter where the machine actually was. The reporter's words are the best summary of why this page exists: "the browser's reported location contradicts its own network origin. This is a strong automation signal and defeats the purpose of an anti-detection browser." The release that fixed it is called "Stop claiming a location you do not have".

The ten second cap

Here is the part that is not in any release note. The location step is wrapped in a ten second timeout. If it fails, or simply takes longer, the server does not stop and does not fail your request. It launches the browser again with the matching turned off, and writes one warning line.

Your session then runs behind your proxy, with the browser's own default identity. The exact mismatch the release was named for, arriving quietly through the back door.

How much room is ten seconds? The lookup asks public address services through your proxy. We requested all six of them from our own server: every one answered, the slowest in 0.223 seconds, and asking all six in sequence cost about 0.75 seconds. So on a healthy line there is plenty of room. The cap bites when requests hang instead of answering, which is exactly what a saturated or unstable line does to everything it carries.

Two practical habits follow. Watch the log for that warning rather than assuming the match happened. And treat lookup latency as a reason to care about line quality, not just about exit addresses.

Which proxy type fits it?

Residential, because the reason for this server is sites that refuse a hosting address. In our paired test a residential address changed 4 of 13 answers, while four sites refused both. The server changes what the browser looks like; only the line changes where it comes from.

Then match the strategy to the product. A sticky port fits the one endpoint mode: give the server a port list and each browser keeps its address. A gateway with sessions fits the backconnect mode, and gets you the five launch attempts, which is worth having when a bad exit can cost you the location match. Either way the address should hold for the life of that browser, because the matching happens once at launch. Write a retry anyway, since a sticky address can change early when its device leaves the network.

The residential proxies page lists the plans, and the plan API manages allowed addresses from code.

What breaks

  • The gateway rejects your username. The default provider format belongs to another network. Set the generic one.
  • The browser runs without the location match. The lookup overran ten seconds. Check the warning in the log and the health of the line.
  • A single endpoint fails to launch. That strategy gets one attempt. A gateway gets five.
  • Every request goes through one address. The address is picked when the browser launches. Choosing one per request is an open proposal, not a feature.
  • A navigation timeout took the whole session down. That was reported in August 2026 and narrowed to the case where a proxy can actually rotate.

What this page does not cover

We read the server and its release notes as text and did not run it, so we have not seen the fallback warning in a live log and did not time a launch. We did not test the SOCKS options against it. Our timing of the address services was made from our own server without a proxy, so through a proxy every one of those requests is slower: treat our numbers as the floor, not the expected time. The proxy surface here moved twice in the last month, so we will read it again at the next release, by 20 October 2026.

Where to go from here

Proxies for Camoufox covers the browser underneath, where the same location lookup is a Python argument and has its own traps. Proxies for CloakBrowser is the Chromium equivalent, with a different answer to the login. Proxies for Obscura is the engine that does no location matching at all and leaves the clock to you.

Sources

  • The proxy settings table and the identity settings (README.md). The two strategies, the session username and the provider hook (lib/proxy.js). The location switch, the ten second cap and the fallback, and the launch attempts (server.js). The identity module (lib/browser-identity.js). jo-inc/camofox-browser, release v1.16.0 of 14 September 2026, read 20 September 2026.
  • The release notes for v1.16.0, "Stop claiming a location you do not have".
  • Issue 10667 on the San Francisco identity, issue 9333 on SOCKS support, pull request 3660 on a proxy per request, issue 9820 on a navigation timeout. Camofox issue tracker, read 20 September 2026.
  • The address services the lookup uses (pythonlib/camoufox/utils.py). daijro/camoufox, release 0.5.6.
  • Our own measurement of 20 September 2026: two runs against all six address services from our server. Raw output is kept in the research folder of this page.
  • Our paired address test of 19 September 2026. Raw output is kept in the research folder of our OpenClaw page.
  • Plans, allowed addresses and sticky sessions. HProxy documentation, hproxy.com/docs, 20 September 2026.

Frequently asked questions

How do I set a proxy for Camofox?
Through environment variables. For one endpoint set PROXY_HOST, PROXY_PORT, PROXY_USERNAME and PROXY_PASSWORD. For a gateway set PROXY_STRATEGY=backconnect with PROXY_BACKCONNECT_HOST and PROXY_BACKCONNECT_PORT. PROXY_PROTOCOL takes http, https, socks4 or socks5.
Why is my gateway rejecting the username?
Because the gateway strategy builds the username in one particular commercial network's format by default. On any other line, set PROXY_PROVIDER to the generic provider, which simply appends the session to your username.
What does adding a proxy change besides the address?
It turns on the location matching. With a proxy the server hands identity to Camoufox, which derives timezone, locale and coordinates from the exit address. Without one it applies only the locale and timezone you set yourself.
What happens if the location lookup is slow?
The whole step is capped at ten seconds. If it overruns or fails, the browser is launched again with the matching turned off, and the only sign is a warning in the log.
Does a failed launch try a different address?
On the gateway strategy, yes: five attempts, each asking for a fresh session. A port list gets one attempt with the first port.

Proxies that don't die mid-job

Residential, ISP, datacenter and mobile, verified by the same engine that runs tens of millions of checks. They read as a real device and hold up under load. Pay as you go, and your balance never expires. $0.44/GB is the 2,000 GB+ rate; a single gigabyte is $0.50/GB, with no minimum order.

129M+ proxy checks run · 100+ countries · HTTP / HTTPS / SOCKS · re-checked every few minutes · no signup

HProxy.

Honest guides and comparisons on proxies, scraping and staying unblocked, from the team that runs the network.

RSS feed