@blackhacker
А почему нельзя брать рандомные данные?
Для максимальной эмуляции браузера, чтобы отпечатки обновлялись в автоматическом режиме. Мое участие нужно только тогда, когда выходит новое апи, новые версии браузеров подхватываются сервисом автоматически.
Вряд ли количество шрифтов, их название, и установленные плагины проверяются. Это же сколько устройств должно быть в базе у тех, кто проверяет, при том, что каждый день новые создают.
Откуда вы знаете, это не так уж сложно организовать с помощью машинного обучение или простых проверок. Как вы сами написали, установлены виндовые шрифты на андроиде - подозрительно, а если шрифты будут просто тасоваться, значит любой шрифт может быть на любой платформе.
Скорее всего просто по хешу проверяют совпадения с другими.
:) некторые сайты тратят огромные деньги на защиту от ботов, думаю не просто так. А создать хеш можно на любом сайте с помощью бесплатных библиотек.
Но рандомизацию нужно разделить для каждого типа OS (андроид, Windows, linux)
Так и есть, для каждого свойства есть "область", в которую он может попасть, например,
"window_navigator_hardwareConcurrency": "SamePlatform"
"window_navigator": "SameUserAgent"
Некторые свойства объедены в группы:
window_screen && window_innerWidth && window_innerHeight
window_navigator_plugins && window_navigator_mimeTypes
Я позаботился о том, чтобы отпечатки были и рандомными, но максимально похожими на реальные.