mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
remove fingerprintjs
This commit is contained in:
parent
c546f03906
commit
1846f1afcf
16 changed files with 24 additions and 1593 deletions
|
@ -1,36 +0,0 @@
|
||||||
{
|
|
||||||
"name": "fingerprintjs2",
|
|
||||||
"description": "Modern & flexible browser fingerprinting library",
|
|
||||||
"main": "dist/fingerprint2.min.js",
|
|
||||||
"moduleType": [
|
|
||||||
"es6"
|
|
||||||
],
|
|
||||||
"keywords": [
|
|
||||||
"browser",
|
|
||||||
"fingerprint",
|
|
||||||
"fingerprinting",
|
|
||||||
"security",
|
|
||||||
"privacy"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
"Valentin Vasilev"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"ignore": [
|
|
||||||
"**/.*",
|
|
||||||
"node_modules",
|
|
||||||
"bower_components",
|
|
||||||
"spec"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/Valve/fingerprintjs2",
|
|
||||||
"version": "1.4.1",
|
|
||||||
"_release": "1.4.1",
|
|
||||||
"_resolution": {
|
|
||||||
"type": "version",
|
|
||||||
"tag": "1.4.1",
|
|
||||||
"commit": "6320cfa19c89aca0eb39e811d101336a2812ad61"
|
|
||||||
},
|
|
||||||
"_source": "https://github.com/Valve/fingerprintjs2.git",
|
|
||||||
"_target": "^1.4.0",
|
|
||||||
"_originalSource": "fingerprintjs2"
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
Contributing to FingerprintJS2
|
|
||||||
==============================
|
|
||||||
|
|
||||||
## Found a bug?
|
|
||||||
|
|
||||||
Please submit an issue.
|
|
||||||
Include in the issue:
|
|
||||||
|
|
||||||
* List of components you received in the `get` call (make sure values are not truncated)
|
|
||||||
* If FP is different every time you call the library, include 2 versions of components
|
|
||||||
* Include your OS version
|
|
||||||
* Include steps to reproduce
|
|
||||||
* Include library call code (I need all options you used when calling the library function)
|
|
||||||
|
|
||||||
## Want to add a feature / contribute?
|
|
||||||
* Make sure the issue/suggestion does not exist by searching existing issues
|
|
||||||
* Fork the project and make the required changes in it (don't forget to add specs)
|
|
||||||
* PRs w/out specs will not be accepted
|
|
||||||
* Run `gulp` to catch stylistic errors and produce the minified version.
|
|
||||||
* Run specs by opening the `specs/spec_runner.html` or typing `npm test` (requires phantomjs for console running).
|
|
||||||
* Make a PR.
|
|
||||||
* Make sure you only make one commit per feature you want to add
|
|
||||||
* Make sure your commit message is descriptive and tells what you changed (`Updated the library` - that's a bad commit message)
|
|
||||||
|
|
||||||
If your code changes the list of fingerprinting sources, please update
|
|
||||||
the README.
|
|
||||||
|
|
||||||
If you're unsure about the feature you want to add, submit an issue with
|
|
||||||
a `question` tag.
|
|
||||||
|
|
||||||
## Want to ask?
|
|
||||||
* Please read FAQ first
|
|
||||||
* If you have not found the answer you were looking for - use gitter.im to ask your question (link is in the readme)
|
|
||||||
|
|
||||||
Happy Coding!
|
|
|
@ -1,18 +0,0 @@
|
||||||
#### Can I use this library to uniquely identify users?
|
|
||||||
##### No, you cannot. This library is built to be able to associate string identifiers with devices. Since there are a lot of identical devices, you will get a lot of identical identifiers.
|
|
||||||
|
|
||||||
#### OK, I get it, I cannot _uniquely_ identify users, but can I identify users at all?
|
|
||||||
##### No, you cannot. This library is strictly for non-deterministic device identification.
|
|
||||||
|
|
||||||
|
|
||||||
#### How good is your library? Can you guarantee that different devices will have different identifiers?
|
|
||||||
##### This library is not good. It has an error margin of 10-20%
|
|
||||||
|
|
||||||
#### Can you improve the library to be 100% accurate for device identification?
|
|
||||||
##### I don't think it is possible now and don't think it will be possible in the future.
|
|
||||||
|
|
||||||
#### Can you improve the library to be more accurate (since you cannot make it 100% accurate)?
|
|
||||||
##### I can, but it takes a lot of time. I need a lot of devices, enviroments and more importantly - time. Since this is my hobby project, I spend very little time on it.
|
|
||||||
|
|
||||||
#### How can I build a complete identification solution?
|
|
||||||
##### You should either use commercial services, such as https://augur.io, or develop such service yourself. If you don't know how to do it, please use StackOverflow.
|
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
"name": "fingerprintjs2",
|
|
||||||
"description": "Modern & flexible browser fingerprinting library",
|
|
||||||
"main": "dist/fingerprint2.min.js",
|
|
||||||
"moduleType": [
|
|
||||||
"es6"
|
|
||||||
],
|
|
||||||
"keywords": [
|
|
||||||
"browser",
|
|
||||||
"fingerprint",
|
|
||||||
"fingerprinting",
|
|
||||||
"security",
|
|
||||||
"privacy"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
"Valentin Vasilev"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"ignore": [
|
|
||||||
"**/.*",
|
|
||||||
"node_modules",
|
|
||||||
"bower_components",
|
|
||||||
"spec"
|
|
||||||
]
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
|
@ -1,29 +0,0 @@
|
||||||
var gulp = require("gulp"),
|
|
||||||
eslint = require("gulp-eslint"),
|
|
||||||
rename = require("gulp-rename"),
|
|
||||||
uglify = require("gulp-uglify");
|
|
||||||
|
|
||||||
gulp.task("lint", function() {
|
|
||||||
return gulp
|
|
||||||
.src("fingerprint2.js")
|
|
||||||
.pipe(eslint())
|
|
||||||
.pipe(eslint.format())
|
|
||||||
.pipe(eslint.failOnError());
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task("minify", function() {
|
|
||||||
return gulp
|
|
||||||
.src("fingerprint2.js")
|
|
||||||
.pipe(rename({suffix: ".min"}))
|
|
||||||
.pipe(uglify({
|
|
||||||
compress: {
|
|
||||||
global_defs: {
|
|
||||||
NODEBUG: true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
.pipe(gulp.dest("dist/"));
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
gulp.task("default", ["lint", "minify"], function() {});
|
|
|
@ -1,98 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Fingerprintjs2 test</title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<script>
|
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
||||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
||||||
|
|
||||||
ga('create', 'UA-42202458-2', 'auto');
|
|
||||||
ga('send', 'pageview');
|
|
||||||
</script>
|
|
||||||
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
|
|
||||||
<style>
|
|
||||||
body{
|
|
||||||
font-family: sans-serif;
|
|
||||||
max-width: 48em;
|
|
||||||
margin: auto;
|
|
||||||
padding: 0 5%;
|
|
||||||
background: #222;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
margin: 2em 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
font-size: 1.2em
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
border: none;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 1.2em;
|
|
||||||
background: #27e;
|
|
||||||
padding: 0.5em 0.75em 0.6em;
|
|
||||||
border-radius: 3px;
|
|
||||||
box-shadow: 0 3px 0 #05c;
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:active {
|
|
||||||
transform: translateY(3px);
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
strong {
|
|
||||||
display: block;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 32em) {
|
|
||||||
h1 {
|
|
||||||
font-size: 4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
strong {
|
|
||||||
font-size: 1.5em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="container"></div>
|
|
||||||
|
|
||||||
|
|
||||||
<h1>Fingerprintjs2</h1>
|
|
||||||
|
|
||||||
<p>Your browser fingerprint: <strong id="fp"></strong></p>
|
|
||||||
<p><code id="time"/></p>
|
|
||||||
|
|
||||||
<button type="button" id="btn">Get my fingerprint</button>
|
|
||||||
|
|
||||||
<a href="https://github.com/Valve/fingerprintjs2"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"></a>
|
|
||||||
|
|
||||||
<script src="fingerprint2.js"></script>
|
|
||||||
<script>
|
|
||||||
$("#btn").on("click", function () {
|
|
||||||
var d1 = new Date();
|
|
||||||
var fp = new Fingerprint2();
|
|
||||||
fp.get(function(result) {
|
|
||||||
var d2 = new Date();
|
|
||||||
var timeString = "Time took to calculate the fingerprint: " + (d2 - d1) + "ms";
|
|
||||||
if(typeof window.console !== "undefined") {
|
|
||||||
console.log(timeString);
|
|
||||||
console.log(result);
|
|
||||||
}
|
|
||||||
$("#fp").text(result);
|
|
||||||
$("#time").text(timeString);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,33 +0,0 @@
|
||||||
{
|
|
||||||
"name": "fingerprintjs2",
|
|
||||||
"version": "1.4.1",
|
|
||||||
"description": "Modern & flexible browser fingerprinting library",
|
|
||||||
"main": "dist/fingerprint2.min.js",
|
|
||||||
"devDependencies": {
|
|
||||||
"gulp": "^3.8.11",
|
|
||||||
"eslint": "^0.14.1",
|
|
||||||
"gulp-eslint": "^0.4.2",
|
|
||||||
"gulp-rename": "^1.2.2",
|
|
||||||
"gulp-uglify": "^1.1.0"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"test": "specs/phantomjs.runner.sh specs/spec_runner.html"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/Valve/fingerprintjs2.git"
|
|
||||||
},
|
|
||||||
"keywords": [
|
|
||||||
"browser",
|
|
||||||
"identification",
|
|
||||||
"fingerprint",
|
|
||||||
"fingerprinting",
|
|
||||||
"privacy"
|
|
||||||
],
|
|
||||||
"author": "Valentin Vasilyev",
|
|
||||||
"license": "MIT",
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/Valve/fingerprintjs2/issues"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/Valve/fingerprintjs2"
|
|
||||||
}
|
|
|
@ -21,12 +21,13 @@ define(['appStorage', 'browser'], function (appStorage, browser) {
|
||||||
function generateDeviceId() {
|
function generateDeviceId() {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
require(['fingerprintjs2'], function (Fingerprint2) {
|
require(["cryptojs-sha1"], function () {
|
||||||
|
|
||||||
new Fingerprint2().get(function (result, components) {
|
var keys = [];
|
||||||
console.log('Generated device id: ' + result); //a hash, representing your device fingerprint
|
keys.push(navigator.userAgent);
|
||||||
resolve(result);
|
keys.push(new Date().getTime());
|
||||||
});
|
|
||||||
|
resolve(CryptoJS.SHA1(keys.join('|')).toString());
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.btnActiveCast {
|
.btnActiveCast {
|
||||||
color: #2ad !important;
|
color: #52B54B !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headerSelectedPlayer {
|
.headerSelectedPlayer {
|
||||||
|
|
|
@ -54,11 +54,6 @@ body:not(.dashboardDocument) .mainDrawerButton {
|
||||||
color: #52B54B !important;
|
color: #52B54B !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-body-b .paperList:not(.criticReviewPaperList) {
|
|
||||||
background-color: transparent;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.criticReviewPaperList {
|
.criticReviewPaperList {
|
||||||
background-color: #262626;
|
background-color: #262626;
|
||||||
}
|
}
|
||||||
|
@ -75,10 +70,6 @@ body:not(.dashboardDocument) .mainDrawerButton {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnActiveCast {
|
|
||||||
color: #52B54B !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.libraryViewNav {
|
.libraryViewNav {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
@ -128,10 +119,6 @@ h1, h1 a {
|
||||||
padding-top: 50px !important;
|
padding-top: 50px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.localSyncStatus .labelSyncStatus {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.videoSubtitles {
|
.videoSubtitles {
|
||||||
font-size: 200% !important;
|
font-size: 200% !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
var syncPromise;
|
var syncPromise;
|
||||||
|
|
||||||
window.LocalSync = {
|
return {
|
||||||
|
|
||||||
sync: function (options) {
|
sync: function (options) {
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['loading', 'apphost', 'globalize', 'syncJobList', 'events', 'localsync', 'emby-button', 'paper-icon-button-light'], function (loading, appHost, globalize, syncJobList, events) {
|
define(['loading', 'apphost', 'globalize', 'syncJobList', 'events', 'localsync', 'emby-button', 'paper-icon-button-light'], function (loading, appHost, globalize, syncJobList, events, localSync) {
|
||||||
|
|
||||||
function initSupporterInfo(view, params) {
|
function initSupporterInfo(view, params) {
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
if (isLocalSyncManagement()) {
|
if (isLocalSyncManagement()) {
|
||||||
|
|
||||||
var status = LocalSync.getSyncStatus();
|
var status = localSync.getSyncStatus();
|
||||||
|
|
||||||
page.querySelector('.labelSyncStatus').innerHTML = Globalize.translate('LabelLocalSyncStatusValue', status);
|
page.querySelector('.labelSyncStatus').innerHTML = Globalize.translate('LabelLocalSyncStatusValue', status);
|
||||||
if (status == 'Active') {
|
if (status == 'Active') {
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
|
|
||||||
function syncNow(page) {
|
function syncNow(page) {
|
||||||
|
|
||||||
LocalSync.sync();
|
localSync.sync();
|
||||||
require(['toast'], function (toast) {
|
require(['toast'], function (toast) {
|
||||||
toast(Globalize.translate('MessageSyncStarted'));
|
toast(Globalize.translate('MessageSyncStarted'));
|
||||||
});
|
});
|
||||||
|
|
|
@ -424,7 +424,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var timeText = datetime.getDisplayRunningTime(playState.PositionTicks);
|
var timeText = playState.PositionTicks == null ? '--:--' : datetime.getDisplayRunningTime(playState.PositionTicks);
|
||||||
|
|
||||||
if (nowPlayingItem.RunTimeTicks) {
|
if (nowPlayingItem.RunTimeTicks) {
|
||||||
|
|
||||||
|
|
|
@ -1432,7 +1432,6 @@ var AppInfo = {};
|
||||||
define('fetch', [bowerPath + '/fetch/fetch']);
|
define('fetch', [bowerPath + '/fetch/fetch']);
|
||||||
define('objectassign', [embyWebComponentsBowerPath + '/objectassign']);
|
define('objectassign', [embyWebComponentsBowerPath + '/objectassign']);
|
||||||
define('native-promise-only', [bowerPath + '/native-promise-only/lib/npo.src']);
|
define('native-promise-only', [bowerPath + '/native-promise-only/lib/npo.src']);
|
||||||
define("fingerprintjs2", [bowerPath + '/fingerprintjs2/fingerprint2'], returnFirstDependency);
|
|
||||||
define("clearButtonStyle", ['css!' + embyWebComponentsBowerPath + '/clearbutton']);
|
define("clearButtonStyle", ['css!' + embyWebComponentsBowerPath + '/clearbutton']);
|
||||||
define("userdataButtons", [embyWebComponentsBowerPath + "/userdatabuttons/userdatabuttons"], returnFirstDependency);
|
define("userdataButtons", [embyWebComponentsBowerPath + "/userdatabuttons/userdatabuttons"], returnFirstDependency);
|
||||||
define("listView", [embyWebComponentsBowerPath + "/listview/listview"], returnFirstDependency);
|
define("listView", [embyWebComponentsBowerPath + "/listview/listview"], returnFirstDependency);
|
||||||
|
@ -2773,6 +2772,7 @@ var AppInfo = {};
|
||||||
|
|
||||||
require(postInitDependencies);
|
require(postInitDependencies);
|
||||||
upgradeLayouts();
|
upgradeLayouts();
|
||||||
|
initAutoSync();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2786,6 +2786,16 @@ var AppInfo = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function initAutoSync() {
|
||||||
|
require(['serverNotifications', 'events'], function (serverNotifications, events) {
|
||||||
|
events.on(serverNotifications, 'SyncJobItemReady', function (e, apiClient, data) {
|
||||||
|
require(['localsync'], function (localSync) {
|
||||||
|
localSync.sync({});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
initRequire();
|
initRequire();
|
||||||
|
|
||||||
function onWebComponentsReady() {
|
function onWebComponentsReady() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue