Your VPN exit doesn’t match your clock
The address is rarely the problem on its own. The problem is that it disagrees with everything else your browser says about you — and disagreement is the cheapest thing in the world for a bot check to notice.
If the captchas started the day you turned the VPN on, the fix is almost certainly one dropdown: pick a server in the country your computer's clock is set to. Nothing else about your setup has to change, and you keep the encrypted tunnel you turned it on for.
Here is why that single change does so much work. A bot check sees two halves of you. The network half is where your request came out: a country, a network operator, an autonomous system number. The browser half is what your browser volunteers about itself: a time zone from your operating system, a list of preferred languages, a currency and date format derived from both.
Neither half is suspicious by itself. Millions of people browse from Frankfurt. Millions of people have their clock set to Chicago. What almost nobody does by accident is both at once, on the same request, at the same second — and that is what a VPN produces the moment you connect to a server outside your own country.
Why this specific comparison, and not a harder one
Vendors reach for this check because it costs them nothing. The exit country arrives with the request; they already have it for routing and abuse purposes. The time zone arrives in the first line of the challenge script. Comparing two strings is not work. Compare that against, say, rendering a canvas scene and hashing it — which needs your browser to cooperate, takes real milliseconds, and can be spoofed by anything that can patch a function.
So the geography comparison sits early in almost every challenge, and a mismatch pushes you below the threshold before any of the interesting signals are even read.
How do I tell which half is wrong?
You need three facts and none of them require a tool. They take about a minute in total.
- What country your clock is set to. On Windows: Settings → Time & language → Date & time, and read the time-zone line. On macOS: System Settings → General → Date & Time. On Linux the desktop's clock settings will say. Write down the country, not the city.
- What country your VPN is exiting in. Read it in the VPN's own app, on the connection you currently have open — not from a website. The app is the only thing that knows for certain, and it is also the thing you are about to change.
- What languages your browser asks for. Chrome: Settings → Languages. Firefox: Settings → General → Language. Safari inherits the system list. The first entry is the one that matters, because that is the one sent with every request.
If all three name the same country, this row is not yours and something else is producing the challenges — most often the address itself, which is a shared exit address and a separate page. If any one of the three disagrees with the other two, that is the one to move.
Which half to move
There are only two answers and they are both a minute's work.
If you use the VPN for privacy rather than for a specific country, move the exit: pick a server in the country your computer's clock is set to. You keep the encrypted tunnel and the address that is not yours, and you lose the contradiction. This is the answer for almost everybody.
If you need the exit country — because you are travelling and want your home country's catalogue, or because your employer routes you through one — move the browser instead. Set your operating system's time zone to the exit country and add that country's locale to your language list. The point is not which one is true; the point is that a check reads one consistent story rather than two inconsistent ones.
The VPN settings that matter besides the country
Four options in a typical VPN app change what a site reads about you, and three of them are on by default in at least one popular product.
- Fastest server / auto-connect. This is the one that catches people out. Your VPN silently re-picks the nearest fast exit — which is frequently in a neighbouring country — every time your connection drops. You set it to your own country in the morning and it is somewhere else by the afternoon. Pin the country instead of letting it choose.
- Multi-hop or double VPN. Your traffic leaves through the second country, not the first. Whatever the app shows as “connected to” may not be the exit the site sees. If you use multi-hop, the exit country is the last hop.
- Split tunnelling. Some of your traffic goes through the tunnel and some does not. That is fine for a bot check as long as the browser is consistently on one side of it. What is not fine is having the browser tunnelled while a helper process on the same machine is not.
- The VPN's own DNS. If the tunnel carries your traffic but your name lookups go out over your ordinary connection, some sites can see the difference. Most apps have a “use VPN DNS” or “DNS leak protection” toggle; leaving it on removes one more disagreement.
Why does turning the VPN off fix it instantly?
Because it removes both halves of the problem at once and you cannot tell which half did the work. Off, your address is your household's, published as a residential connection by your provider, and it is in the same country as your clock. Two rows clear simultaneously.
That is exactly why “it works with the VPN off” is not a diagnosis. Moving the exit to your own country keeps the tunnel and clears one row; if the challenges continue after that, the remaining one is address reputation and no browser setting touches it.
What about the VPN my employer makes me use?
A corporate VPN produces the same contradiction and you have less room to act on it. Your laptop's clock is set to where you live; your traffic comes out of a data centre wherever the company's gateway is; and that gateway is frequently published as a business or hosting network rather than a household one.
There are two honest options and neither is a browser setting. Ask whoever runs the network whether the site you need can be excluded from the tunnel — most corporate VPNs support per-destination exclusions and the request is routine. Or do the one thing you need on a personal connection. Your reading will mark this row as belonging to the network rather than to you, so you are not left changing settings that cannot help.
What this does not fix
Moving the exit fixes the contradiction. It does not change the fact that a commercial VPN's address is shared by a large number of strangers, and is published as belonging to a hosting network rather than to a household. That is a separate row with a separate fix, and on most readings taken through a VPN both rows are present at once.
Nor does it help if something inside the browser is rewriting your time zone. A privacy extension that forces UTC, or a browser in its strictest anti-fingerprinting mode, will report a clock that matches neither your VPN nor your country — which is the privacy-hardening row and has its own trade to weigh.
VPN exit country
Your connection comes out in one country and your clock says another.
- Switch your VPN to a server in the country your computer's clock is set to.
- If you need that exit country, change your system time zone and language region to match it — the point is that the two agree.
- If your workplace routes your traffic through another region, this is not yours to fix; the checklist on this page says so on the row.
A row's place on your reading is one multiplication, and both halves of it are published. Neither half is a measurement.
- Surprisal −log₂ of an assumed probability of 0.0600 for “exit country differs from the browser's time-zone country”
- 4.06 bits
- Challenge weight Exit country disagrees with clock or language — how much a bot check is judged to act on it
- 0.80
- Rank The product. It orders the rows and nothing else.
- 3.25
Why that assumption
Most people browse from the country their clock is set to. This covers VPN users, corporate egress through another region, travellers who have not changed their system time zone, and satellite or carrier routing.
Why that weight
Vendors compare the request's egress country against the browser's own declared time zone and language because the comparison is cheap, server-side, and hard to fake from the page. It is also the single most common thing an ordinary VPN user trips.
Every assumption, with its number → · Every weight, and what is deliberately not measured →
- The captcha comes back You solve it, the page reloads, and the same captcha is there again. Sometimes twice, sometimes forever.
- “Verify you are human”, again You tick the box, it accepts, and the next page asks you to do it again. Nothing you do makes it stop.
- Only when the VPN is on Turn the VPN off and everything works. Turn it back on and the challenges return within a page or two.
- Everyone on this network gets it It is not just you. The office, the campus, the hotel — everybody on the same connection is being challenged.
Questions about the “VPN exit country” row
- Why does a website think I’m a bot when my VPN is on?
- Because two things it can read for free stopped agreeing. Your traffic arrives from one country and your browser announces a clock and a language belonging to another, and no ordinary browsing session produces that combination by accident. The site is not detecting the VPN as such; it is detecting the contradiction the VPN creates.
- Will changing my VPN server to my own country stop the captchas?
- It removes the contradiction, which is the single largest thing you control here, and for a lot of people that is the end of it. What it cannot remove is the address itself: a popular VPN exit is shared by a great many people and is published as a hosting network rather than a household. If the challenges continue after you have moved the exit, that remaining piece is the reason.
- Should I change my computer’s time zone to match my VPN instead?
- Only if you actually need the foreign exit — for a home-country service while travelling, for instance. It works, because the check compares the two rather than caring which is true. But it also means every calendar invite, alarm and timestamp on the machine is now in the wrong zone, which is a real daily cost for a fix that a dropdown in the VPN app would also have made.
- Is it the VPN or my ad blocker causing this?
- They fail differently and you can tell them apart. The VPN contradiction is scored before the page renders, so you get challenged immediately and consistently, on every site with a check. A blocker breaks things inside the page, so you tend to get further and then stall — a captcha that will not submit, an interstitial that hangs. Run the reading on the home page and both appear as separate rows with your own values on them.
- Do paid VPNs get challenged less than free ones?
- Nothing on this site measures that and no honest page can tell you it does. What can be said mechanically is that the contradiction is identical either way — a paid exit in the wrong country disagrees with your clock exactly as loudly as a free one — and that exit addresses carrying more traffic accumulate more of other people’s behaviour. Neither of those is a claim about any particular product.
READ AT PRIOR TABLE ED. 1.0.0 · 2026-10-13 · ASSUMED, NOT MEASURED
The rank is taken against 15 written assumptions about how common each value is and 16 written weights about how much each one matters. 9 of them we think are probably wrong. Real counts from the browsers these sites have read appear beside a row, never inside its rank. Read the assumptions →
The rows you cannot fix from a settings page
A VPN you need for work, an address your ISP shares with a thousand other subscribers, a laptop with no graphics chip, a hardened profile that breaks the sites it was meant to protect — none of these have a checkbox. What is left is to present a reading that is internally consistent and ordinary on purpose, instead of one that is accidentally strange.
Donut Browser does that at the engine level: its Wayfern Chromium fork applies the fingerprint through CDP injection rather than patching JavaScript in the page, and it refuses to launch a profile whose proxy exit country, time zone and language contradict the profile's own fingerprint — which is the top row of most readings on this site. It is AGPL-3.0, it has no telemetry of any kind, and it runs on macOS, Windows and Linux.
Stated plainly: this site has no test results showing what any particular anti-bot service does with any particular browser, and neither does Donut Browser's own repository. What can be checked is the source, which is public.
Free · AGPL-3.0 · github.com/zhom/donutbrowser