Browser fingerprinting refers to the process of identifying and recording various factors, such as the browser itself, the operating system, and hardware configurations, to generate a unique identifier. It is a digital signature obtained through the collection of various features of the browser, such as user agent, language, screen size, plugin version, font, time settings, etc., and a comprehensive analysis. As everyone's browser configurations differ, browser fingerprints can be used to track user behavior, identify identity, monitor online activities, and even for illegal purposes such as fraud and phishing.
VirtualBrowser is a fingerprint browser based on Chromium, which supports Windows 10 and above operating systems, and plans to support Mac, Android, Linux, and other operating systems in the future.
Compared with Chromium, VirtualBrowser has two advantages:
- Support for creating multiple fingerprint information browser environments on one machine.
- Support for managing multiple browser environments.
First, download the latest VirtualBrowser installation package from the release page or official website and install it on your computer.
- Open VirtualBrowser and select Create Browser.
- Modify the configuration information in the pop-up dialog or use the default settings.
- Click the Start button in the created environment to open the newly created browser environment.
- The newly started browser is the new fingerprint environment.
You can test fingerprint modifications using fingerprintjs and browserleaks.
- Operating System: Modify the operating system part in
userAgent
. - Browser version: Modify the browser version in
userAgent
. - Proxy settings: Modify the browser proxy which supports "Default", "Do not use proxy", "Custom".
- User Agent: Modify
userAgent
. - Language: Modify
navigator.language
,navigator.languages
, and it can be automatically matched based on IP. - Time zone: Modify the time zone in
new Date()
, and it can be automatically matched based on IP. - WebRTC
- Geolocation: Modify the latitude and longitude in
navigator.geolocation.getCurrentPosition()
, and it can be automatically matched based on IP. - Resolution: Modify
screen.width
/screen.height
. - Font: Randomly modify the supported font list.
- Canvas: Randomly modify Canvas 2D drawing differential pixels.
- WebGL image: Randomly modify WebGL drawing differential pixels.
- WebGL metadata: WebGL vendor, WebGL rendering, etc.
- AudioContext: Randomly modify the differential data of
getChannelData
andgetFloatFrequencyData
in AudioContext. - ClientRects
- Speech voices
- CPU: Modify
navigator.hardwareConcurrency
CPU core count. - Memory
- Device name
- MAC address
- Do Not Track
- SSL
- Port scan protection
- Hardware acceleration
VirtualBrowser is base on Chromium, you can use playwright or other tools. demo(https://github.com/Virtual-Browser/VirtualBrowser/tree/main/automation)
VirtualBrowser is not perfect yet. If you are interested in VirtualBrowser, you are welcome to join us through the following ways:
- Directly contribute code, provide features, and fix bugs.
- Install VirtualBrowser, visit your frequently used websites, and provide feedback on unusable situations to help solve compatibility issues.
- Provide experience, functional suggestions to help improve VirtualBrowser.
- Email: virtual.browser.2020@gmail.com
- Official website: http://virtualbrowser.cc
- QQ Group:
564142956