Coder Social home page Coder Social logo

device-uuid's Introduction

device-uuid

Fast browser device uuid generation plugin. The plugin based on express-useragent and written in pure JavaScript, no dependencies.

Installation

 $ bower install device-uuid --save

or

 $ npm install device-uuid --save

Usage overview

Include files in your HTML. The minimum required for this plugin are:

<script src="/path/to/device-uuid.js" type="text/javascript"></script>

Execute the plugin:

automatically create not browser depended uuid:

    var uuid = new DeviceUUID().get();

as a result example:

    e9dc90ac-d03d-4f01-a7bb-873e14556d8e

custom device uuid generation:

var du = new DeviceUUID().parse();
    var dua = [
        du.language,
        du.platform,
        du.os,
        du.cpuCores,
        du.isAuthoritative,
        du.silkAccelerated,
        du.isKindleFire,
        du.isDesktop,
        du.isMobile,
        du.isTablet,
        du.isWindows,
        du.isLinux,
        du.isLinux64,
        du.isMac,
        du.isiPad,
        du.isiPhone,
        du.isiPod,
        du.isSmartTV,
        du.pixelDepth,
        du.isTouchScreen
    ];
    var uuid = du.hashMD5(dua.join(':'));

module provides details such as the following:

{
  "isMobile":false,
  "isDesktop":true,
  "isBot":false,
  .....
  "browser":"Chrome",
  "version":"17.0.963.79",
  "os":"Windows 7",
  "platform":"Microsoft Windows",
  "source":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79..."
}

LICENSE

MIT

device-uuid's People

Contributors

biggora avatar isopen avatar mgequivalents avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

device-uuid's Issues

Duplicate UUID generated for different devices

I have used this package in my web application to generate device specific uuid. But after checking multiple records, UUID's seem to be duplicating even when users are using different devices.

Generation of unique id for each device

I have created the uuid using this method
var uuid = du.hashMD5(dua.join(':'));
Now this one return unique id for chrome but in firefox its returning different id. Is there is any possibility to create UUID that should be unique for all the client browser.

DeviceID from a browser and then from an Android app

Let's say, I've run the script run in a mobile browser thus generating a DeviceID. Is there an API of Android to generate the same DeviceID from within a mobile app?

I need to pass DeviceID from a browser to my app.

Nice - Some general questions :)

Hi there. This is a great tool you have made.

  1. Has it been used in production and what is your experience with it?

  2. What works well and what does not work well?

  3. Do you have any suggestions on how to configure it the bestway?

  4. Do you think there are certain things at the end user that affect the result over time?

  5. Is there a difference in the result before and after the user updates hes browser version?
    is the browser version also included in generating the uuid?

Thanks

ReferenceError: navigator is not defined in angular universal

hi
when run project in ssr
with command : npm run dev:ssr
get same error:

return new DeviceUUID(navigator.userAgent);
                        ^
ReferenceError: navigator is not defined

im using a mock browser , in server.ts file :

const MockBrowser = require('mock-browser').mocks.MockBrowser;
const mock = new MockBrowser();
global['navigator'] = mock.getNavigator();
global['window'] = mock.getWindow();
global['document'] = mock.getDocument();

thanks

OS X Safari โ€“ wrong OS

There is a browser-specific issue with Device ID generation for Mac.

Conditions: Apple Laptop with Mac OS X Yosemite (10.10) installed, having latest Chrome (55.0) and Safari 9.1. These browser report different OS version in UserAgent string.
Chrome: OS X 10_10 (correct)
Safari: OS X 10_11 (incorrrect)

I know nothing about company's politics regarding OS and browser versions and upgrades and if this issue can be reproduced again on other devices.

Compatibility with Vite

Hi, biggora
I am trying to use device-uuid with Vite react project.
When developing stage, it works well, but it is not working with production build.
I alwasys get this error message: "DeviceUUID is not contructor".
I hope you to resolve this as soon as possible.

No unique Id on euqal device models

Hi,

first of all i thought that i really get unique ids..

Lastly i tried to get the UUID on two devices which are equal (same manufacture, model, software version,..), then i recognized that i get the same UUID on both devices :(

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.