Перейти к содержимому

Глоссарий

navigator.languages (список языков)

Тот же список едет заголовком с каждым вашим запросом. Список, не сходящийся со страной вашего выхода, выдаёт человека быстрее и вернее любого отдельного значения про железо.

navigator.languages это упорядоченный список языков, который сообщает браузер, от самого желанного до запасных.

Где читают список

К одному ответу ведут две дороги, и сайт вправе пройти обеими и сверить их между собой.

  1. 1

    Заголовок на каждом запросе

    Список уходит по порядку, и у каждой записи после первой свой убывающий вес.

  2. 2

    Список в сценарии

    Одна строка кода возвращает весь список, другая только первую запись.

  3. 3

    Оформление

    Даты, числа и деньги выходят на первом языке, поэтому страница читает его, ни о чём не спрашивая.

Ваши языки прямо сейчас

Это прочитано в вашем браузере на этой странице, и часы рядом с ними прочитаны тем же способом.

Сайт читает пару целиком, потому что язык одной страны и часы другой сами собой не случаются.

Ваша машина прямо сейчас

Языки
измеряем на вашей машине
Основной язык
измеряем на вашей машине
Часовой пояс
измеряем на вашей машине
Часов от UTC
измеряем на вашей машине

Прочитано в вашем браузере и показано здесь. Никуда не отправляется.

Почему список следует за адресом

Откуда выходит ваш трафик, решает список и часы разом, из одного ответа.

Страна измеряется через сам прокси по защищённому соединению, и источников спрашивают несколько по очереди, чтобы один отказ не решал, кем будет профиль.

  • Страна задаёт набор

    Украинский выход получает украинский набор, немецкий немецкий, вместе с запасными языками, какие несёт там настоящий браузер.

  • Часы из того же ответа

    Часовой пояс берётся из той же страны, поэтому назвать разные места эти двое не могут.

  • Молчание не выдумывает страну

    Когда страну не назвал никто, профиль остаётся с той страной, с которой родился, а не получает угаданную.

Весь список, а не первая строка

Настоящий Chrome отвечает всем набором, поэтому одинокая запись рядом с чужим адресом сама по себе примета.

Браузер запускается со списком профиля и с выключенной настройкой, которая этот список укорачивает, а самопроверка сверяет весь список целиком, а не первую запись.

Что сверяютЧто ответил собранный движок
Основной языкuk-UA, выход украинский
Весь списокuk-UA, uk, ru, en
Часовой поясEurope/Kyiv, из той же страны

Часто путают с этим

  • Заголовок запроса

    Тот же список, уходящий на сервер с весами, а значение для сценария это то, что видит сама страница.

  • Основной язык

    Одно значение, первая запись списка, и читают его куда чаще, чем весь список целиком.

  • Язык программы

    Оболочка, в которой вы читаете управление профилями, принадлежит вам и до профиля не доходит.

Как проверить свой

Панель выше показывает список, которым отвечает ваш нынешний браузер, и со страницы ничего не уходит.

Внутри профиля самопроверка сверяет с профилем весь список и часы, поэтому укороченный список краснеет, а не проходит тихо.

Чего это не делает

  • Это ничего не переводит. Список сообщает предпочтение, а что показать вам после этого, решает сайт и его собственные правила.
  • Это не даёт языку и часам разъехаться. Язык, выбранный рукой, переставляет часы в свою страну, а пояс, выбранный рукой, переставляет язык, и только выбор обоих рукой оставляет оба ровно такими, как вы их поставили.
  • Это не следует за адресом посреди сеанса. Список решается на запуске профиля, поэтому переезд в другую страну вступает в силу со следующего запуска.
  • Это не подгоняет остальную машину. Шрифты, видеокарту и поведение читают отдельно, и безупречный набор языков ни одного из них не двигает.

Проверить

Всё написанное выше взято из файла, который можно открыть.

Где измеряется страна выхода
apps/desktop/src/lib/exitGeo.js · apps/desktop/test/exit-geo.js
Страна, часы и список из одного жребия
packages/shared/src/index.js
Выбранный рукой язык тянет за собой часы
apps/desktop/test/fingerprint-consistency.js
Замер собранного движка, который едет сегодня
engine/приёмка-отчёт.json

Вопросы

Почему важен порядок?
Потому что порядок это половина ответа. Браузер, у которого сперва английский, а потом немецкий, и браузер с обратным порядком это два разных читателя, и оба порядка доходят до сервера.
Хватит ли одного языка?
Нет. Настоящий Chrome несёт за областным языком ещё и базовый, а обычно и английский, поэтому список из одной записи заметен сам по себе, без всякой другой проверки.
Меняет ли VPN мои языки?
Нет. VPN меняет адрес, с которого выходит трафик, а список остаётся таким, каким его научили отвечать, и это ровно то расхождение, которое сайты и ищут.
Откуда список, если прокси нет?
Из страны, выпавшей по зерну самого профиля, вместе с часами. Пара всё равно сходится сама с собой, и проверка читает именно это согласие.
Можно выбрать список рукой?
Можно, из наборов, которые предлагает редактор, и часы переезжают в эту страну вместе с ним. Поставьте рукой оба, когда вам нужно своё сочетание.

Посмотрите, каким списком отвечает ваш профиль

Самопроверка идёт внутри профиля и показывает все 29 замеров, и зелёные, и красные.