FingerprintSwitcher is like user agent switcher on steroids. It changes not only user agent, but a lot of browser internals to make browser actually look like firefox, chrome, safari, on desktop or on mobile.
Modern methods of user identification can identify him only by a set of browser properties. Let's say that among a million users, tens of thousands can have a certain resolution, but only a few thousand have a certain resolution and a certain set of plug-ins. A set of such properties forms browser fingerprint. By adding new factors, the site can determine exactly what user visits it, even if he uses proxy. This problem can be solved with FingerprintSwitcher service, since it provides a new set of properties each time. In fact, FingerprintSwitcher can be called a proxy service analog for fingerprints.
Sites can access properties of real hardware through various browser APIs. An example would be reading video card vendor. Each property could be a part of browser fingeprint and used with standart one like resolution and plugins list in order to identify user with even more precision. Site can identify user hardware even if there is no possibility to do that directly by using special "tricks". An example of such tricks could be canvas or audio fingerprinting. Unlike other solutions which block potentionally dangerous methods, FingerprintSwitcher protects users by replacing results of theese APIs, adding noise or transfering values from real devices. Service provides access to database with about 50,000 fingerprints obtained from real devices which is constantly updated.
You can check your fingerprint here https://f.vision/, and this library allows you to embed fingerprint calculation on your site https://github.com/Valve/fingerprintjs2. Browser fingerprint tracking is already widely used by social networks, online bankings and even small sites:
Here are a list of browser properties, which are modified by FingerprintSwitcher:
Canvas fingerprint.
Webgl fingerprint.
Video card properties.
Audio fingerprint.
Audio card properties.
Font list.
Header order.
Webrtc ip is obtained from proxy ip.
Plugins and mime types list.
Screen properties - resolution, color depth, etc.
All navigator properties are replaced, both standart: userAgent, oscpu, vendor, vendorSub, productSub, buildID, hardwareConcurrency, deviceMemory, and exotic like: getGamepads and getVRDisplays.
Smart replacement of browser language - language format is merged with country of proxy.
Geolocation.
Date APIs are replaced accordingly to current proxy.
Battery APIs.
Signature of javascript methods.
Connection properties: wifi, mobile connection, etc.
Results may look like this:
You may check following publications for further reading:
http://randomwalker.info/publications/OpenWPM_1_million_site_tracking_measurement.pdf
https://www.cs.uic.edu/~psnyder/static/papers/Browser_Feature_Usage_on_the_Modern_Web.pdf
FingerprintSwitcher - это более продвинутая версия смены юзер агента. Сервис меняет не только юзер агент, но и множество внутренних методов и переменных браузера, так, что он выглядел абсолютно идентично хрому, файерфоксу, сафари, настольному или мобильному браузеру.
Современные методы определения пользователя могут идентифицировать его только по набору свойств браузера. Допустим, среди миллиона пользователей у десятка тысяч может быть определенное разрешение, но только у нескольких тысяч определенное разрешение и определенный набор плагинов. Набор таких свойств составляет отпечаток браузера. Добавляя новые факторы, сайт может точно определить, что именно вы его посещаете, даже если вы будете менять прокси при каждом входе. Эту проблему также решает сервис FingerprintSwitcher, поскольку предоставляет каждый раз новый набор свойств. Фактически FingerprintSwitcher можно назвать аналогом прокси сервиса для отпечатков.
Сайты могут получать доступ к свойствам оборудования через различные API-интерфейсы браузера. Примером может служить получение модели видеокарты. Каждое такое свойство может быть частью отпечатка браузера и использоваться со стандартными свойствами, такими как разрешение и список плагинов, чтобы идентифицировать пользователя с еще большей точностью. Сайт может узнать свойства оборудования, даже если нет возможности сделать это напрямую, используя "непрямые" методы. Примером таких методов может быть отпечаток canvas или отпечаток аудио. В отличие от других приложений, которые блокируют потенциально опасные методы, FingerprintSwitcher защищает пользователей, заменяя результаты работы этих API, добавляя шум или передавая значения из реальных устройств . Сервис предоставляет доступ к базе данных с 50,000 отпечатками из реальных устройств которые постоянно обновляются.
Вы можете самостоятельно проверить свой отпечаток на этом сайте https://f.vision/, а эта библиотека позволяет встраивать получения отпечатка на своем сайте https://github.com/Valve/fingerprintjs2. Получение отпечатков браузера широко используется уже сейчас в социальных сетях, онлайн-банках и даже небольших сайтах:
Вот список свойств, которые подменяет сервис FingerprintSwitcher:
Отпечаток canvas.
Отпечаток webgl.
Свойства видеокарты.
Отпечаток аудио.
Свойства аудиокарты.
Список шрифтов.
Порядок заголовков.
Webrtc ip согласно внешнему ip текущего прокси.
Набор плагинов браузера и mime типов.
Характеристики экрана - разрешение, глубина цвета, и т. д.
Заменяются абсолютно все свойства навигатора, как стандартные userAgent, oscpu, vendor, vendorSub, productSub, buildID, hardwareConcurrency, deviceMemory, так и экзотические вроде getGamepads или getVRDisplays
Умное изменение язык браузера - значение из реального устройства "сливается" со страной текущего прокси.
Геолокация.
Все методы класса для работы с датами изменяют свои значения согласно текущему часовому поясу прокси. Учитывается летнее/зимнее время в данной стране.
Методы для работы с батареей.
Эмулируется сигнатура всех javascript методов, чтобы невозможно было обнаружить подмену браузера.
Изменяется информация о характеристиках текущего соединения: wifi, мобильный интернет, и т. д.
Результат работы может выглядеть так:
Для дальнейшего чтения рекомендуются следующие статьи:
http://randomwalker.info/publications/OpenWPM_1_million_site_tracking_measurement.pdf
https://www.cs.uic.edu/~psnyder/static/papers/Browser_Feature_Usage_on_the_Modern_Web.pdf