# Объект отпечатка

На этой странице описана схема объекта отпечатка и значение полей.

# Отпечаток

Object

Объект отпечатка, описывающий, что браузер должен подменить. Если поле имеет значение null, его подмена выключена. Схема объекта:

# navigator

Object Nullable

  • autoUserAgent String Nullable Рекомендовано - это поле указывает, что поля, специфичные для ОС, в объекте navigator должны быть установлены автоматически. Если это поле установлено, Поля userAgent, clientHints, platform и osType не окажут никакого влияния. Рекомендуется установить это поле потому что таким образом версия UserAgent и CH Platform профиля всегда будет актуальной. Возможные значения:
    windows7 - Windows 7
    windows8 - Windows 8
    windows8.1 - Windows 8.1
    windows10 - Windows 10
    windows11 - Windows 11

    linux - Linux

    macos10 - macOS Catalina
    macos11 - macOS Big Sur
    macos12 - macOS Monterey
    macos13 - macOS Ventura
    macos - current newest version of macOS (Ventura)

  • userAgent String Nullable - полная строка navigator.userAgent
  • clientHints Object Nullable - объект, содержащий поля, необходимые для подмены заголовков CH. Схема:
    • versionNumber String Nullable - Полная версия Chrome, например: 106.0.5249.103
    • cpuArch String Nullable - Архитектура процессора, x64 or arm
    • platform String Nullable - CH Platform, должно быть одно из Windows, Linux или macOS
    • platformVersion String Nullable - CH Platform version. Строка версии ОС в виде трех чисел, разделенных точками, например:
      0.1.0 - Windows 7
      0.2.0 - Windows 8
      0.3.0 - Windows 8.1
      10.0.0 - Windows 10
      14.0.0 - Windows 11

      12.6.4 - macOS Monterey
      13.3.0 - macOS Ventura

      5.15.0 - Linux
  • platform String Nullable - navigator platform, должно быть одним из: Win32, MacIntel или Linux x86_64
  • osType String Nullable - должно быть одним из: Windows, Linux или Mac OS X.

  • languages String Nullable - языки, разделенные запятой, в формате en-US,en. Не включайте q=0,9
  • deviceMemory Int Nullable - Оперативная память. В более новых версиях Chrome значения больше «8» не действуют. Максимальное значение, которое отдает браузер - 8.
  • hardwareConcurrency Int Nullable - количество виртуальных ядер процессора.

# screen

Object Nullable

  • height Int
  • width Int
  • colorDepth Int - В большинстве случаев вы должны использовать 24.

# geoSwitch

Int Nullable

Флаг int, описывающий, как подменять геолокацию. Возможные значения:

  • 0 — выключено (по умолчанию, если поле равно NULL)
  • 1 - будет получено автоматически
  • 2 - будет взято из поля geo

# geo

Object Nullable

Объект геолокации со следующей схемой:

  • timeZone Object - Строка часового пояса вида: America/Los_Angeles, Europe/London

# networkSwitch

Int Nullable

Флаг Int, описывающий, как подменять сеть. Возможные значения:

  • 0 - выключено
  • 1 - будет жестко задано значение «4G, RTT 50 мс, 10 Мбит/с» (по умолчанию, если поле равно NULL)
  • 2 - будет взято из поля network

# network

Object Nullable

Объект сети с информацией о вашем подключении:

  • effectiveType String - скорее всего, вы захотите установить его на «4g».
  • rtt String - приблизительное время туда и обратно. Может быть 0 (информация недоступна), 50, 100 или 150.
  • downlink Float - скорость соединения в мегабайтах в секунду.

# webRTCSwitch

Int Nullable

Флаг Int, описывающий, как подделать WebRTC. Возможные значения:

  • 0 — выключено (по умолчанию, если поле равно нулю)
  • 1 - будет разрешено автоматически
  • 2 - будет взято из поля webRTC

# webRTC

Object Nullable

Поля WebRTC, которые будут использоваться в случае утечки IP-адресов вашего устройства. Если этого не произойдет, никакого эффекта не будет. Вы также можете использовать адреса IPv6.

  • public String - Публичный адрес вида 116.86.99.189
  • local String - Адрес в локальной сети, например: 192.168.0.1, 192.168.0.116, 10.0.2.15

# spoofWebGL

Boolean Nullable

Подменяется ли изображение WebGL. Значение null имеет тот же эффект, что и false.

# spoofCanvas

Boolean Nullable

Подменяется ли Canvas. Значение null имеет тот же эффект, что и false.

# spoofAudioContext

Boolean Nullable

Подменяется ли AudioContext. Значение null имеет тот же эффект, что и false.

# webGL

Object Nullable

Объект с полями для подмены метаданных WebGL:

  • renderer String
  • vendor String

# mediaDevices

Array<Object> Nullable

Массив объектов мультимедийных устройств. Вот его схема:

  • isInput Boolean
  • isAudio Boolean
  • seed Int - Рандомное 4х байтовое число.

Поля isInput и isAudio определяют, что это за устройство. Например. микрофон будет иметь isInput=true и isAudio=true, но динамик будет иметь isInput=false и isAudio=true.

Поле «seed» немного сложное. Вы должны установить одинаковые начальные значения для устройств, которые физически подключены. Например. если у вас есть наушники с микрофоном — у вас все равно будут два отдельных объекта медиа-устройства, но они будут иметь одинаковый «seed». Если, например, вы хотите имитировать ноутбук со встроенным динамиком, микрофоном и веб-камерой, у вас будет три устройства с одинаковыми значениями «seed».

Вот несколько примеров:

{
  "mediaDevices": [
    {
      "isInput": false,
      "isAudio": true,
      "seed": -657123
    }
  ]
}
{
  "mediaDevices": [
    {
      "isInput": true,
      "isAudio": true,
      "seed": 8328
    },
    {
      "isInput": true,
      "isAudio": false,
      "seed": 8328
    },
    {
      "isInput": false,
      "isAudio": true,
      "seed": 8328
    }
  ]
}
{
  "mediaDevices": [
    {
      "isInput": true,
      "isAudio": true,
      "seed": -92481
    },
    {
      "isInput": false,
      "isAudio": true,
      "seed": 51754
    }
  ]
}

# fonts

Object Nullable

Объект, описывающий подмену полей. По сути, существует три предустановленных пресета: «windows», «linux» и «macos». Поэтому, если вы просто хотите установить шрифты Windows, установите для параметра «preset» значение «windows», а для параметра «custom» — пустой массив.

  • preset String - наименование пресета. Должно быть windows7, windows10, windows11, linux, macos или пустая строка. Вы также можете установить для него значение «windows», и оно будет автоматически получено из свойств navigator
  • custom Array<String> - массив пользовательских шрифтов, например. Arial, Tahoma. Значения не чувствительны к регистру.

# toggles

Object Nullable

  • battery Boolean - подменять батарею, как если бы вы использовали ПК. Устанавливает уровень заряда батареи на «100%» и показывает, как он заряжается.
  • speech Boolean - подменять SpeechSynthesis API как если бы вы использовали Google Chrome.
  • supportedMedia Boolean - подменять поддерживаемые медиа-форматы как если бы вы использовали Google Chrome.