Глоссарий
Перечисление приборов (media devices)
Перечисление приборов это список микрофонов, динамиков и камер, который браузер отдаёт странице: виды до всякого разрешения, весь список после разрешения записывать.
Что приходит без вопроса
До всякого разрешения один вызов возвращает по одной записи на вид приборов, которые есть у машины. Когда камеру или микрофон разрешили, тот же вызов перечисляет все приборы этого вида, и тогда занятно уже то, сколько их.
Виды приборов машины
Микрофон, динамик или камера, по одной записи на вид, пока странице не позволили записывать.
Сколько чего
Именно числа описывают машину, и приходят они вместе с разрешением записывать.
Пустые имена и пустые опознаватели
Подписи и опознаватели остаются пустыми, пока странице не позволили записывать.
Почему набор связывает профили
Ноутбук с одним микрофоном, двумя выходами и одной камерой отвечает одинаково в каждом профиле, который на нём открывали, любому сайту, которому позволили записывать.
Аккаунты, у которых не совпадали ни адрес, ни куки, ни пароль, оказываются сшиты описью, которая никого опознавать не собиралась.
Проверка эта к тому же дешёвая. Сайт, которому разрешили камеру или микрофон, читает набор один раз и хранит потом три маленьких числа.
Что делает ARMANOS Browser
Числа выводятся из семени профиля, поэтому у одного профиля свой набор, а два профиля между собой расходятся.
Странице достаётся подмножество того, что у машины есть на самом деле, урезанное в тот миг, когда страница спросила.
- 1
Семя называет число по каждому виду
Оно выведено из номера профиля, поэтому одинаково при каждом его запуске.
- 2
Движок оставляет столько же
Записи сверх названного числа в ответ не попадают, а все остальные проходят к странице нетронутыми.
- 3
Автопроверка отпечатка читает итог
Внутри профиля автопроверка отпечатка (меню профиля > Проверить отпечаток) запрашивает список и сверяет числа с профилем: строка «Микрофонов, динамиков и камер не больше, чем у профиля».
Чего нельзя выдумать
Опознаватель прибора браузер выводит из площадки и из настоящего прибора, поэтому выдуманный стал бы приметой, а не лекарством.
Значит набор можно только укоротить и нельзя удлинить, и это написано здесь, а не оставлено вам на самостоятельное открытие.
Ни один вид не опустошается
Браузер, ответивший «камеры нет» на машине с камерой, выдал бы её следующим же вопросом, а два ответа подряд, противоречащих друг другу, громче любого числа.
Машина без камеры так и остаётся
Мы ничего не добавляем, поэтому компьютер без камеры отвечает ноль, как и должен.
Голоса синтеза речи идут рядом
Список голосов синтеза речи это опись того же рода. Читается он одной строкой, разрешения не требует и принадлежит операционной системе, а не браузеру.
Профиль, заявивший одну систему и отдавший голоса другой, противоречит сам себе, поэтому голоса держат в пределах языка, который профиль объявил.
Часто путают с этим
Окно с разрешением на камеру
Просьба записывать это отдельный шаг, и полный счёт приходит вместе с ответом на неё. До него страница узнаёт, какие виды есть, и больше ничего.
Утечка WebRTC
Там речь про адреса, которые выдаёт соединение. Здесь про опись железа, и меряют их порознь.
Память устройства
Ещё одно показание про машину, выведенное из семени профиля, и у него есть своя страница.
Чего это не делает
- Это не добавляет прибора, которого нет. Профиль, попросивший больше камер, чем есть у машины, получит число машины, потому что список только режется.
- Это не опустошает вид целиком. Браузер, отвечающий «микрофона нет» и отдающий микрофон следующим вызовом, сам стал бы приметой.
- Это не переписывает имена. Подписи приходят от системы после разрешения и описывают настоящее железо.
- Это не доводит телефонный профиль до конца. На ARMANOS Browser такой профиль всё ещё перечисляет звуковые выходы, а браузер на настоящей трубке не перечисляет ни одного.
Проверить
Каждое утверждение выше взято из файла, который можно открыть.
- Откуда числа берутся из семени профиля
- packages/shared/src/index.js
- Правило, которое движок применяет к списку
- engine/patches/armanos-fp-0012.diff
- Замер приборов в автопроверке отпечатка
- apps/desktop/src/lib/fpAudit.js
- Что отдала отгружаемая сборка по приборам и голосам
- engine/приёмка-отчёт.json
Вопросы
- Нужно ли сайту разрешение, чтобы пересчитать приборы?
- Для счёта да. До разрешения страница узнаёт, какие виды приборов есть, по одной записи на вид, а числа и имена приходят с разрешением записывать.
- Имена приборов тоже приходят?
- До разрешения нет. Пока странице не позволили записывать, подписи и опознаватели приборов это пустые строки.
- Меняет ли ответ подключение наушников?
- Список машины растёт, а профиль всё равно показывает не больше записей, чем позволяет его собственное число.
- Хорошая ли мысль поставить виртуальный микрофон?
- Он добавляет запись, которой у большинства машин нет, то есть двигает вас к более редкому набору, а не к более обычному.
- Где посмотреть свой набор?
- Самопроверка внутри профиля читает список и сверяет числа с профилем. Это один из замеров, которых там до 37.
Рядом с этим
Battery Status API
Ещё одно показание без вопроса, и профилю оно не принадлежит.
Утечка WebRTC
Вторая половина истории про микрофон и камеру, только там речь про адреса.
Отпечаток и его редактор
Что несёт профиль и что из этого можно менять.
Что читает сайт
Урок, который проходит по показаниям браузера одно за другим.
Посмотрите, что перечисляет ваш профиль
Самопроверка отпечатка идёт внутри профиля и показывает до 37 замеров, и зелёные, и красные.