Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rajesh-royal/broprint.js

The world's easiest, smallest and powerful visitor identifier for browsers.
https://github.com/rajesh-royal/broprint.js

audio-fingerprinting browserfingerprint canvas-fingerprinting cryptography fingerprinting frauddetection identification javascript jsfingerprint reactjs typescript uniquebrowserid visitor-identifier

Last synced: 6 days ago
JSON representation

The world's easiest, smallest and powerful visitor identifier for browsers.

Awesome Lists containing this project

README

        

Broprint.js


The world's easiest, smallest and powerful visitor identifier for browsers.




Current NPM version

Tweet




This package generates a unique ID/String for different browsers. Like chrome, Firefox or any other browsers which support `canvas` and `audio` fingerprinting. You can easily do the browser fingerprinting with this library. Its small and minimal.


CodeSandbox,
Live Demo

> ⚠ The code is completely open source and not relating to anyone, created in my spare time. [only for educational purpose]

> The algorithms used to encrypt/decrypt data - `murmurhash3_32_gc`, `cyrb53` and `javaHashCode`. Code is inside `.src/code/EncryptDecrypt.js`.

## :hear_no_evil: What's all the hullabaloo?
Broprint.js helps JavaScript developers code visitors identifier more simply, readably, and securely. Whether you need to find a unique visitor, do analytics, browser fingerprinting, or do anything of the like while even preventing frauds, we've got you covered at a **cryptographically strong** level. The best part? Our library is extremely lightweight and developer friendly- which means it won't take a toll on your project, and it's uber-simple to implement. This library works on the concept of **canvas** fingerprint and **audio** fingerprint, the final result which a user get is the combination of **audio and canvas fingerprint**. We are using **cryptojs** under the hood for encryptions but you can easily tweek the library to remove the dependency.


## :zap: Fast implementation
**Step 1:** Install using npm or yarn:


Using npm:
```JavaScript
//Install:
npm i @rajesh896/broprint.js
```
Using Yarn:
```Javascript
//Install:
yarn add @rajesh896/broprint.js
```



## :tada: Examples
>### **In Reactjs**
```javascript
import { getCurrentBrowserFingerPrint } from "@rajesh896/broprint.js";

getCurrentBrowserFingerPrint().then((fingerprint) => {
// fingerprint is your unique browser id.
// This is well tested

// the result you receive here is the combination of Canvas fingerprint and audio fingerprint.
})
```

>### Using this script in the html files
1. Execute `npm i @rajesh896/broprint.js`
2. Then -
```html




FingerPrint


import("./node_modules/@rajesh896/broprint.js/index.js").then((module) => {
module.getCurrentBrowserFingerPrint().then((fingerprint) => {
console.log(fingerprint);
})
})

```

- From version `1.1.0` onwards we have a dependency `crypto-js`. If you do not want to have this dependency then use the earlier versions of this library.

If you want to use it in simple `.html` file, please read the `index.html` file in the root directory.

This repository is for educational and demonstration purposes only!

## :clap: Supporters
[![Stargazers repo roster for @Rajesh-Royal/Broprint.js](https://reporoster.com/stars/Rajesh-Royal/Broprint.js)](https://github.com/Rajesh-Royal/Broprint.js/stargazers)
[![Forkers repo roster for @nRajesh-Royal/Broprint.js](https://reporoster.com/forks/Rajesh-Royal/Broprint.js)](https://github.com/Rajesh-Royal/Broprint.js/network/members)

Animated footer bars




Back to top