mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-17 19:08:18 -07:00
remove fingerprintjs
This commit is contained in:
parent
c546f03906
commit
1846f1afcf
@ -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() {
|
||||
return new Promise(function (resolve, reject) {
|
||||
|
||||
require(['fingerprintjs2'], function (Fingerprint2) {
|
||||
require(["cryptojs-sha1"], function () {
|
||||
|
||||
new Fingerprint2().get(function (result, components) {
|
||||
console.log('Generated device id: ' + result); //a hash, representing your device fingerprint
|
||||
resolve(result);
|
||||
});
|
||||
var keys = [];
|
||||
keys.push(navigator.userAgent);
|
||||
keys.push(new Date().getTime());
|
||||
|
||||
resolve(CryptoJS.SHA1(keys.join('|')).toString());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
.btnActiveCast {
|
||||
color: #2ad !important;
|
||||
color: #52B54B !important;
|
||||
}
|
||||
|
||||
.headerSelectedPlayer {
|
||||
|
@ -54,11 +54,6 @@ body:not(.dashboardDocument) .mainDrawerButton {
|
||||
color: #52B54B !important;
|
||||
}
|
||||
|
||||
.ui-body-b .paperList:not(.criticReviewPaperList) {
|
||||
background-color: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.criticReviewPaperList {
|
||||
background-color: #262626;
|
||||
}
|
||||
@ -75,10 +70,6 @@ body:not(.dashboardDocument) .mainDrawerButton {
|
||||
}
|
||||
}
|
||||
|
||||
.btnActiveCast {
|
||||
color: #52B54B !important;
|
||||
}
|
||||
|
||||
.libraryViewNav {
|
||||
font-size: 12px;
|
||||
}
|
||||
@ -128,10 +119,6 @@ h1, h1 a {
|
||||
padding-top: 50px !important;
|
||||
}
|
||||
|
||||
.localSyncStatus .labelSyncStatus {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.videoSubtitles {
|
||||
font-size: 200% !important;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
var syncPromise;
|
||||
|
||||
window.LocalSync = {
|
||||
return {
|
||||
|
||||
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) {
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
|
||||
if (isLocalSyncManagement()) {
|
||||
|
||||
var status = LocalSync.getSyncStatus();
|
||||
var status = localSync.getSyncStatus();
|
||||
|
||||
page.querySelector('.labelSyncStatus').innerHTML = Globalize.translate('LabelLocalSyncStatusValue', status);
|
||||
if (status == 'Active') {
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
function syncNow(page) {
|
||||
|
||||
LocalSync.sync();
|
||||
localSync.sync();
|
||||
require(['toast'], function (toast) {
|
||||
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) {
|
||||
|
||||
|
@ -1205,7 +1205,7 @@ var AppInfo = {};
|
||||
}
|
||||
|
||||
function createMainContentHammer(Hammer) {
|
||||
|
||||
|
||||
var hammer = new Hammer(document.querySelector('.mainDrawerPanelContent'), null);
|
||||
return hammer;
|
||||
}
|
||||
@ -1432,7 +1432,6 @@ var AppInfo = {};
|
||||
define('fetch', [bowerPath + '/fetch/fetch']);
|
||||
define('objectassign', [embyWebComponentsBowerPath + '/objectassign']);
|
||||
define('native-promise-only', [bowerPath + '/native-promise-only/lib/npo.src']);
|
||||
define("fingerprintjs2", [bowerPath + '/fingerprintjs2/fingerprint2'], returnFirstDependency);
|
||||
define("clearButtonStyle", ['css!' + embyWebComponentsBowerPath + '/clearbutton']);
|
||||
define("userdataButtons", [embyWebComponentsBowerPath + "/userdatabuttons/userdatabuttons"], returnFirstDependency);
|
||||
define("listView", [embyWebComponentsBowerPath + "/listview/listview"], returnFirstDependency);
|
||||
@ -2773,6 +2772,7 @@ var AppInfo = {};
|
||||
|
||||
require(postInitDependencies);
|
||||
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();
|
||||
|
||||
function onWebComponentsReady() {
|
||||
|
Loading…
Reference in New Issue
Block a user