Esta página aún no está en su idioma. Está leyendo el texto en inglés.
Blog
How to choose an antidetect browser: nine checks in an hour
El equipo de ARMANOS7 min
What you can actually test before paying
A promise on a landing page is beyond your reach, and a browser answer is not: a platform reads it with the same lines you do.
Those answers get changed along one of two roads: inside the build itself, or by a script laid over a stock Chrome. The second road shows from the outside, and that is what the nine checks below catch.
None of them needs an account on a platform or a purchase. A trial profile, your everyday browser and a console are the whole kit.
- 1
Two profiles
Create profiles that declare two different systems.
- 2
Your own window
Open your everyday browser as a third window.
- 3
One comparison
Whatever matches across all three came from your machine.
Nine checks and what each one catches
Each line below asks the browser for one value and sets it beside a second value that you already know.
| What you ask for | What gives a fake away |
|---|---|
| The six generic font families | serif, cursive, fantasy and math come back one width |
| WebGL pixels read whole and in windows | two reading routes over one drawing give different bytes |
| Timezone, language, calendar, separators | the zone comes from the proxy, the separators from your system |
| The number of microphones, cameras, speakers | in every profile it is your own |
| Speech synthesis voices | your system voices under a foreign declared system |
| Speed, latency and connection type | the same numbers your everyday browser reports |
| The heap limit given to page scripts | a number off the steps, or off the declared memory |
| WebGPU beside a named video card | the card is named and navigator.gpu is missing |
| Three connection fields on a phone profile | the fields are absent, or type answers wifi |
Fonts: six families, one measurement
A page may ask not for a font name but for a family: serif, sans-serif, monospace, cursive, fantasy and math. A live machine resolves all six into different fonts and returns a different line width for each.
Measured on 18 August on a Mac. A profile of the machine's own system answered with four different widths, and a profile of a foreign system returned all four as one and the same number.
| Family | macOS profile on a Mac | Windows profile on a Mac |
|---|---|---|
| serif | 840.66 | 840.66 |
| cursive | 842.34 | 840.66 |
| fantasy | 742.05 | 840.66 |
| math | 894.11 | 840.66 |
Memory answers in steps, not bytes
Chromium never tells a platform's scripts the exact heap limit: the answer lands on one of a hundred steps, from 10 million to 3.76 billion bytes.
Read that number in the trial profile and in your everyday browser. A number between the steps, or one exactly equal to your real memory, means nobody was substituting anything here.
The same number also has to agree with the memory the profile declares beside it. A profile that names a modest memory and hands out a generous heap ceiling is two answers from two different machines.
A named card with no WebGPU
The name of the video card is declared by the profile, while the state of the card is reported by your machine, and those two answers arrive from different places.
On a rented Windows server with no card, a measurement on 4 September returned webgl and webgpu in state disabled_off, and navigator.gpu appeared in none of six runs. The name of an expensive card beside that answer is a pair that does not occur.
A phone profile and three connection fields
Android hands a page three connection fields: type, downlinkMax and ontypechange. Desktop Chrome hands over none of them, which makes this the fastest test of a phone profile.
If the fields are there, ask for their values. Your own machine shows through at once: type reads wifi and downlinkMax reads infinity, while the profile declares a cellular connection.
A green extension badge proves nothing
A blocker's card shows “enabled” and “files found”, and its rule may still do nothing at all.
Measured with one and the same extension carrying one blocking rule: on one build the forbidden request reached the server, on another it did not. Load a blocker into the trial profile and watch whether the block ever reaches the network.
The same goes for any other extension you were promised. Load it, use it once, and judge by the result rather than by the green badge on the card.
A tenth check: frame and worker
A page asks for the number of cores and the platform name not only from its own window: it asks the same question inside an invisible frame and in a separate worker. A script laid over stock Chrome reaches the window and often fails to reach those two.
Open the developer window in the trial profile and ask the window for its core count, then create a worker and ask it the same. Two different numbers out of one profile are an answer about the vendor, not about your machine.
This row did not make the table of nine because it takes three lines of code rather than one. In return it separates substitution inside the build from substitution on top of it better than any other.
The same profile answers the same tomorrow
An eleventh question is not about substitution but about constancy: close the trial profile, open it tomorrow and read the same rows. A real machine answers the same way day after day, and a profile has to behave the same.
Here a profile's answers are derived from its seed, so yesterday's canvas, fonts and memory match today's to the byte, while a second profile differs. A vendor whose fingerprint changes from launch to launch sells you a new machine at every login.
Fitting nine checks into one hour
The long part is not reading the answers, it is creating the profiles and wiring the proxies. The nine lines themselves run down the table in a few minutes.
A sensible order: fonts and memory first, then the video card, then the connection. The first two disagree more often than the rest and cost you one line each.
What to do with the answers
Nine answers split sellers into two halves: some change the values inside the build, others lay a script over a stock Chrome.
The difference shows in whether a profile answer matches your machine answer. The choice is yours, and you now make it before paying rather than after the first ban.
What this does not claim
- It does not claim that nine matching answers make an account safe. Behaviour, payment details and the history of the account stay untouched by any browser.
- The video card numbers were taken on one rented Windows server with no card. A desktop machine with a card answers differently, and the shape of the answer carries over, not the numbers.
- The font widths were measured on a Mac. Another system gives other numbers and the same rule: four families at one width describe a machine that does not exist.
- These checks were not written for one browser: run them on ARMANOS too. None of them tells you how a platform will behave tomorrow.
Where you can see this yourself
Every number above comes out of a file you can open and read.
- Nine engine capabilities and the sign of each
- packages/shared/src/index.js · apps/desktop/test/опись-умений-снимается.js
- Six generic families and the rule of choice
- apps/desktop/src/lib/genericFonts.js · apps/desktop/test/generic-fonts.js
- A hundred memory steps checked against the engine
- docs/замеры/ступени-памяти-153.txt · packages/shared/test/ступени-памяти-как-у-движка.js
- Card state and six WebGPU attempts
- docs/замеры/gpu-status-windows-04-09.log · docs/замеры/webgpu-windows-04-09.log
- Three phone connection fields in a real browser
- apps/desktop/test/телефон-живьём.js · apps/desktop/test/поля-связи-телефона.js
- One blocking rule on two engines
- apps/desktop/test/extension-limits-honest.js
Questions
- Do I need to know how to code for this?
- No. Each check is one line in a developer console and an answer you read with your eyes.
- Is a trial period enough?
- It is enough if it lets you create two profiles with different systems. One profile will not do: half of the checks are a comparison of windows.
- What if there is no trial at all?
- Then you are paying for something that cannot be tested. That on its own answers the question of choice.
- Can I just use a ready fingerprint check site?
- Partly. Such a site shows the values but does not set them beside your machine, and the comparison is what catches a substitution.
- Which of the nine matters most?
- Fonts and the heap limit. They read cheaper than the rest and disagree more often than the rest.
Start with your own browser answers
The check reads 12 values and sends nothing anywhere.