Bu sayfa henüz sizin dilinizde yok. İngilizce metni okuyorsunuz.
Blog
Traffic goes around a configured proxy: where the line falls
ARMANOS ekibi7 min
What the green proxy check proves
You press Test, and a request goes through the proxy to an outside source that names the exit country. Four sources stand in the queue, and the asking stops at the first that answers. An answer means the host is alive, the password fitted and the country known.
Past that the dot promises nothing. The browser decides which connections go through the proxy, and it decides by the wording of the rule, not the colour.
- 1
The host answers
A request reached the proxy and came back.
- 2
The country is named
The exit address arrives from independent sources over a secure link.
- 3
Coverage is not promised
Which schemes go that way, green never says.
The line that sends https direct
The proxy address reaches the browser as one line of rule. Two wordings of that line exist, and the difference costs you all your real traffic.
A line like http=host:port means go through this proxy for http addresses only. Every https address then opens direct, from your home address, with no error shown.
| Measured on a live launch | What came out |
|---|---|
| Rule handed to the browser | http=127.0.0.1:64827 |
| Requests that went through it | one: GET http://example.com |
| Where https went | direct, unseen by the proxy |
| Same run after the rewording | http://127.0.0.1:64879 |
| What the proxy saw then | GET http://example.com and CONNECT example.com:443 |
One typo sends the profile direct
A space at the edge, a scheme in the field, a login in the address: the browser cannot read that line. It does not complain, it goes direct, and the profile reaches the network on your own address.
So a bad address is better met with a refusal. A profile that never opened costs less than one opened on a wrong address.
- 1
A space or a path inside
The browser cannot read that line and applies no proxy.
- 2
No connection kind chosen
The address you typed would vanish whole, password included.
- 3
The profile does not start
A refusal is honest where a direct exit is not.
Exit through your own server takes the same road
A profile's proxy can be your own server over SSH, and the browser knows nothing about it. A tunnel is raised beside the profile, and the browser receives a plain socks5 on a local address.
The lock on an unusable proxy knows about SSH separately: if a launch path forgets to raise the tunnel, it runs into the lock and is refused. Quietly going direct with such a proxy is impossible on any path.
So the exit through your own server has two conditions instead of one: the host name and the port have to parse, and the tunnel has to be up before the window opens. Miss either, and the profile does not start.
Video calls take their own route
Voice and video in a browser do not travel as ordinary requests. They open a direct connection between two machines, and it finds the shortest path by itself.
So a page with a call reads your home address while the rest goes through the proxy. One browser setting closes that, forbidding the connection to leave around it.
How the call is closed on our side
In the default WebRTC mode the program gives a profile with a proxy a rule for direct connections: no UDP without the proxy. ARMANOS Browser gets it on its launch line and the built-in engine on the profile window, and the page with the call cannot see it; all it sees is the absence of your home address among the candidates.
The rule follows the profile's WebRTC mode. Real leaves it off on purpose, and an extension with the privacy permission can override it; the profile window names such an extension, and Test fingerprint measures with the profile's extensions.
Network diagnostics (Network > Run diagnostics, the WebRTC leak protection row) starts the engine your profiles open with, on a test profile behind a stand-in proxy, and asks for candidates from a STUN server on this computer's local network address: a request that reaches that server went past the proxy. Candidates are parsed line by line, and an address ending in «.local» is not counted as a leak: the browser substitutes it for the home address on its own.
When the measurement fails, the row says so: «Could not be measured». That answer and «No leak: the test request did not go past the proxy» are two different answers, and it does not pass off the first as the second. On a leak the row says the request went straight from this computer, or names the addresses that went around the proxy.
Your home city comes from elsewhere
The clock, the languages and the fonts are read straight off the browser, not the request header. They are produced on your machine and never pass through a proxy.
For them to agree with the address, the exit country has to be learned first. The profile asks for it the way it will go later, over a secure connection.
| What the site reads off you | Where it comes from |
|---|---|
| The address in the request | from the proxy |
| The timezone name | from the profile, by exit country |
| The language list | from the profile, by exit country |
| The direct call connection | from your machine, until forbidden |
| The phone connection fields | from the profile engine |
No verdict without your own real address
A profile opens the ARMANOS start page, and the exit address sits on it: the one the site will see. A verdict beside it compares that address with your real one.
Addresses that match mean the proxy dropped and work has to stop. When your own real address is unknown, no verdict appears: an invented all good is worse than a blank.
- 1
The addresses differ
The proxy works, and the site is not seeing you.
- 2
The addresses match
The proxy dropped, and the site sees the real you.
- 3
Your own address is unknown
No verdict: a guess here is worse than a blank.
Three connection fields mark a phone
An Android handset hands a page three connection fields a desktop lacks. A site reads them in one line, and a profile without them answers like a desktop.
They have to appear as three, and with values of their own. A host wifi and a host infinity there give a phone profile away as loudly as their absence.
Where the three connection fields come from
A phone profile does not draw its connection kind by lot but derives it from latency by the browser's own thresholds: from 2010 ms it is slow-2g, from 1420 it is 2g, from 272 it is 3g, below that 4g. The pair «4g at 300 ms latency» does not occur in a real browser, and it will not occur here either.
The bandwidth ceiling comes from the same table the browser uses: 100 for LTE, and 11, 54 or 600 for Wi-Fi. Two rules hold the three fields together: the ceiling is never below the reported speed, and the subtype matches its kind.
A desktop profile gets none of these fields, and that is no omission: a real browser on a desktop has none of them either. An empty field is more honest here than a plausible one.
How to check this yourself in minutes
Open the profile and read the exit address on its start page. Then open any outside page about your address: the country has to be the same.
Then check what travels outside ordinary requests: a call and the profile clock. One value out of line means the site sees the same gap.
- 1
Compare two addresses
The one on the profile's start page and one from outside.
- 2
Check the direct connection
A page with a call shows where that connection leaves.
- 3
Line up clock and language
Country by clock and language has to match the address.
What this does not claim
- It does not claim a proxy covers everything. It changes the address a request arrives from and leaves your behaviour, payment details and account history untouched.
- The run above used a fake proxy on the same machine, not a bought address. Its port numbers are incidental: what matters is where https went.
- The phone connection fields arrive only on a recent engine. On an older browser kernel the profile answers without them, which beats host values but stays visible.
- The dot beside a proxy in the profile list shows that a proxy is set and configured, not that it answers right now. It is recomputed on every draw of the row from the profile fields and remembers nothing about past requests.
Where you can see this yourself
Every number above comes out of code you can open and run.
- The proxy rule is built as one line and covers every scheme
- apps/desktop/src/main/main.js · apps/desktop/test/proxy-covers-https.js
- A bad address and a missing connection kind never reach a launch
- apps/desktop/src/manager/renderer.js · apps/desktop/test/proxy-covers-https.js
- Traffic from a profile with a proxy password goes through it in a real browser
- apps/desktop/test/прокси-с-паролем-живьём.js
- No verdict is given while your own real address is unknown
- apps/desktop/src/start/start.html · apps/desktop/test/leak-verdict.js
- The exit country is asked of four sources over a secure connection
- apps/desktop/src/lib/exitGeo.js · apps/desktop/test/exit-geo.js
- Three connection fields open only on an engine that supplies its own values
- packages/shared/src/index.js · apps/desktop/test/поля-связи-телефона.js
- In the default WebRTC mode a profile with a proxy sends no WebRTC request past it on either engine, measured with a STUN server on this computer
- apps/desktop/src/lib/forkEngine.js · apps/desktop/test/webrtc-строка-запуска-живьём.js · apps/desktop/test/webrtc-диагностика-живьём.js
Questions
- The proxy is green and the site still sees my city. Did the seller lie?
- Not necessarily: the address can work honestly while a connection the browser routes its own way slips around it.
- Why does https matter more than plain http here?
- Almost all real traffic today is https, so a rule covering http alone covers almost nothing.
- I typed an address with a space in front. What happens?
- Nothing happens: the window trims spaces at the edges before saving. The danger is a typo inside the address: such a line cannot be parsed, and a refusal there beats a quiet trip straight out.
- Do I have to switch calls off in a profile?
- No, the direct connection keeps working, it is simply forbidden to leave around the proxy.
- The start page showed no verdict. Is it broken?
- No, a verdict appears only when both addresses are known, and without your own real one there is nothing to compare.
- Can a profile sit on a SOCKS5 with a login and password?
- Yes, the password is filled in along the way and never reaches the browser command line.
Next to this
WebRTC leak
How a direct connection names your home address to a site.
Proxy authentication
How a login and password reach a proxy and where they never appear.
The address you leave through
How a site learns your country and what follows the address.
Free fingerprint check
12 values read in your browser, with nothing sent anywhere.
See what your own browser answers
The check reads 12 values and sends nothing anywhere.