Narcoleptic Pony Machine

    eight

    2.0.24 • Public • Published

    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.

    Install

    npm i eight

    DownloadsWeekly Downloads

    90

    Version

    2.0.24

    License

    MIT

    Unpacked Size

    81.1 kB

    Total Files

    6

    Last publish

    Collaborators

    • ondrek