UNPKG

browser-canvas-fingerprinting

Version:

A simple canvas fingerprinting implementation in browser with specific information used to generate fingerprint

17 lines (15 loc) 778 B
export const extensionBlocked = { value: false }; // install hook CanvasRenderingContext2D.prototype.putImageData = new Proxy(CanvasRenderingContext2D.prototype.putImageData, { apply(target, self, args) { if (extensionBlocked.value) return undefined; // reference: https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/putImageData return Reflect.apply(target, self, args); } }); // OffscreenCanvasRenderingContext2D.prototype.putImageData 是继承的,不需要再次hook Math.random = new Proxy(Math.random, { apply(target, self, args) { if (extensionBlocked.value) return 0.99; return Reflect.apply(target, self, args); } }); // 直接搞你的数据源,我就不信你换用 crypto.getRandomValues :)