@thumbmarkjs/thumbmarkjs 1.0.0-rc.0 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -45
- package/dist/thumbmark.cjs.js +1 -1
- package/dist/thumbmark.cjs.js.map +1 -1
- package/dist/thumbmark.esm.d.ts +0 -3
- package/dist/thumbmark.esm.js +1 -1
- package/dist/thumbmark.esm.js.map +1 -1
- package/dist/thumbmark.umd.js +1 -1
- package/dist/thumbmark.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/audio/index.ts +1 -1
- package/src/components/canvas/index.ts +1 -1
- package/src/components/fonts/index.ts +1 -1
- package/src/components/permissions/index.ts +27 -33
- package/src/factory.ts +1 -1
- package/src/{utils → functions}/filterComponents.ts +1 -1
- package/src/{fingerprint → functions}/functions.test.ts +1 -1
- package/src/{fingerprint/functions.ts → functions/index.ts} +21 -7
- package/src/{fingerprint → functions}/legacy_functions.ts +2 -2
- package/src/index.ts +3 -3
- package/src/{fingerprint/options.ts → options.ts} +2 -5
- package/src/thumbmark.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbmark.esm.js","sources":["../src/fingerprint/options.ts","../src/components/system/browser.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/screen/index.ts","../src/components/webgl/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/system/index.ts","../src/utils/filterComponents.ts","../src/fingerprint/functions.ts","../src/utils/raceAll.ts","../src/fingerprint/legacy_functions.ts","../src/thumbmark.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["defaultOptions","exclude","include","logging","timeout","cache_api_call","performance","options","setOption","key","value","includes","Error","Array","isArray","every","item","getBrowser","navigator","name","version","ua","userAgent","regexes","browserNameMap","edg","opr","samsung","regex","match","groups","toLowerCase","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","from","map","byte","toString","padStart","join","browser","ver","split","majorVer","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","permission_keys","matchMedias","results","mediaQueries","pointer","hover","update","scripting","matchMedia","matches","_RUNS","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","window","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","generateCanvasFingerprint","fonts","callback","iframe","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permissions_to_check","permissionPromises","retries","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","system","platform","productSub","product","useragent","hardwareConcurrency","location","protocol","ApplePaySession","versionCheck","supportsVersion","getApplePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","customComponents","timeoutInstance","includeComponent","creationFunction","filterThumbmarkData","path","excludeList","includeList","entries","currentPath","isExcluded","some","exclusion","startsWith","isIncluded","inclusion","filtered","getVersion","currentApiPromise","apiPromiseResult","getThumbmark","_options","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","apiPromise","api_key","components","fetch","method","headers","Authorization","JSON","stringify","clientHash","response","ok","json","catch","getApiPromise","apiResult","maybeElapsed","info","thumbmark","uniqueness","comps","opts","e","_b","_c","_d","promises","_","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","race","t","raceAllPerformance","resolvedComponentsRaw","index","getFingerprintData","getFingerprint","includeData","thumbmarkData","getFingerprintPerformance","Thumbmark","constructor","this","get","overrideOptions","globalIncludeComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thumbmark.esm.js","sources":["../src/options.ts","../src/components/system/browser.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/screen/index.ts","../src/components/webgl/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/system/index.ts","../src/functions/filterComponents.ts","../src/functions/index.ts","../src/utils/raceAll.ts","../src/functions/legacy_functions.ts","../src/thumbmark.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["defaultOptions","exclude","include","logging","timeout","cache_api_call","performance","options","setOption","key","value","includes","Error","Array","isArray","every","item","getBrowser","navigator","name","version","ua","userAgent","regexes","browserNameMap","edg","opr","samsung","regex","match","groups","toLowerCase","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","from","map","byte","toString","padStart","join","browser","ver","split","majorVer","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","matchMedias","results","mediaQueries","pointer","hover","update","scripting","matchMedia","matches","_RUNS","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","window","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","generateCanvasFingerprint","fonts","callback","iframe","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","system","platform","productSub","product","useragent","hardwareConcurrency","location","protocol","ApplePaySession","versionCheck","supportsVersion","getApplePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","customComponents","timeoutInstance","includeComponent","creationFunction","filterThumbmarkData","path","excludeList","includeList","entries","currentPath","isExcluded","some","exclusion","startsWith","isIncluded","inclusion","filtered","getVersion","packageJson.version","currentApiPromise","apiPromiseResult","getThumbmark","_options","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","apiPromise","api_key","components","fetchPromise","fetch","method","headers","Authorization","JSON","stringify","clientHash","response","ok","json","catch","timeoutMs","timeoutPromise","thumbmark","info","timed_out","race","getApiPromise","apiResult","maybeElapsed","uniqueness","comps","opts","e","_b","_c","_d","promises","_","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","getFingerprintData","getFingerprint","includeData","thumbmarkData","getFingerprintPerformance","Thumbmark","constructor","this","get","overrideOptions","globalIncludeComponent"],"mappings":"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"}
|
package/dist/thumbmark.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).ThumbmarkJS={})}(this,(function(e){"use strict";const n={exclude:[],include:[],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1};let t={...n};function r(){if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const e=navigator.userAgent,n=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/,/(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/,/(?<name>Safari)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)?)/,/(?<name>samsung).*Version\/(?<version>\d+(?:\.\d+)?)/i,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/],t={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"};for(const r of n){const n=e.match(r);if(n&&n.groups){return{name:t[n.groups.name.toLowerCase()]||n.groups.name,version:n.groups.version}}}return{name:"unknown",version:"unknown"}}function o(e){let n=0;for(let t=0;t<e.length;++t)n+=Math.abs(e[t]);return n}function a(e,n,t){let r=[];for(let n=0;n<e[0].data.length;n++){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].data[n]);r.push(i(t))}const o=new Uint8ClampedArray(r);return new ImageData(o,n,t)}function i(e){if(0===e.length)return 0;const n={};for(const t of e)n[t]=(n[t]||0)+1;let t=e[0];for(const e in n)n[e]>n[t]&&(t=parseInt(e,10));return t}function s(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const c=new Uint32Array([597399067,2869860233,951274213,2716044179]);function l(e,n){return e<<n|e>>>32-n}function u(e,n=0){var t;if(n=n?0|n:0,"string"==typeof e&&(t=e,e=(new TextEncoder).encode(t).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const r=new Uint32Array([n,n,n,n]);!function(e,n){const t=e.byteLength/16|0,r=new Uint32Array(e,0,4*t);for(let e=0;e<t;e++){const t=r.subarray(4*e,4*(e+1));t[0]=Math.imul(t[0],c[0]),t[0]=l(t[0],15),t[0]=Math.imul(t[0],c[1]),n[0]=n[0]^t[0],n[0]=l(n[0],19),n[0]=n[0]+n[1],n[0]=Math.imul(n[0],5)+1444728091,t[1]=Math.imul(t[1],c[1]),t[1]=l(t[1],16),t[1]=Math.imul(t[1],c[2]),n[1]=n[1]^t[1],n[1]=l(n[1],17),n[1]=n[1]+n[2],n[1]=Math.imul(n[1],5)+197830471,t[2]=Math.imul(t[2],c[2]),t[2]=l(t[2],17),t[2]=Math.imul(t[2],c[3]),n[2]=n[2]^t[2],n[2]=l(n[2],15),n[2]=n[2]+n[3],n[2]=Math.imul(n[2],5)+2530024501,t[3]=Math.imul(t[3],c[3]),t[3]=l(t[3],18),t[3]=Math.imul(t[3],c[0]),n[3]=n[3]^t[3],n[3]=l(n[3],13),n[3]=n[3]+n[0],n[3]=Math.imul(n[3],5)+850148119}}(e,r),function(e,n){const t=e.byteLength/16|0,r=e.byteLength%16,o=new Uint32Array(4),a=new Uint8Array(e,16*t,r);switch(r){case 15:o[3]=o[3]^a[14]<<16;case 14:o[3]=o[3]^a[13]<<8;case 13:o[3]=o[3]^a[12],o[3]=Math.imul(o[3],c[3]),o[3]=l(o[3],18),o[3]=Math.imul(o[3],c[0]),n[3]=n[3]^o[3];case 12:o[2]=o[2]^a[11]<<24;case 11:o[2]=o[2]^a[10]<<16;case 10:o[2]=o[2]^a[9]<<8;case 9:o[2]=o[2]^a[8],o[2]=Math.imul(o[2],c[2]),o[2]=l(o[2],17),o[2]=Math.imul(o[2],c[3]),n[2]=n[2]^o[2];case 8:o[1]=o[1]^a[7]<<24;case 7:o[1]=o[1]^a[6]<<16;case 6:o[1]=o[1]^a[5]<<8;case 5:o[1]=o[1]^a[4],o[1]=Math.imul(o[1],c[1]),o[1]=l(o[1],16),o[1]=Math.imul(o[1],c[2]),n[1]=n[1]^o[1];case 4:o[0]=o[0]^a[3]<<24;case 3:o[0]=o[0]^a[2]<<16;case 2:o[0]=o[0]^a[1]<<8;case 1:o[0]=o[0]^a[0],o[0]=Math.imul(o[0],c[0]),o[0]=l(o[0],15),o[0]=Math.imul(o[0],c[1]),n[0]=n[0]^o[0]}}(e,r),function(e,n){n[0]=n[0]^e.byteLength,n[1]=n[1]^e.byteLength,n[2]=n[2]^e.byteLength,n[3]=n[3]^e.byteLength,n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0,n[0]=s(n[0]),n[1]=s(n[1]),n[2]=s(n[2]),n[3]=s(n[3]),n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0}(e,r);const o=new Uint8Array(r.buffer);return Array.from(o).map((e=>e.toString(16).padStart(2,"0"))).join("")}const d=r(),m=d.name.toLowerCase(),h=d.version.split(".")[0]||"0",f=parseInt(h,10),g=280;function p(e,n){return new Promise((t=>setTimeout(t,e,n)))}const w=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],v=["monospace","sans-serif","serif"];function y(e,n){if(!e)throw new Error("Canvas context not supported");return e.font,e.font=`72px ${n}`,e.measureText("WwMmLli0Oo").width}function S(){var e;const n=document.createElement("canvas"),t=null!==(e=n.getContext("webgl"))&&void 0!==e?e:n.getContext("experimental-webgl");if(t&&"getParameter"in t)try{const e=(t.getParameter(t.VENDOR)||"").toString(),n=(t.getParameter(t.RENDERER)||"").toString();let r={vendor:e,renderer:n,version:(t.getParameter(t.VERSION)||"").toString(),shadingLanguageVersion:(t.getParameter(t.SHADING_LANGUAGE_VERSION)||"").toString()};if(!n.length||!e.length){const e=t.getExtension("WEBGL_debug_renderer_info");if(e){const n=(t.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),o=(t.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();n&&(r.vendorUnmasked=n),o&&(r.rendererUnmasked=o)}}return r}catch(e){}return"undefined"}function b(){const e=new Float32Array(1),n=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],n[3]}const E=(e,n,t,r)=>{const o=(t-n)/r;let a=0;for(let t=0;t<r;t++){a+=e(n+(t+.5)*o)}return a*o};function M(e,n){const t={};return n.forEach((n=>{const r=function(e){if(0===e.length)return null;const n={};e.forEach((e=>{const t=String(e);n[t]=(n[t]||0)+1}));let t=e[0],r=1;return Object.keys(n).forEach((e=>{n[e]>r&&(t=e,r=n[e])})),t}(e.map((e=>n in e?e[n]:void 0)).filter((e=>void 0!==e)));r&&(t[n]=r)})),t}let P;function A(){let e=[];const n={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(n).forEach((t=>{n[t].forEach((n=>{matchMedia(`(${t}: ${n})`).matches&&e.push(`${t}: ${n}`)}))})),e}const C="SamsungBrowser"!==r().name?1:3;let k,T=null;const x={audio:async function(e){const n=r();return["SamsungBrowser","Safari"].includes(n.name)?null:async function(){return new Promise(((e,n)=>{try{const n=44100,t=5e3,r=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,t,n),a=r.createBufferSource(),i=r.createOscillator();i.frequency.value=1e3;const s=r.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,i.connect(s),s.connect(r.destination),i.start(),r.oncomplete=n=>{c=n.renderedBuffer.getChannelData(0),e({sampleHash:o(c),maxChannels:r.destination.maxChannelCount,channelCountMode:a.channelCountMode})},r.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),n(e)}}))}()},canvas:async function(e){return r(),"firefox"===m||"safari"===m&&f>=17?null:function(){const e=document.createElement("canvas");return e.getContext("2d"),new Promise((e=>{const n=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)return new ImageData(1,1);e.width=g,e.height=20;const t=n.createLinearGradient(0,0,e.width,e.height);t.addColorStop(0,"red"),t.addColorStop(1/6,"orange"),t.addColorStop(2/6,"yellow"),t.addColorStop(.5,"green"),t.addColorStop(4/6,"blue"),t.addColorStop(5/6,"indigo"),t.addColorStop(1,"violet"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height);const r="Random Text WMwmil10Oo";n.font="23.123px Arial",n.fillStyle="black",n.fillText(r,-5,15),n.fillStyle="rgba(0, 0, 255, 0.5)",n.fillText(r,-3.3,17.7),n.beginPath(),n.moveTo(0,0),n.lineTo(2*e.width/7,e.height),n.strokeStyle="white",n.lineWidth=2,n.stroke();const o=n.getImageData(0,0,e.width,e.height);return o}()));e({commonPixelsHash:u(a(n,g,20).data.toString()).toString()})}))}()},fonts:async function(e){const n=r();return["Firefox"].includes(n.name)?null:new Promise(((e,n)=>{try{!async function(e){for(var n;!document.body;)await p(50);const t=document.createElement("iframe");t.setAttribute("frameBorder","0");const r=t.style;r.setProperty("position","fixed"),r.setProperty("display","block","important"),r.setProperty("visibility","visible"),r.setProperty("border","0"),r.setProperty("opacity","0"),t.src="about:blank",document.body.appendChild(t);const o=t.contentDocument||(null===(n=t.contentWindow)||void 0===n?void 0:n.document);if(!o)throw new Error("Iframe document is not accessible");e({iframe:o}),setTimeout((()=>{document.body.removeChild(t)}),0)}((async({iframe:n})=>{const t=n.createElement("canvas").getContext("2d"),r=v.map((e=>y(t,e)));let o={};w.forEach((e=>{const n=y(t,e);r.includes(n)||(o[e]=n)})),e(o)}))}catch(e){n({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,n)=>{const t=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,r=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:S(),architecture:b(),deviceMemory:t.toString()||"undefined",jsHeapSizeLimit:r.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:E(Math.asin,-1,1,97),cos:E(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:E(Math.sin,-Math.PI,Math.PI,97),tan:E(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(){P=(null==t?void 0:t.permissions_to_check)||["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"],"safari"===r().name.toLowerCase()&&(P=P.filter((e=>!["camera","geolocation","microphone"].includes(e))));const e=Array.from({length:(null==t?void 0:t.retries)||3},(()=>async function(){const e={};for(const n of P)try{const t=await navigator.permissions.query({name:n});e[n]=t.state.toString()}catch(e){}return e}()));return Promise.all(e).then((e=>M(e,P)))},plugins:function(){const e=[];if(navigator.plugins)for(let n=0;n<navigator.plugins.length;n++){const t=navigator.plugins[n];e.push([t.name,t.filename,t.description].join("|"))}return new Promise((n=>{n({plugins:e})}))},screen:function(){return new Promise((e=>{e({is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:A()})}))},system:function(){return new Promise((e=>{const n=r(),t={platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:n.name,version:n.version}};"safari"!==n.name.toLowerCase()&&(t.applePayVersion=function(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let n=15;n>0;n--)if(e(n))return n}catch(e){return 0}return 0}(),t.cookieEnabled=window.navigator.cookieEnabled),e(t)}))},webgl:async function(){"undefined"!=typeof document&&(k=document.createElement("canvas"),k.width=200,k.height=100,T=k.getContext("webgl"));try{if(!T)throw new Error("WebGL not supported");const e=Array.from({length:C},(()=>function(){try{if(!T)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",n="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",t=T.createShader(T.VERTEX_SHADER),r=T.createShader(T.FRAGMENT_SHADER);if(!t||!r)throw new Error("Failed to create shaders");if(T.shaderSource(t,e),T.shaderSource(r,n),T.compileShader(t),!T.getShaderParameter(t,T.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+T.getShaderInfoLog(t));if(T.compileShader(r),!T.getShaderParameter(r,T.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+T.getShaderInfoLog(r));const o=T.createProgram();if(!o)throw new Error("Failed to create shader program");if(T.attachShader(o,t),T.attachShader(o,r),T.linkProgram(o),!T.getProgramParameter(o,T.LINK_STATUS))throw new Error("Shader program linking failed: "+T.getProgramInfoLog(o));T.useProgram(o);const a=137,i=new Float32Array(4*a),s=2*Math.PI/a;for(let e=0;e<a;e++){const n=e*s;i[4*e]=0,i[4*e+1]=0,i[4*e+2]=Math.cos(n)*(k.width/2),i[4*e+3]=Math.sin(n)*(k.height/2)}const c=T.createBuffer();T.bindBuffer(T.ARRAY_BUFFER,c),T.bufferData(T.ARRAY_BUFFER,i,T.STATIC_DRAW);const l=T.getAttribLocation(o,"position");T.enableVertexAttribArray(l),T.vertexAttribPointer(l,2,T.FLOAT,!1,0,0),T.viewport(0,0,k.width,k.height),T.clearColor(0,0,0,1),T.clear(T.COLOR_BUFFER_BIT),T.drawArrays(T.LINES,0,2*a);const u=new Uint8ClampedArray(k.width*k.height*4);T.readPixels(0,0,k.width,k.height,T.RGBA,T.UNSIGNED_BYTE,u);return new ImageData(u,k.width,k.height)}catch(e){return new ImageData(1,1)}finally{T&&(T.bindBuffer(T.ARRAY_BUFFER,null),T.useProgram(null),T.viewport(0,0,T.drawingBufferWidth,T.drawingBufferHeight),T.clearColor(0,0,0,0))}}()));return{commonPixelsHash:u(a(e,k.width,k.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},_={},R={timeout:"true"},L=(e,n,t)=>{_[e]=n};function I(e,n,t=""){const r={},o=(null==n?void 0:n.exclude)||[],a=(null==n?void 0:n.include)||[];for(const[i,s]of Object.entries(e)){const e=t+i+".";if("object"!=typeof s||Array.isArray(s)){const n=o.some((n=>e.startsWith(n))),t=a.some((n=>e.startsWith(n)));n&&!t||(r[i]=s)}else{const t=I(s,n,e);Object.keys(t).length>0&&(r[i]=t)}}return r}function O(){return"1.0.0-rc.0"}let B=null,D=null;async function F(e){const t={...n,...e},r={...x,..._},{elapsed:o,resolvedComponents:a}=await U(r,t),i=t.api_key?((e,n)=>e.cache_api_call&&D?Promise.resolve(D):B||(B=fetch("https://api-dev.thumbmarkjs.com/thumbmark",{method:"POST",headers:{"x-api-key":e.api_key,Authorization:"custom-authorized"},body:JSON.stringify({components:n,clientHash:u(JSON.stringify(n))})}).then((e=>{if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return e.json()})).then((e=>(D=e,B=null,e))).catch((e=>(console.error("Error fetching pro data",e),B=null,null))),B))(t,a):null,s=i?await i:null,c=t.performance?{elapsed:o}:{};if(s){return{components:a,info:s.info||{},version:"1.0.0-rc.0",thumbmark:s.thumbmark||"undefined",...c}}return{thumbmark:u(JSON.stringify(a)),components:a,info:{uniqueness:"api only"},version:"1.0.0-rc.0",...c}}async function U(e,t){const r={...n,...t},o=Object.entries(e).filter((([e])=>{var n;return!(null===(n=null==r?void 0:r.exclude)||void 0===n?void 0:n.includes(e))})).filter((([e])=>{var n,t,o,a;return(null===(n=null==r?void 0:r.include)||void 0===n?void 0:n.some((e=>e.includes("."))))?null===(t=null==r?void 0:r.include)||void 0===t?void 0:t.some((n=>n.startsWith(e))):0===(null===(o=null==r?void 0:r.include)||void 0===o?void 0:o.length)||(null===(a=null==r?void 0:r.include)||void 0===a?void 0:a.includes(e))})),a=o.map((([e])=>e)),i=o.map((([e,n])=>n())),s=await function(e,n,t){return Promise.all(e.map((e=>{const r=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-r}))),(o=n,a=t,new Promise((e=>{setTimeout((()=>e(a)),o)}))).then((e=>({value:e,elapsed:performance.now()-r})))]);var o,a})))}(i,(null==r?void 0:r.timeout)||1e3,R),c={},l={};s.forEach(((e,n)=>{var t;null!=e.value&&(l[a[n]]=e.value,c[a[n]]=null!==(t=e.elapsed)&&void 0!==t?t:0)}));const u=I(l,r,"");return{elapsed:c,resolvedComponents:u}}e.Thumbmark=class{constructor(e){this.options={...n,...e}}async get(e){return F({...this.options,...e})}getVersion(){return"1.0.0-rc.0"}includeComponent(e,n){L(e,n)}},e.getFingerprint=async function(e){try{const n=await F(t);return e?{hash:n.thumbmark.toString(),data:n.components}:n.thumbmark.toString()}catch(e){throw e}},e.getFingerprintData=async function(){return(await F(t)).components},e.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:n}=await U(x,t);return{...n,elapsed:e}}catch(e){throw e}},e.getThumbmark=F,e.getVersion=O,e.includeComponent=L,e.setOption=function(e,n){if(!["include","exclude","permissions_to_check","retries","timeout","logging","api_key","cache_api_call"].includes(e))throw new Error("Unknown option "+e);if(["include","exclude","permissions_to_check"].includes(e)&&(!Array.isArray(n)||!n.every((e=>"string"==typeof e))))throw new Error("The value of the include, exclude and permissions_to_check must be an array of strings");if(["retries","timeout"].includes(e)&&"number"!=typeof n)throw new Error("The value of retries must be a number");t[e]=n}}));
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).ThumbmarkJS={})}(this,(function(e){"use strict";const n={exclude:[],include:[],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1};let t={...n};function r(){if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const e=navigator.userAgent,n=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>Edge|Edg)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>(?:Chrome|Chromium|OPR|Opera|Vivaldi|Brave))\/(?<version>\d+(?:\.\d+)?)/,/(?<name>(?:Firefox|Waterfox|Iceweasel|IceCat))\/(?<version>\d+(?:\.\d+)?)/,/(?<name>Safari)\/(?<version>\d+(?:\.\d+)?)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)?)/,/(?<name>samsung).*Version\/(?<version>\d+(?:\.\d+)?)/i,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)?)/],t={edg:"Edge",opr:"Opera",samsung:"SamsungBrowser"};for(const r of n){const n=e.match(r);if(n&&n.groups){return{name:t[n.groups.name.toLowerCase()]||n.groups.name,version:n.groups.version}}}return{name:"unknown",version:"unknown"}}function o(e){let n=0;for(let t=0;t<e.length;++t)n+=Math.abs(e[t]);return n}function a(e,n,t){let r=[];for(let n=0;n<e[0].data.length;n++){let t=[];for(let r=0;r<e.length;r++)t.push(e[r].data[n]);r.push(i(t))}const o=new Uint8ClampedArray(r);return new ImageData(o,n,t)}function i(e){if(0===e.length)return 0;const n={};for(const t of e)n[t]=(n[t]||0)+1;let t=e[0];for(const e in n)n[e]>n[t]&&(t=parseInt(e,10));return t}function s(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const c=new Uint32Array([597399067,2869860233,951274213,2716044179]);function u(e,n){return e<<n|e>>>32-n}function l(e,n=0){var t;if(n=n?0|n:0,"string"==typeof e&&(t=e,e=(new TextEncoder).encode(t).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const r=new Uint32Array([n,n,n,n]);!function(e,n){const t=e.byteLength/16|0,r=new Uint32Array(e,0,4*t);for(let e=0;e<t;e++){const t=r.subarray(4*e,4*(e+1));t[0]=Math.imul(t[0],c[0]),t[0]=u(t[0],15),t[0]=Math.imul(t[0],c[1]),n[0]=n[0]^t[0],n[0]=u(n[0],19),n[0]=n[0]+n[1],n[0]=Math.imul(n[0],5)+1444728091,t[1]=Math.imul(t[1],c[1]),t[1]=u(t[1],16),t[1]=Math.imul(t[1],c[2]),n[1]=n[1]^t[1],n[1]=u(n[1],17),n[1]=n[1]+n[2],n[1]=Math.imul(n[1],5)+197830471,t[2]=Math.imul(t[2],c[2]),t[2]=u(t[2],17),t[2]=Math.imul(t[2],c[3]),n[2]=n[2]^t[2],n[2]=u(n[2],15),n[2]=n[2]+n[3],n[2]=Math.imul(n[2],5)+2530024501,t[3]=Math.imul(t[3],c[3]),t[3]=u(t[3],18),t[3]=Math.imul(t[3],c[0]),n[3]=n[3]^t[3],n[3]=u(n[3],13),n[3]=n[3]+n[0],n[3]=Math.imul(n[3],5)+850148119}}(e,r),function(e,n){const t=e.byteLength/16|0,r=e.byteLength%16,o=new Uint32Array(4),a=new Uint8Array(e,16*t,r);switch(r){case 15:o[3]=o[3]^a[14]<<16;case 14:o[3]=o[3]^a[13]<<8;case 13:o[3]=o[3]^a[12],o[3]=Math.imul(o[3],c[3]),o[3]=u(o[3],18),o[3]=Math.imul(o[3],c[0]),n[3]=n[3]^o[3];case 12:o[2]=o[2]^a[11]<<24;case 11:o[2]=o[2]^a[10]<<16;case 10:o[2]=o[2]^a[9]<<8;case 9:o[2]=o[2]^a[8],o[2]=Math.imul(o[2],c[2]),o[2]=u(o[2],17),o[2]=Math.imul(o[2],c[3]),n[2]=n[2]^o[2];case 8:o[1]=o[1]^a[7]<<24;case 7:o[1]=o[1]^a[6]<<16;case 6:o[1]=o[1]^a[5]<<8;case 5:o[1]=o[1]^a[4],o[1]=Math.imul(o[1],c[1]),o[1]=u(o[1],16),o[1]=Math.imul(o[1],c[2]),n[1]=n[1]^o[1];case 4:o[0]=o[0]^a[3]<<24;case 3:o[0]=o[0]^a[2]<<16;case 2:o[0]=o[0]^a[1]<<8;case 1:o[0]=o[0]^a[0],o[0]=Math.imul(o[0],c[0]),o[0]=u(o[0],15),o[0]=Math.imul(o[0],c[1]),n[0]=n[0]^o[0]}}(e,r),function(e,n){n[0]=n[0]^e.byteLength,n[1]=n[1]^e.byteLength,n[2]=n[2]^e.byteLength,n[3]=n[3]^e.byteLength,n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0,n[0]=s(n[0]),n[1]=s(n[1]),n[2]=s(n[2]),n[3]=s(n[3]),n[0]=n[0]+n[1]|0,n[0]=n[0]+n[2]|0,n[0]=n[0]+n[3]|0,n[1]=n[1]+n[0]|0,n[2]=n[2]+n[0]|0,n[3]=n[3]+n[0]|0}(e,r);const o=new Uint8Array(r.buffer);return Array.from(o).map((e=>e.toString(16).padStart(2,"0"))).join("")}const d=r(),m=d.name.toLowerCase(),h=d.version.split(".")[0]||"0",f=parseInt(h,10),g=280;function p(e,n){return new Promise((t=>setTimeout(t,e,n)))}const w=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],v=["monospace","sans-serif","serif"];function y(e,n){if(!e)throw new Error("Canvas context not supported");return e.font,e.font=`72px ${n}`,e.measureText("WwMmLli0Oo").width}function S(){var e;const n=document.createElement("canvas"),t=null!==(e=n.getContext("webgl"))&&void 0!==e?e:n.getContext("experimental-webgl");if(t&&"getParameter"in t)try{const e=(t.getParameter(t.VENDOR)||"").toString(),n=(t.getParameter(t.RENDERER)||"").toString();let r={vendor:e,renderer:n,version:(t.getParameter(t.VERSION)||"").toString(),shadingLanguageVersion:(t.getParameter(t.SHADING_LANGUAGE_VERSION)||"").toString()};if(!n.length||!e.length){const e=t.getExtension("WEBGL_debug_renderer_info");if(e){const n=(t.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),o=(t.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();n&&(r.vendorUnmasked=n),o&&(r.rendererUnmasked=o)}}return r}catch(e){}return"undefined"}function b(){const e=new Float32Array(1),n=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],n[3]}const P=(e,n,t,r)=>{const o=(t-n)/r;let a=0;for(let t=0;t<r;t++){a+=e(n+(t+.5)*o)}return a*o};function E(e,n){const t={};return n.forEach((n=>{const r=function(e){if(0===e.length)return null;const n={};e.forEach((e=>{const t=String(e);n[t]=(n[t]||0)+1}));let t=e[0],r=1;return Object.keys(n).forEach((e=>{n[e]>r&&(t=e,r=n[e])})),t}(e.map((e=>n in e?e[n]:void 0)).filter((e=>void 0!==e)));r&&(t[n]=r)})),t}const M=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function A(){let e=[];const n={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(n).forEach((t=>{n[t].forEach((n=>{matchMedia(`(${t}: ${n})`).matches&&e.push(`${t}: ${n}`)}))})),e}const C="SamsungBrowser"!==r().name?1:3;let k,T=null;const x={audio:async function(e){const n=r();return["SamsungBrowser","Safari"].includes(n.name)?null:async function(){return new Promise(((e,n)=>{try{const n=44100,t=5e3,r=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,t,n),a=r.createBufferSource(),i=r.createOscillator();i.frequency.value=1e3;const s=r.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,i.connect(s),s.connect(r.destination),i.start(),r.oncomplete=n=>{c=n.renderedBuffer.getChannelData(0),e({sampleHash:o(c),maxChannels:r.destination.maxChannelCount,channelCountMode:a.channelCountMode})},r.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),n(e)}}))}()},canvas:async function(e){return r(),"firefox"===m||"safari"===m&&f>=17?null:function(){const e=document.createElement("canvas");return e.getContext("2d"),new Promise((e=>{const n=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),n=e.getContext("2d");if(!n)return new ImageData(1,1);e.width=g,e.height=20;const t=n.createLinearGradient(0,0,e.width,e.height);t.addColorStop(0,"red"),t.addColorStop(1/6,"orange"),t.addColorStop(2/6,"yellow"),t.addColorStop(.5,"green"),t.addColorStop(4/6,"blue"),t.addColorStop(5/6,"indigo"),t.addColorStop(1,"violet"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height);const r="Random Text WMwmil10Oo";n.font="23.123px Arial",n.fillStyle="black",n.fillText(r,-5,15),n.fillStyle="rgba(0, 0, 255, 0.5)",n.fillText(r,-3.3,17.7),n.beginPath(),n.moveTo(0,0),n.lineTo(2*e.width/7,e.height),n.strokeStyle="white",n.lineWidth=2,n.stroke();const o=n.getImageData(0,0,e.width,e.height);return o}()));e({commonPixelsHash:l(a(n,g,20).data.toString()).toString()})}))}()},fonts:async function(e){const n=r();return["Firefox"].includes(n.name)?null:new Promise(((e,n)=>{try{!async function(e){for(var n;!document.body;)await p(50);const t=document.createElement("iframe");t.setAttribute("frameBorder","0");const r=t.style;r.setProperty("position","fixed"),r.setProperty("display","block","important"),r.setProperty("visibility","visible"),r.setProperty("border","0"),r.setProperty("opacity","0"),t.src="about:blank",document.body.appendChild(t);const o=t.contentDocument||(null===(n=t.contentWindow)||void 0===n?void 0:n.document);if(!o)throw new Error("Iframe document is not accessible");e({iframe:o}),setTimeout((()=>{document.body.removeChild(t)}),0)}((async({iframe:n})=>{const t=n.createElement("canvas").getContext("2d"),r=v.map((e=>y(t,e)));let o={};w.forEach((e=>{const n=y(t,e);r.includes(n)||(o[e]=n)})),e(o)}))}catch(e){n({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,n)=>{const t=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,r=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:S(),architecture:b(),deviceMemory:t.toString()||"undefined",jsHeapSizeLimit:r.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:P(Math.asin,-1,1,97),cos:P(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:P(Math.sin,-Math.PI,Math.PI,97),tan:P(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let n=(null==e?void 0:e.permissions_to_check)||M;"safari"===r().name.toLowerCase()&&(n=n.filter((e=>!["camera","geolocation","microphone"].includes(e))));const t=Array.from({length:3},(()=>async function(e){const n={};for(const t of e)try{const e=await navigator.permissions.query({name:t});n[t]=e.state.toString()}catch(e){}return n}(n)));return Promise.all(t).then((e=>E(e,n)))},plugins:function(){const e=[];if(navigator.plugins)for(let n=0;n<navigator.plugins.length;n++){const t=navigator.plugins[n];e.push([t.name,t.filename,t.description].join("|"))}return new Promise((n=>{n({plugins:e})}))},screen:function(){return new Promise((e=>{e({is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:A()})}))},system:function(){return new Promise((e=>{const n=r(),t={platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:n.name,version:n.version}};"safari"!==n.name.toLowerCase()&&(t.applePayVersion=function(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let n=15;n>0;n--)if(e(n))return n}catch(e){return 0}return 0}(),t.cookieEnabled=window.navigator.cookieEnabled),e(t)}))},webgl:async function(){"undefined"!=typeof document&&(k=document.createElement("canvas"),k.width=200,k.height=100,T=k.getContext("webgl"));try{if(!T)throw new Error("WebGL not supported");const e=Array.from({length:C},(()=>function(){try{if(!T)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",n="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",t=T.createShader(T.VERTEX_SHADER),r=T.createShader(T.FRAGMENT_SHADER);if(!t||!r)throw new Error("Failed to create shaders");if(T.shaderSource(t,e),T.shaderSource(r,n),T.compileShader(t),!T.getShaderParameter(t,T.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+T.getShaderInfoLog(t));if(T.compileShader(r),!T.getShaderParameter(r,T.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+T.getShaderInfoLog(r));const o=T.createProgram();if(!o)throw new Error("Failed to create shader program");if(T.attachShader(o,t),T.attachShader(o,r),T.linkProgram(o),!T.getProgramParameter(o,T.LINK_STATUS))throw new Error("Shader program linking failed: "+T.getProgramInfoLog(o));T.useProgram(o);const a=137,i=new Float32Array(4*a),s=2*Math.PI/a;for(let e=0;e<a;e++){const n=e*s;i[4*e]=0,i[4*e+1]=0,i[4*e+2]=Math.cos(n)*(k.width/2),i[4*e+3]=Math.sin(n)*(k.height/2)}const c=T.createBuffer();T.bindBuffer(T.ARRAY_BUFFER,c),T.bufferData(T.ARRAY_BUFFER,i,T.STATIC_DRAW);const u=T.getAttribLocation(o,"position");T.enableVertexAttribArray(u),T.vertexAttribPointer(u,2,T.FLOAT,!1,0,0),T.viewport(0,0,k.width,k.height),T.clearColor(0,0,0,1),T.clear(T.COLOR_BUFFER_BIT),T.drawArrays(T.LINES,0,2*a);const l=new Uint8ClampedArray(k.width*k.height*4);T.readPixels(0,0,k.width,k.height,T.RGBA,T.UNSIGNED_BYTE,l);return new ImageData(l,k.width,k.height)}catch(e){return new ImageData(1,1)}finally{T&&(T.bindBuffer(T.ARRAY_BUFFER,null),T.useProgram(null),T.viewport(0,0,T.drawingBufferWidth,T.drawingBufferHeight),T.clearColor(0,0,0,0))}}()));return{commonPixelsHash:l(a(e,k.width,k.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},_={},R={timeout:"true"},L=(e,n,t)=>{_[e]=n};var I="1.0.0-rc.1";function O(e,n,t=""){const r={},o=(null==n?void 0:n.exclude)||[],a=(null==n?void 0:n.include)||[];for(const[i,s]of Object.entries(e)){const e=t+i+".";if("object"!=typeof s||Array.isArray(s)){const n=o.some((n=>e.startsWith(n))),t=a.some((n=>e.startsWith(n)));n&&!t||(r[i]=s)}else{const t=O(s,n,e);Object.keys(t).length>0&&(r[i]=t)}}return r}function B(){return I}let D=null,F=null;async function N(e){const t={...n,...e},r={...x,..._},{elapsed:o,resolvedComponents:a}=await U(r,t),i=t.api_key?((e,n)=>{if(e.cache_api_call&&F)return Promise.resolve(F);if(D)return D;const t=fetch("https://api-dev.thumbmarkjs.com/thumbmark",{method:"POST",headers:{"x-api-key":e.api_key,Authorization:"custom-authorized"},body:JSON.stringify({components:n,clientHash:l(JSON.stringify(n))})}).then((e=>{if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return e.json()})).then((e=>(F=e,D=null,e))).catch((e=>(console.error("Error fetching pro data",e),D=null,null))),r=e.timeout||5e3,o=new Promise((e=>{setTimeout((()=>{e({thumbmark:l(JSON.stringify(n)),info:{timed_out:!0},version:I})}),r)}));return D=Promise.race([t,o]),D})(t,a):null,s=i?await i:null,c=t.performance?{elapsed:o}:{};if(s){return{components:a,info:s.info||{},version:B(),thumbmark:s.thumbmark||"undefined",...c}}return{thumbmark:l(JSON.stringify(a)),components:a,info:{uniqueness:"api only"},version:B(),...c}}async function U(e,t){const r={...n,...t},o=Object.entries(e).filter((([e])=>{var n;return!(null===(n=null==r?void 0:r.exclude)||void 0===n?void 0:n.includes(e))})).filter((([e])=>{var n,t,o,a;return(null===(n=null==r?void 0:r.include)||void 0===n?void 0:n.some((e=>e.includes("."))))?null===(t=null==r?void 0:r.include)||void 0===t?void 0:t.some((n=>n.startsWith(e))):0===(null===(o=null==r?void 0:r.include)||void 0===o?void 0:o.length)||(null===(a=null==r?void 0:r.include)||void 0===a?void 0:a.includes(e))})),a=o.map((([e])=>e)),i=o.map((([e,n])=>n(t))),s=await function(e,n,t){return Promise.all(e.map((e=>{const r=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-r}))),(o=n,a=t,new Promise((e=>{setTimeout((()=>e(a)),o)}))).then((e=>({value:e,elapsed:performance.now()-r})))]);var o,a})))}(i,(null==r?void 0:r.timeout)||5e3,R),c={},u={};s.forEach(((e,n)=>{var t;null!=e.value&&(u[a[n]]=e.value,c[a[n]]=null!==(t=e.elapsed)&&void 0!==t?t:0)}));const l=O(u,r,"");return{elapsed:c,resolvedComponents:l}}e.Thumbmark=class{constructor(e){this.options={...n,...e}}async get(e){return N({...this.options,...e})}getVersion(){return B()}includeComponent(e,n){L(e,n)}},e.getFingerprint=async function(e){try{const n=await N(t);return e?{hash:n.thumbmark.toString(),data:n.components}:n.thumbmark.toString()}catch(e){throw e}},e.getFingerprintData=async function(){return(await N(t)).components},e.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:n}=await U(x,t);return{...n,elapsed:e}}catch(e){throw e}},e.getThumbmark=N,e.getVersion=B,e.includeComponent=L,e.setOption=function(e,n){if(!["include","exclude","permissions_to_check","retries","timeout","logging","api_key","cache_api_call"].includes(e))throw new Error("Unknown option "+e);if(["include","exclude","permissions_to_check"].includes(e)&&(!Array.isArray(n)||!n.every((e=>"string"==typeof e))))throw new Error("The value of the include, exclude and permissions_to_check must be an array of strings");if(["retries","timeout"].includes(e)&&"number"!=typeof n)throw new Error("The value of retries must be a number");t[e]=n}}));
|
|
2
2
|
//# sourceMappingURL=thumbmark.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbmark.umd.js","sources":["../src/fingerprint/options.ts","../src/components/system/browser.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/screen/index.ts","../src/components/webgl/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/system/index.ts","../src/utils/filterComponents.ts","../src/fingerprint/functions.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/fingerprint/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["defaultOptions","exclude","include","logging","timeout","cache_api_call","performance","options","getBrowser","navigator","name","version","ua","userAgent","regexes","browserNameMap","edg","opr","samsung","regex","match","groups","toLowerCase","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","browser","ver","split","majorVer","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","Error","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","permission_keys","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","_RUNS","tm_component_promises","audio","async","includes","reject","sampleRate","numSamples","audioContext","window","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","generateCanvasFingerprint","fonts","callback","iframe","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permissions_to_check","permissionPromises","retries","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","system","platform","productSub","product","useragent","hardwareConcurrency","location","protocol","ApplePaySession","versionCheck","supportsVersion","getApplePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","customComponents","timeoutInstance","includeComponent","creationFunction","filterThumbmarkData","path","excludeList","includeList","entries","currentPath","isArray","isExcluded","some","exclusion","startsWith","isIncluded","inclusion","filtered","getVersion","currentApiPromise","apiPromiseResult","getThumbmark","_options","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","apiPromise","api_key","components","fetch","method","headers","Authorization","JSON","stringify","clientHash","response","ok","json","catch","getApiPromise","apiResult","maybeElapsed","info","thumbmark","uniqueness","comps","opts","e","_b","_c","_d","promises","_","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","race","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData","thumbmarkData","every","item"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thumbmark.umd.js","sources":["../src/options.ts","../src/components/system/browser.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/screen/index.ts","../src/components/webgl/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/system/index.ts","../src/functions/filterComponents.ts","../src/functions/index.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["defaultOptions","exclude","include","logging","timeout","cache_api_call","performance","options","getBrowser","navigator","name","version","ua","userAgent","regexes","browserNameMap","edg","opr","samsung","regex","match","groups","toLowerCase","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","browser","ver","split","majorVer","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","Error","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","_RUNS","tm_component_promises","audio","async","includes","reject","sampleRate","numSamples","audioContext","window","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","generateCanvasFingerprint","fonts","callback","iframe","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","system","platform","productSub","product","useragent","hardwareConcurrency","location","protocol","ApplePaySession","versionCheck","supportsVersion","getApplePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","customComponents","timeoutInstance","includeComponent","creationFunction","filterThumbmarkData","path","excludeList","includeList","entries","currentPath","isArray","isExcluded","some","exclusion","startsWith","isIncluded","inclusion","filtered","getVersion","packageJson.version","currentApiPromise","apiPromiseResult","getThumbmark","_options","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","apiPromise","api_key","components","fetchPromise","fetch","method","headers","Authorization","JSON","stringify","clientHash","response","ok","json","catch","timeoutMs","timeoutPromise","thumbmark","info","timed_out","race","getApiPromise","apiResult","maybeElapsed","uniqueness","comps","opts","e","_b","_c","_d","promises","_","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData","thumbmarkData","every","item"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { componentInterface, componentFunctionInterface, includeComponent } from '../../factory'
|
|
2
|
-
import { optionsInterface } from '../../
|
|
2
|
+
import { optionsInterface } from '../../options';
|
|
3
3
|
import { getBrowser } from '../system/browser'
|
|
4
4
|
|
|
5
5
|
export default async function getAudio(options?: optionsInterface): Promise<componentInterface | null> {
|
|
@@ -2,7 +2,7 @@ import { componentInterface, includeComponent } from '../../factory';
|
|
|
2
2
|
import { getCommonPixels } from '../../utils/commonPixels';
|
|
3
3
|
import { hash } from '../../utils/hash';
|
|
4
4
|
import { getBrowser } from '../system/browser';
|
|
5
|
-
import { optionsInterface } from '../../
|
|
5
|
+
import { optionsInterface } from '../../options';
|
|
6
6
|
|
|
7
7
|
const browser = getBrowser();
|
|
8
8
|
const name = browser.name.toLowerCase();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { componentInterface, includeComponent } from '../../factory'
|
|
2
2
|
import { ephemeralIFrame } from '../../utils/ephemeralIFrame'
|
|
3
3
|
import { getBrowser } from '../system/browser'
|
|
4
|
-
import { optionsInterface } from '../../
|
|
4
|
+
import { optionsInterface } from '../../options'
|
|
5
5
|
|
|
6
6
|
interface FontMetrics {[k: string]: number}
|
|
7
7
|
|
|
@@ -1,61 +1,55 @@
|
|
|
1
1
|
import { componentInterface, includeComponent } from '../../factory';
|
|
2
2
|
import { mostFrequentValuesInArrayOfDictionaries } from '../../utils/getMostFrequent';
|
|
3
|
-
import {
|
|
3
|
+
import { optionsInterface } from '../../options';
|
|
4
4
|
import { getBrowser } from '../system/browser';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
'query',
|
|
28
|
-
] as PermissionName[];
|
|
29
|
-
}
|
|
6
|
+
const defaultPermissionKeys: PermissionName[] = [
|
|
7
|
+
'accelerometer',
|
|
8
|
+
'accessibility', 'accessibility-events',
|
|
9
|
+
'ambient-light-sensor',
|
|
10
|
+
'background-fetch', 'background-sync', 'bluetooth',
|
|
11
|
+
'camera',
|
|
12
|
+
'clipboard-read',
|
|
13
|
+
'clipboard-write',
|
|
14
|
+
'device-info', 'display-capture',
|
|
15
|
+
'gyroscope', 'geolocation',
|
|
16
|
+
'local-fonts',
|
|
17
|
+
'magnetometer', 'microphone', 'midi',
|
|
18
|
+
'nfc', 'notifications',
|
|
19
|
+
'payment-handler',
|
|
20
|
+
'persistent-storage',
|
|
21
|
+
'push',
|
|
22
|
+
'speaker', 'storage-access',
|
|
23
|
+
'top-level-storage-access',
|
|
24
|
+
'window-management',
|
|
25
|
+
'query',
|
|
26
|
+
] as PermissionName[];
|
|
30
27
|
|
|
31
|
-
export default async function getPermissions(): Promise<componentInterface> {
|
|
32
|
-
|
|
28
|
+
export default async function getPermissions(options?: optionsInterface): Promise<componentInterface> {
|
|
29
|
+
let permission_keys = options?.permissions_to_check || defaultPermissionKeys;
|
|
33
30
|
const browser = getBrowser();
|
|
34
31
|
if (browser.name.toLowerCase() === 'safari') { // removing from Safari due to iFrame handling
|
|
35
32
|
permission_keys = permission_keys.filter((key) => !['camera', 'geolocation', 'microphone'].includes(key));
|
|
36
33
|
}
|
|
37
|
-
const
|
|
34
|
+
const retries = 3;
|
|
35
|
+
const permissionPromises: Promise<componentInterface>[] = Array.from({length: retries}, () => getBrowserPermissionsOnce(permission_keys) );
|
|
38
36
|
return Promise.all(permissionPromises).then((resolvedPermissions) => {
|
|
39
37
|
const permission = mostFrequentValuesInArrayOfDictionaries(resolvedPermissions, permission_keys);
|
|
40
38
|
return permission;
|
|
41
39
|
});
|
|
42
40
|
}
|
|
43
41
|
|
|
44
|
-
async function getBrowserPermissionsOnce(): Promise<componentInterface> {
|
|
45
|
-
|
|
42
|
+
async function getBrowserPermissionsOnce(permission_keys: PermissionName[]): Promise<componentInterface> {
|
|
46
43
|
const permissionStatus: { [key: string]: string } = {};
|
|
47
|
-
|
|
48
44
|
for (const feature of permission_keys) {
|
|
49
45
|
try {
|
|
50
46
|
// Request permission status for each feature
|
|
51
47
|
const status = await navigator.permissions.query({ name: feature });
|
|
52
|
-
|
|
53
48
|
// Assign permission status to the object
|
|
54
49
|
permissionStatus[feature] = status.state.toString();
|
|
55
50
|
} catch (error) {
|
|
56
51
|
// In case of errors (unsupported features, etc.), do nothing. Not listing them is the same as not supported
|
|
57
52
|
}
|
|
58
53
|
}
|
|
59
|
-
|
|
60
54
|
return permissionStatus;
|
|
61
55
|
}
|
package/src/factory.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { componentInterface } from '../factory'
|
|
2
2
|
import { filterThumbmarkData } from '../utils/filterComponents'
|
|
3
|
-
import { defaultOptions } from '
|
|
3
|
+
import { defaultOptions } from '../options';
|
|
4
4
|
|
|
5
5
|
const test_components: componentInterface = {
|
|
6
6
|
'one': '1',
|