BrowserBasedBotFP makes it possible to extract browser fingerprint relevant in relation to web bot detection by making use of a test web site.
The directory /client contains a web site that gathers the following browser fingerprinting properties :
- Fingerprintjs2 properties (https://github.com/Valve/fingerprintjs2)
- UserAgent
- Language
- Color Depth
- Screen Resolution
- Timezone
- Has session storage or not
- Has local storage or not
- Has indexed DB
- Has IE specific 'AddBehavior'
- Has open DB
- CPU class
- Platform
- DoNotTrack or not
- Full list of installed fonts (maintaining their order, which increases the entropy), implemented with Flash.
- A list of installed fonts, detected with JS/CSS (side-channel technique) - can detect up to 500 installed fonts without flash
- Canvas fingerprinting
- WebGL fingerprinting
- Plugins (IE included)
- Is AdBlock installed or not
- Has the user tampered with its languages 1
- Has the user tampered with its screen resolution 1
- Has the user tampered with its OS 1
- Has the user tampered with its browser 1
- Touch screen detection and capabilities
- Pixel Ratio
- System's total number of logical processors available to the user agent.
- Device memory
- Global DOM window object keys
- Missing JS Engine Bind function
- StackTrace
- WebSecurity enabled
- AutoClose Alert dialog
- Lack of image width and height features
- MimeTypes
- Global DOM navigator object keys
- Navigator language
- Installed languages
- WebSocket properties
- Global DOM document object keys
- Test page main body element.
First make sure NodeJS has been installed on your machine (https://nodejs.org/en/download/) After installation, type in the terminal window : npm install
Specify the root of the project in ./settings.json
Type in the terminal window in the server folder : node server.js to start the web server on localhost port 8081
run: npm outdated --depth=3 to get information about outdated packages