Lumaktaw sa nilalaman

Wala pa ang pahinang ito sa inyong wika. Binabasa ninyo ang tekstong Ingles.

Network

The connection check before work

Before you open an account you want to know what this computer looks like from outside. One window measures five things: the address you leave from, how fast the line answers, whether names resolve, whether the clock agrees with the address, and whether WebRTC hands out anything at all.
This computer's own connection
What it measures
Address, latency, names, clock, WebRTC
Rows in the window
Never
Through a profile proxy
400 ms
Warn from

Where the check lives

The address chip in the top bar carries the address this computer leaves from, and it is asked once when the app opens. Only Refresh asks again: nothing re-asks on its own, so a changed address shows up when you ask for it.

The moment to run the sweep is a line that moved: a new office, a hotel network, or a computer that suddenly answers slowly.

  1. 1

    Open the address chip

    It sits in the top bar above the profile list and shows the address this machine leaves from.

  2. 2

    Press Run diagnostics

    The button is at the foot of that panel, and the window opens with the sweep already running.

  3. 3

    Read the statuses

    Every row ends in one of four words: Pass, Warn, Fail or Info.

  4. 4

    Run it again after a change

    Re-run repeats the whole sweep, so a changed network is measured rather than remembered.

What the address panel shows

Six fields sit in the panel: the address, the country with its code, the city, the provider, the network number and the time zone.

A field the source did not give is not shown at all, so a row here is either a real value or missing. The country is taken only when it arrives as a two-letter code, because the same reader also decides a profile's clock.

Four sources are asked over TLS, one after another, until one answers with a country. These services are free and therefore rate limited, so each extra source is an independent quota.

When nothing answered at all, the panel says so rather than leaving yesterday's address on screen.

What each row measures

Every row is a reading taken at the moment you pressed, and each one carries its own status.

The address, latency and name rows need the network. The clock row reuses the address already fetched, and the WebRTC reading never leaves this machine.

RowWhat it measuresWhen it is not green
Public address and locationThe address this computer leaves from, asked over TLSFails when no source answers
LatencyTime to the first answer, one row for each of two hostsWarns from 400 ms, fails on silence
Name resolutionOne name put through this computer's own resolverFails when the name does not resolve
System time zoneThe machine zone against the zone of its addressWarns when the two disagree
WebRTCCandidates from a hidden window of the app under that policyFails when a real address appears

It measures this computer

The sweep goes out on the app's own connection. No profile proxy is put in front of it, and that is the point: the address row is worth reading only while it is your real one.

So a green sweep tells you the machine under your profiles is sane, and that is worth knowing before you blame a proxy. It tells you nothing about the profile you are about to open.

One machine, not one profile

This window and the Test button on a proxy row answer different questions. The window describes the line this computer sits on, and Test describes one bought address.

The WebRTC row is a reading

The wording of the row never changes; what is measured is its verdict, so the day the policy stops applying in that window the row turns instead of reading the same.

A hidden window of the app itself is opened with the WebRTC setting a profile window gets, and it is asked for its candidate addresses. A profile on an ARMANOS Browser build takes that setting on its own command line, in its own process, so this row reads this machine and not that build. Nothing goes outward: with no server in the list only the machine's own candidates appear, and those are the ones that leak.

An address the browser has replaced with a made-up name ending in .local is the protection working, so it is not counted. The window is destroyed as soon as the reading ends.

Not measured is not passed

Pass, Warn and Fail are results. Info is not one: it means the reading did not happen.

A reading that could not be taken is worse than useless when it is drawn like a passed one. So rows that were never measured sit under a heading of their own, below the results.

The clock row goes there when either zone is missing: the address lookup failed, or this machine did not name its own zone. The same rule holds when the WebRTC reading itself could not run.

Where a profile's verdict lives

Each profile opens on its own first page, and that page compares the address it came out of with your real one. Equal addresses on a profile that has a proxy mean it is not working, and the page says so in red.

That comparison needs your real address, which the app learns outside any profile proxy and keeps for an hour. When it could not be learned there is no verdict at all.

A single proxy is measured by Test on its library row, which takes the same road a launch takes.

What this does not do

  • It is not a check of your profiles. The sweep leaves on the app's own connection with no profile proxy in front of it, so every row describes this computer.
  • It cannot say where a name was answered. The row tells you a name resolved, and proving where needs a server on the other side of the question.
  • A red WebRTC row tells you a real address appeared, not which address it was. The addresses the reading collected stay inside it.
  • Every row green is not a safe account. A leak is one of the ways accounts get tied together, and the rest are not on this screen.

How to check

Every claim above sits in one file, and a stand holds the readings that break quietly.

Five measurements on the app's own connection, WebRTC among them
apps/desktop/src/main/main.js
A home address in the candidates is called a leak, and a hidden one is not
apps/desktop/src/main/main.js · apps/desktop/test/leak-verdict.js
No verdict at all when your own address is unknown
apps/desktop/src/start/start.html · apps/desktop/test/leak-verdict.js
The address and location come from four sources over TLS, tried in turn
apps/desktop/src/lib/exitGeo.js · apps/desktop/test/exit-geo.js
A row that was not measured is drawn under its own heading
apps/desktop/src/manager/renderer.js

Questions

Does this check the profile I am about to open?
No. It measures this computer's connection, and the verdict for one profile is printed on that profile's own first page.
Why does a row say Info instead of Pass?
Because it was not measured. Those rows sit under Notes rather than among the results, so a reading that never ran cannot be mistaken for one that passed.
What does the clock row compare?
The time zone of this machine against the zone that belongs to its public address. With either zone unknown there is no verdict.
Does the sweep go out through a proxy?
No, it uses the app's own connection, which is what makes the address row your real address. A bought proxy is measured by Test on its library row.
Does the WebRTC reading send anything out?
No. A hidden window with an empty server list collects only its own candidates, which are the addresses a site would be handed.

See what your connection says

Install ARMANOS, open the address chip in the top bar and run the check.