Comparison
The address and what follows it
What an exit address decides
An exit address is not one answer. A site reads the address, the country looked up from it, and the time and language the browser volunteers on its own.
An address with no clock and no language behind it is worse than no address at all. A German exit that reports Tokyo time describes a person nobody has met.
The address
Where the connection comes out, and the only part a proxy changes.
The country read from it
Looked up from public registries, without anyone asking you.
The clock
The time zone the browser reports, compared against that country.
The language list
What the browser asks pages for, sent on every request.
Eight ways on one axis
Rows are the approaches, columns the questions this axis asks. A dash means the approach does not do that thing, not that it does it badly.
The last row is ours. Every cell in it comes from the launch path, and the files behind it are named at the bottom.
| How the exit is set | Reach of one setting | Clock and language follow | Separate exits at once | |
|---|---|---|---|---|
| Ordinary browser, as it is | Through the system settings | Every tab at once | – | One |
| Incognito window | Whatever the browser around it uses | Every tab at once | – | One |
| Browser profiles or containers | Shared with the browser around them | Every tab at once | – | One |
| Spoofing extension | Through the browser's own proxy setting | Every tab at once | Declared in the page, after the start | One |
| VPN | One tunnel for the machine | Every application on the machine | – | One at a time |
| Virtual machine per account | Set inside the guest system | That guest system | By hand, inside the guest | One per machine you run |
| Separate device per account | Its own line or SIM | That device | By hand, on the device | One per device |
| Browser with the engine patched | A proxy attached to the profile | That profile alone | For countries in its list | One per open profile |
How the country is found
The app asks geolocation services through the proxy being measured rather than from your own connection. Asking any other way would measure the wrong machine.
The services are asked in turn and the first answer that parses is taken. That is a first answer rather than an agreed one, and it decides the clock.
Through the proxy
The request leaves by the route the profile is about to use.
Over an encrypted connection
A plain request could be rewritten on the way and name a false country.
Several services
One busy service answering with a refusal must not decide an identity.
Remembered once
The answer is kept on the profile and reused until the address changes.
One rule for every scheme
The proxy reaches the browser as one address, not as a rule for one kind of traffic. A rule written for plain traffic leaves secure traffic going out directly, and that is nearly all of it.
A proxy that is configured but cannot become a usable rule stops the launch. Leaving through your own address while the screen says otherwise is what this product exists to prevent.
One line, every scheme
The same address applies to plain and to secure traffic.
No password on the command line
Credentials travel through a bridge on this machine instead.
No side route around it
Direct peer connections outside the proxy are switched off at launch.
An exit over your own server
A tunnel is raised first, and a tunnel that fails ends in a refusal.
What the clock is built from
The country becomes a time zone and a list of languages from one table, and the first language in it is the one the browser names as its own. Both travel with the profile, in what a page reads and in the headers it never sees.
A few large countries keep a short list of zones of their own, and for those the zone is drawn from the profile's own seed. A hundred profiles on American addresses would otherwise share one clock and link themselves by it.
When the country stays unknown
A proxy whose country cannot be read leaves the profile without a matching clock, and the app says so instead of starting quietly. The country is not remembered and the next launch asks again. A country the table does not cover is the quieter case: no warning is raised, and the clock stays the one the fingerprint drew.
What this comparison does not claim
- It does not claim that an exit address hides who you are. It moves where the connection appears to come from, and what you type and post stays yours.
- It does not come with addresses. Until you attach a proxy, a profile leaves through your own connection.
- It does not claim the clock follows the city or covers every country. The zone comes from the country, and outside the app's own table the profile keeps the clock its fingerprint drew.
- It does not claim the country can never be wrong. It comes from outside services, and a service that answers wrongly makes the clock wrong too.
- It does not measure other tools. The rows say what each kind of approach can do by its nature, and only the last row comes from code we can open.
How to check
Each line names the file that decides the behaviour and, where there is one, the stand that fails the build when it stops being true.
- The exit country is asked through the proxy itself, encrypted, services in turn
- apps/desktop/src/lib/exitGeo.js · apps/desktop/test/exit-geo.js
- One proxy rule covers every scheme, plain and secure alike
- apps/desktop/src/main/main.js · apps/desktop/test/proxy-covers-https.js
- The clock and the language list are built from the exit country
- packages/shared/src/index.js · apps/desktop/test/fingerprint-card-matches.js
- An exit over your own server raises a tunnel first, and a failed tunnel refuses the launch
- apps/desktop/src/lib/sshTunnel.js · apps/desktop/test/выход-по-ssh.js
Questions
- Why ask the country through the proxy instead of from a server?
- Because the question is what the world sees at the far end of that route. A server of ours would report the country of our own machine.
- What happens when two services disagree?
- They are asked in turn and the first answer that parses wins, so the later ones are never asked. An answer with no country in it is discarded.
- Does the proxy cover secure traffic as well?
- Yes. The address goes to the browser as one rule covering every scheme, and the stand builds that rule with the launch code rather than reading a setting.
- Does my whole machine go through it?
- No. Only that profile takes that route, so your mail client and your other windows keep your own connection. For the whole machine, that is what a VPN is for.
Read next
Storage and isolation
The other axis: where the session lives and what is really separated.
Choosing an exit address
Which kind of address suits which kind of account.
A proxy per profile
Protocols, the password bridge, rotation and the exit check.
Timezone spoofing
What a site compares the clock against, and how it notices.
VPN and proxy
Two tools with different reach, told apart.
What your browser reveals about its route
The leak check reads what leaves your browser past the proxy and sends nothing anywhere.