Font Fingerprinter
Fingerprints fonts, see https://gist.github.com/KOLANICH/00b9145743d841cff4d7
HTML
<script src="https://gist.githubusercontent.com/KOLANICH/00b9145743d841cff4d7/raw/2558c636ca8211890c8dc2d1fa0d193664aefc4d/blake2s.min.js"></script>
<progress id="pr"></progress><br/>
<progress id="tpr"></progress>
<div id="res"></div>
JavaScript 1.7
(function(){
"use strict";
let alphabet=[
[0x20,0x7F],//latin
[0xA0,0xFF],//exlat
[0x400,0x52F],//cyr
[0x370,0x3FF],//greek
[0x2200,0x22FF],//math
[0x20A0,0x20CF],//currency
];
const windSize=200;
const countOfIts=10;
const charVecSize=3;
const defFonts=[
"Times New Roman", "Arial", "Impact","Courier New", "Bookman Old Style",//Monotype Corporation
"Consolas", "MS Gothic","Constantia", //Microsoft
"Calibri","Cambria", //office
"Wingdings", "Webdings", "Symbol",//symbol
"Ubuntu Mono", "Droid Sans", "DejaVu Sans",//linux
"Inconsolata","Inconsolata LGC", "Source Code Pro",//coders'
"Lucida Handwriting", //Bigelow & Holmes
"Georgia", //Carter & Cone
"System", "vgaoem"
];
let alphabetLength=alphabet.map(function(a){return a[1]-a[0]+1;}).reduce(function(a,b){return a+b;});
let tot=alphabetLength*defFonts.length;
const cookieVarName="fingerprint";
const srx=new RegExp(cookieVarName+"=([^;]+)(;|$)","");
function sliceCookie(){
let m=document.cookie.match(srx);
return (m?m[1]:"");
}
const reference=new...