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.20
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-93.75%
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

import eight from "eight"

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

fingerprint()
// E9D0C22416262B2F51A4402318060A206620BED2

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

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

Clever fallback

Sometimes a user (less than 0.1%) doesn't have enough information from browser due to incognito mode and privacy extensions. In this case we fallback into null state so it's clear we are not 100% sure about fingerprint.

fingerprint() // user in incognito with general laptop
// null

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