Все данные считываются в вашем браузере и не отправляются на какой-либо сервер. Это те же самые веб-сайты, которые вы посещаете, поэтому они также используются для определения того, чему вы подвергаетесь при просмотре.
Как это работает
Он объединяет на одной странице все, что браузер знает о компьютере: логические ядра процессора, приблизительную оперативную память, разрешение и плотность экрана, цветовую гамму, производителя и фактическую модель видеокарты, состояние батареи, качество соединения и объем памяти, отведенный сайту.
Каждые данные поступают из разных API в браузере, и не все они доступны повсюду: информация о памяти, батарее и сети предоставляется только Chromium, а модель графического процессора зависит от расширения WebGL, которое некоторые браузеры скрывают в целях конфиденциальности. Когда данные недоступны, они указываются вместо изобретения значения.
Последний блок показывает, какие аппаратные API вы включили — NFC, Serial, USB, Bluetooth, HID, MIDI, датчики, камера, микрофон, WebGPU — чтобы заранее знать, будет ли функция работать в этом браузере. Все рассчитывается локально — ничего, что вы видите, не отправляется на сервер.
Примеры
navigator.hardwareConcurrency8Возвращает логические потоки, которые браузер предлагает странице, которых может быть меньше, чем у реального процессора в экономичном режиме или на фоновых вкладках.navigator.deviceMemory8Память округляется до дискретных значений (0,25, 0,5, 1, 2, 4, 8), чтобы не служить отпечатком пальца: компьютер с 12 ГБ сообщает 8.window.devicePixelRatio2Указывает, сколько физических пикселей занимает пиксель CSS. Умножьте заявленное разрешение на это значение, чтобы оценить фактическое разрешение панели.Сценарии использования
- За считанные секунды проверьте, какой компьютер находится перед пользователем, который сообщает о проблеме, не запрашивая снимки экрана системы.
- Убедитесь, что машина использует выделенный или встроенный графический процессор, когда веб-приложение работает медленно.
- Прежде чем разрабатывать эти API, узнайте, поддерживает ли браузер устройства NFC, последовательный порт, USB или Bluetooth.
- Посмотрите, сколько информации ваш браузер предоставляет любому сайту, который вы посещаете, и решите, следует ли ограничить ее.
- Задокументируйте оборудование в описи или квитанции, скопировав весь отчет в формате JSON.
Часто задаваемые вопросы
Почему заявленная память не соответствует памяти компьютера?
Потому что браузер не дает реальной ценности: он округляет ее до фиксированного масштаба, который заканчивается на 8 ГБ. Устройство с 16 или 32 ГБ также сообщает 8. Это решение о конфиденциальности, поэтому эти данные не служат для идентификации устройства.
Почему не отображается модель моей видеокарты?
Фактический производитель и модель взяты из расширения WEBGL_debug_renderer_info, которое некоторые браузеры — Safari и Firefox с усиленной защитой — отключают. В этом случае отображаются общие значения, сообщаемые WebGL.
Почему я не вижу информацию о батарее или сети?
API состояния батареи и API сетевой информации реализованы только в браузерах на базе Chromium. В Firefox и Safari эти блоки не отображаются, поскольку браузер не предоставляет данные напрямую.
Является ли разрешение, которое оно показывает, реальным разрешением моего монитора?
Первая строка находится в пикселях CSS, что является логическим разрешением после масштабирования системы. Умножение на плотность пикселей дает расчетное физическое разрешение панели, которое также показано. На экранах с нецелочисленным масштабированием может быть разница в один пиксель.
Позволяют ли эти данные меня идентифицировать?
Их комбинация является частью так называемого отпечатка браузера, и именно поэтому производители округляют или скрывают различные значения. Этот инструмент показывает их только вам: они рассчитываются на вашем компьютере и не сохраняются и не отправляются на какой-либо сервер.