Откройте консоль браузера и введите navigator.userAgent. Та строка, что сообщает, будто вы «Chrome 137 на Windows», — это просто текст, который выдаёт ваш браузер. Его можно изменить расширением примерно в два клика, а анти-детект браузеры переписывают его при каждом запросе. Так что для трекера ваш User-Agent — это утверждение, а не факт.
Дело в том, что прямо рядом с этим утверждением лежит факт. Каждая версия Chromium поставляется с определённым набором веб-функций, встроенных в движок. Вы можете переименовать этикетку на коробке, но не так-то просто изменить то, что действительно лежит внутри.
Виджет на этой странице делает именно это. Он полностью игнорирует ваш User-Agent и вычисляет вашу настоящую версию Chromium по функциям, которые браузер действительно поддерживает.
Как определение функций вычисляет вашу версию
Каждые несколько недель Google выпускает новую версию Chromium, и каждая включает горстку новых веб-функций. Здесь CSS-свойство, там JavaScript-API. Всё это публично задокументировано на Chrome Platform Status.
Это даёт нам временную шкалу для работы, и мы можем просто подниматься по ней, пока ваш браузер не перестанет поспевать:
- Chromium 144добавляет
Temporal APIваш браузер поддерживает это - Chromium 145добавляет
text-justifyваш браузер поддерживает это - Chromium 146добавляет
Iterator.concat()ваш браузер поддерживает это - Chromium 147 вы здесьдобавляет
contrast-color()ваш браузер поддерживает это - Chromium 148добавляет
revert-ruleв вашем браузере этого нет
Самое хитрое в том, что ничего из этого нельзя подделать редактированием строки. Либо 'variants' in Intl.Locale.prototype истинно в вашем движке, либо нет. Чтобы подделать сами функции, пришлось бы поставлять совершенно другую сборку браузера.
Почему всё это важно
Само по себе знание того, что у вас Chromium 137, — не велика беда. Как и у большей части интернета. Что действительно важно — так это то, сходится ли ваша история.
Обычный, нетронутый браузер согласован сам с собой: User-Agent Chrome 137 стоит поверх набора функций Chromium 137, потому что оба взяты из одной сборки. Но как только что-то подделывает только User-Agent — скажем, расширение для приватности, дешёвый прокси или неправильно настроенный инструмент автоматизации, — эти двое перестают совпадать. Попробуйте переключить тумблер ниже:
Это противоречие кричит громче, чем когда-либо кричал сам номер версии. Подделка одного сигнала при нетронутом движке может, наоборот, сделать вас проще для выделения из толпы, а не сложнее. Подробнее мы разбираем это в статьях как браузеры сравниваются по фингерпринтингу и странность Widevine DRM.
Что с этим делать на самом деле
- Держите браузер в актуальном состоянии. Старый движок — сам по себе отпечаток, да ещё и угроза безопасности вдобавок. Виджет подскажет, если ваша настоящая версия начинает отставать.
- Не подделывайте наполовину. Сменить User-Agent, оставив движок нетронутым, — хуже, чем не делать ничего, потому что так вы фабрикуете ровно то несовпадение, за которым охотятся трекеры.
- Согласуйте весь стек. Если вам действительно нужно вести несколько личностей — для проверки рекламы, маркетинговых исследований или управления множеством аккаунтов, — цель в том, чтобы получить браузер, где User-Agent, функции движка и любой другой сигнал рассказывают одну согласованную историю.
Последнее очень трудно провернуть вручную — именно поэтому и существуют анти-детект браузеры. Incogniton строит каждый профиль на реальной, согласованной базе Chromium, так что движок, который выдают ваши функции, действительно соответствует предъявляемой личности, а не спорит с ней.