跳到主要内容

本页面暂无您所用语言的版本,您正在阅读英文原文。

Blog

How to choose an antidetect browser: nine checks in an hour

Every seller promises the same three things: a fingerprint, isolation, a proxy. You cannot test a single one of those words before you pay, but you can test the browser they handed you for the trial. You read nine of its answers in an ordinary developer console and set them beside your own machine within an hour.

ARMANOS 团队7 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. 1

    Two profiles

    Create profiles that declare two different systems.

  2. 2

    Your own window

    Open your everyday browser as a third window.

  3. 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 forWhat gives a fake away
The six generic font familiesserif, cursive, fantasy and math come back one width
WebGL pixels read whole and in windowstwo reading routes over one drawing give different bytes
Timezone, language, calendar, separatorsthe zone comes from the proxy, the separators from your system
The number of microphones, cameras, speakersin every profile it is your own
Speech synthesis voicesyour system voices under a foreign declared system
Speed, latency and connection typethe same numbers your everyday browser reports
The heap limit given to page scriptsa number off the steps, or off the declared memory
WebGPU beside a named video cardthe card is named and navigator.gpu is missing
Three connection fields on a phone profilethe 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.

FamilymacOS profile on a MacWindows profile on a Mac
serif840.66840.66
cursive842.34840.66
fantasy742.05840.66
math894.11840.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.