New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

eight

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eight

A browser fingerprinting library

  • 2.0.24
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
28
increased by33.33%
Maintainers
1
Weekly downloads
 
Created
Source

Fast browser and server library for fingerprinting with no dependencies. Uses SHA512.

Installation

NPM: npm install eight
CDN: //cdn.jsdelivr.net/npm/eight@<VERSION>/eight.js

TLDR usage

console.info(require("eight")()) // Node.js
console.info(window.eight()()) // IE6+ browser
> E9D0C22416262B2F51A4402318060A206620BED2

Detailed Usage

Eight returns instance which takes several defined optional parameters and any another parameter is hashed together with it:

import eight from "eight"

const fingerprint = eight({
  hash: "ripe160",  // <sha512 || sha256 || ripe160>
  resolution: true,  // <boolean>
  flash: true,  // <boolean>
  plugins: true,  // <boolean>
  strong: false,  // <boolean>
  anythingelse: "ABCD"  // additional entropy
})

fingerprint()
// E9D0C22416262B2F51A4402318060A206620BED2

fingerprint({ ip: "187.30.93.12" })
// 2416262B2F51A4402318060A206620BED2E9D0C2

fingerprint({ ip: "39.120.11.2" }) 
// 4402318060A206620BED2E9D0C22416262B2F51A

API

Fallback into null, if user doesn't posses enough data due to incognito mode or privacy extensions:

fingerprint({ fallback: true }) 

Check Flash and fingerprint graphic card rendering defects and installed version:

fingerprint({ flash: true }) 

Pass any param that needs to considered

It's possible to customize fingerprinting with own parameters which are passed as params. This way anything (like cookies, ip adress or username) can be considered.

fingerprint({ ip: "133.98.32.55" })
// 2416262B2F51A4402318060A206620BED2E9D0C2

fingerprint({ cookies: JSON.stringify(cookies) })
// 20BED2E9D0C22416262B2F51A4402318060A2066

fingerprint({ whatever: "ABCDEF" })
// F51A4402318060A206620BED2E9D0C22416262B2

Licence and code

Eight is a semi-private obfuscated repository under MIT licence. We ( (with security through obscurity in mind) try to secure our code against plugins which fake headers, browsers and try to make browser private.

Keywords

FAQs

Package last updated on 01 May 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc