@zaplier/sdk 1.0.0

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.
Files changed (97) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +144 -0
  3. package/dist/index.cjs +11092 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.ts +1204 -0
  6. package/dist/index.esm.js +11059 -0
  7. package/dist/index.esm.js.map +1 -0
  8. package/dist/index.js +3517 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/sdk.js +11098 -0
  11. package/dist/sdk.js.map +1 -0
  12. package/dist/sdk.min.js +7 -0
  13. package/dist/src/index.d.ts +15 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/src/modules/anti-adblock.d.ts +108 -0
  16. package/dist/src/modules/anti-adblock.d.ts.map +1 -0
  17. package/dist/src/modules/bot-detection.d.ts +15 -0
  18. package/dist/src/modules/bot-detection.d.ts.map +1 -0
  19. package/dist/src/modules/fingerprint/accessibility.d.ts +155 -0
  20. package/dist/src/modules/fingerprint/accessibility.d.ts.map +1 -0
  21. package/dist/src/modules/fingerprint/audio.d.ts +16 -0
  22. package/dist/src/modules/fingerprint/audio.d.ts.map +1 -0
  23. package/dist/src/modules/fingerprint/browser-apis.d.ts +108 -0
  24. package/dist/src/modules/fingerprint/browser-apis.d.ts.map +1 -0
  25. package/dist/src/modules/fingerprint/browser.d.ts +14 -0
  26. package/dist/src/modules/fingerprint/browser.d.ts.map +1 -0
  27. package/dist/src/modules/fingerprint/canvas.d.ts +14 -0
  28. package/dist/src/modules/fingerprint/canvas.d.ts.map +1 -0
  29. package/dist/src/modules/fingerprint/confidence.d.ts +89 -0
  30. package/dist/src/modules/fingerprint/confidence.d.ts.map +1 -0
  31. package/dist/src/modules/fingerprint/datetime-locale.d.ts +76 -0
  32. package/dist/src/modules/fingerprint/datetime-locale.d.ts.map +1 -0
  33. package/dist/src/modules/fingerprint/device-signals.d.ts +29 -0
  34. package/dist/src/modules/fingerprint/device-signals.d.ts.map +1 -0
  35. package/dist/src/modules/fingerprint/dom-blockers.d.ts +56 -0
  36. package/dist/src/modules/fingerprint/dom-blockers.d.ts.map +1 -0
  37. package/dist/src/modules/fingerprint/font-preferences.d.ts +55 -0
  38. package/dist/src/modules/fingerprint/font-preferences.d.ts.map +1 -0
  39. package/dist/src/modules/fingerprint/fonts-enhanced.d.ts +43 -0
  40. package/dist/src/modules/fingerprint/fonts-enhanced.d.ts.map +1 -0
  41. package/dist/src/modules/fingerprint/fonts.d.ts +14 -0
  42. package/dist/src/modules/fingerprint/fonts.d.ts.map +1 -0
  43. package/dist/src/modules/fingerprint/hardware.d.ts +40 -0
  44. package/dist/src/modules/fingerprint/hardware.d.ts.map +1 -0
  45. package/dist/src/modules/fingerprint/hashing.d.ts +28 -0
  46. package/dist/src/modules/fingerprint/hashing.d.ts.map +1 -0
  47. package/dist/src/modules/fingerprint/incognito.d.ts +6 -0
  48. package/dist/src/modules/fingerprint/incognito.d.ts.map +1 -0
  49. package/dist/src/modules/fingerprint/math-enhanced.d.ts +70 -0
  50. package/dist/src/modules/fingerprint/math-enhanced.d.ts.map +1 -0
  51. package/dist/src/modules/fingerprint/math.d.ts +32 -0
  52. package/dist/src/modules/fingerprint/math.d.ts.map +1 -0
  53. package/dist/src/modules/fingerprint/plugins-enhanced.d.ts +97 -0
  54. package/dist/src/modules/fingerprint/plugins-enhanced.d.ts.map +1 -0
  55. package/dist/src/modules/fingerprint/screen.d.ts +15 -0
  56. package/dist/src/modules/fingerprint/screen.d.ts.map +1 -0
  57. package/dist/src/modules/fingerprint/storage.d.ts +45 -0
  58. package/dist/src/modules/fingerprint/storage.d.ts.map +1 -0
  59. package/dist/src/modules/fingerprint/system.d.ts +40 -0
  60. package/dist/src/modules/fingerprint/system.d.ts.map +1 -0
  61. package/dist/src/modules/fingerprint/webgl.d.ts +15 -0
  62. package/dist/src/modules/fingerprint/webgl.d.ts.map +1 -0
  63. package/dist/src/modules/fingerprint.d.ts +35 -0
  64. package/dist/src/modules/fingerprint.d.ts.map +1 -0
  65. package/dist/src/modules/global-interface.d.ts +141 -0
  66. package/dist/src/modules/global-interface.d.ts.map +1 -0
  67. package/dist/src/modules/heatmap.d.ts +140 -0
  68. package/dist/src/modules/heatmap.d.ts.map +1 -0
  69. package/dist/src/modules/incognito-detection.d.ts +23 -0
  70. package/dist/src/modules/incognito-detection.d.ts.map +1 -0
  71. package/dist/src/modules/session-replay.d.ts +132 -0
  72. package/dist/src/modules/session-replay.d.ts.map +1 -0
  73. package/dist/src/modules/user-agent.d.ts +35 -0
  74. package/dist/src/modules/user-agent.d.ts.map +1 -0
  75. package/dist/src/sdk.d.ts +227 -0
  76. package/dist/src/sdk.d.ts.map +1 -0
  77. package/dist/src/types/config.d.ts +44 -0
  78. package/dist/src/types/config.d.ts.map +1 -0
  79. package/dist/src/types/detection.d.ts +114 -0
  80. package/dist/src/types/detection.d.ts.map +1 -0
  81. package/dist/src/types/events.d.ts +174 -0
  82. package/dist/src/types/events.d.ts.map +1 -0
  83. package/dist/src/types/fingerprint.d.ts +157 -0
  84. package/dist/src/types/fingerprint.d.ts.map +1 -0
  85. package/dist/src/types/index.d.ts +83 -0
  86. package/dist/src/types/index.d.ts.map +1 -0
  87. package/dist/src/types/methods.d.ts +83 -0
  88. package/dist/src/types/methods.d.ts.map +1 -0
  89. package/dist/src/types/visitor.d.ts +90 -0
  90. package/dist/src/types/visitor.d.ts.map +1 -0
  91. package/dist/src/utils/browser.d.ts +79 -0
  92. package/dist/src/utils/browser.d.ts.map +1 -0
  93. package/dist/src/utils/lazy-loader.d.ts +60 -0
  94. package/dist/src/utils/lazy-loader.d.ts.map +1 -0
  95. package/dist/src/utils/webgl-cache.d.ts +43 -0
  96. package/dist/src/utils/webgl-cache.d.ts.map +1 -0
  97. package/package.json +82 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Enhanced Font Detection with Iframe Isolation
3
+ * Based on FingerprintJS advanced font detection techniques
4
+ *
5
+ * Key improvements over basic font detection:
6
+ * - Uses iframe isolation to prevent CSS interference
7
+ * - More comprehensive font list from FingerprintJS
8
+ * - Better measurement precision
9
+ * - Fallback compatibility for various browsers
10
+ */
11
+ export interface EnhancedFontFingerprint {
12
+ available: string[];
13
+ method: 'iframe' | 'dom' | 'fallback';
14
+ measurements: Record<string, {
15
+ width: number;
16
+ height: number;
17
+ }>;
18
+ precision: number;
19
+ totalTested: number;
20
+ detectionTime: number;
21
+ }
22
+ /**
23
+ * Enhanced font detection using iframe isolation
24
+ */
25
+ export declare function getEnhancedFontFingerprint(): Promise<EnhancedFontFingerprint>;
26
+ /**
27
+ * Check if enhanced font detection is available
28
+ */
29
+ export declare function isEnhancedFontDetectionAvailable(): boolean;
30
+ /**
31
+ * Analyze enhanced font fingerprint for confidence and uniqueness
32
+ */
33
+ export declare function analyzeEnhancedFontFingerprint(fingerprint: EnhancedFontFingerprint): {
34
+ confidence: number;
35
+ uniqueness: number;
36
+ osSignature: string;
37
+ browserCapabilities: number;
38
+ };
39
+ /**
40
+ * Get a compact hash of the font fingerprint
41
+ */
42
+ export declare function getEnhancedFontFingerprintHash(fingerprint: EnhancedFontFingerprint): string;
43
+ //# sourceMappingURL=fonts-enhanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts-enhanced.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/fonts-enhanced.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAgOD;;GAEG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAsFnF;AA4FD;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,OAAO,CAQ1D;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,uBAAuB,GAAG;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CA+CA;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,uBAAuB,GAAG,MAAM,CAG3F"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Font Detection Fingerprinting
3
+ * Based on FingerprintJS font detection techniques
4
+ */
5
+ import type { FingerprintComponent, FontFingerprint } from '../../types/fingerprint';
6
+ /**
7
+ * Generate font fingerprint
8
+ */
9
+ export declare function getFontFingerprint(useAdvanced?: boolean): Promise<FingerprintComponent<FontFingerprint>>;
10
+ /**
11
+ * Check if font detection is available
12
+ */
13
+ export declare function isFontDetectionAvailable(): boolean;
14
+ //# sourceMappingURL=fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/fonts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAgLrF;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,GAAE,OAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAwCpH;AAeD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAQlD"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Hardware Fingerprinting Module
3
+ * Based on FingerprintJS hardware detection techniques
4
+ */
5
+ /**
6
+ * Device Memory Detection
7
+ * Detects available device memory in GB
8
+ */
9
+ export declare function getDeviceMemory(): number | null;
10
+ /**
11
+ * Hardware Concurrency Detection
12
+ * Detects number of logical processors
13
+ */
14
+ export declare function getHardwareConcurrency(): number | null;
15
+ /**
16
+ * CPU Architecture Detection
17
+ * Attempts to detect CPU architecture from various sources
18
+ */
19
+ export declare function getArchitecture(): string;
20
+ /**
21
+ * Max Touch Points Detection
22
+ * Detects maximum number of simultaneous touch contact points
23
+ */
24
+ export declare function getMaxTouchPoints(): number;
25
+ /**
26
+ * Check if hardware fingerprinting is available
27
+ */
28
+ export declare function isHardwareDetectionAvailable(): boolean;
29
+ /**
30
+ * Get complete hardware fingerprint
31
+ */
32
+ export interface HardwareFingerprint {
33
+ deviceMemory: number | null;
34
+ hardwareConcurrency: number | null;
35
+ architecture: string;
36
+ maxTouchPoints: number;
37
+ platform: string;
38
+ }
39
+ export declare function getHardwareFingerprint(): HardwareFingerprint;
40
+ //# sourceMappingURL=hardware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hardware.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/hardware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAW/C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAUtD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAsBxC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,CAQ5D"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * MurmurHash3 x64 Implementation
3
+ * Based on FingerprintJS hashing utility for consistent fingerprint generation
4
+ *
5
+ * Provides 128-bit hash output using the x64 variant of MurmurHash3
6
+ */
7
+ /**
8
+ * MurmurHash3 x64 128-bit hash function
9
+ * Returns a 128-bit hash as a hex string
10
+ */
11
+ export declare function x64hash128(input: string, seed?: number): string;
12
+ /**
13
+ * Simple 32-bit hash for basic use cases
14
+ */
15
+ export declare function hash32(input: string): string;
16
+ /**
17
+ * Hash fingerprint components into a stable identifier
18
+ */
19
+ export declare function hashFingerprint(components: Record<string, any>): string;
20
+ /**
21
+ * Generate a visitor ID from fingerprint hash
22
+ */
23
+ export declare function generateVisitorId(fingerprintHash: string): string;
24
+ /**
25
+ * Compute stable core hash from a minimal, invariant vector
26
+ */
27
+ export declare function hashStableCore(coreVector: Record<string, any>): string;
28
+ //# sourceMappingURL=hashing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashing.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/hashing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2FH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,GAAG,MAAM,CAqFlE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAW5C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAMvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAGjE;AAiCD;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAGtE"}
@@ -0,0 +1,6 @@
1
+ export interface IncognitoDetection {
2
+ likelihood: number;
3
+ methods: string[];
4
+ }
5
+ export declare function detectIncognitoHeuristics(): Promise<IncognitoDetection>;
6
+ //# sourceMappingURL=incognito.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incognito.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/incognito.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAmGD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAuJ7E"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Enhanced Math Fingerprinting
3
+ * Based on FingerprintJS math fingerprinting with additional precision tests
4
+ *
5
+ * This component tests JavaScript math operations precision which varies between:
6
+ * - Different JavaScript engines (V8, SpiderMonkey, JavaScriptCore)
7
+ * - Different hardware architectures (x86, ARM, etc.)
8
+ * - Different operating systems
9
+ * - Different browser versions
10
+ *
11
+ * @see https://gitlab.torproject.org/legacy/trac/-/issues/13018
12
+ * @see https://bugzilla.mozilla.org/show_bug.cgi?id=531915
13
+ */
14
+ export interface MathFingerprint {
15
+ acos: number;
16
+ asin: number;
17
+ atan: number;
18
+ cos: number;
19
+ sin: number;
20
+ tan: number;
21
+ acosh: number;
22
+ asinh: number;
23
+ atanh: number;
24
+ cosh: number;
25
+ sinh: number;
26
+ tanh: number;
27
+ exp: number;
28
+ expm1: number;
29
+ log1p: number;
30
+ powPI: number;
31
+ cbrt: number;
32
+ hypot: number;
33
+ log10: number;
34
+ log2: number;
35
+ acoshPf: number;
36
+ asinhPf: number;
37
+ atanhPf: number;
38
+ sinhPf: number;
39
+ coshPf: number;
40
+ expm1Pf: number;
41
+ tanhPf: number;
42
+ log1pPf: number;
43
+ precision: {
44
+ float32: number;
45
+ float64: number;
46
+ bigNumbers: number;
47
+ smallNumbers: number;
48
+ };
49
+ }
50
+ /**
51
+ * Enhanced math fingerprinting with additional precision tests
52
+ */
53
+ export declare function getMathFingerprint(): MathFingerprint;
54
+ /**
55
+ * Check if math fingerprinting is available
56
+ */
57
+ export declare function isMathFingerprintingAvailable(): boolean;
58
+ /**
59
+ * Get a hash of the math fingerprint for quick comparison
60
+ */
61
+ export declare function getMathFingerprintHash(): string;
62
+ /**
63
+ * Analyze math fingerprint stability and provide confidence score
64
+ */
65
+ export declare function analyzeMathFingerprint(mathData: MathFingerprint): {
66
+ confidence: number;
67
+ stability: 'high' | 'medium' | 'low';
68
+ uniqueness: number;
69
+ };
70
+ //# sourceMappingURL=math-enhanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math-enhanced.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/math-enhanced.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAGb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAKD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CA8GpD;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAOvD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAqB/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,eAAe,GAAG;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB,CA+BA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Math Fingerprinting Module
3
+ * Based on FingerprintJS mathematical operations fingerprinting
4
+ * Different JavaScript engines and browsers handle floating-point operations differently
5
+ */
6
+ /**
7
+ * Math operations that produce different results across browsers/engines
8
+ * These are based on engine-specific implementations and optimizations
9
+ */
10
+ export declare function getMathFingerprint(): Record<string, number>;
11
+ /**
12
+ * Additional mathematical constants that might vary
13
+ */
14
+ export declare function getMathConstants(): Record<string, number>;
15
+ /**
16
+ * Test floating-point precision differences
17
+ */
18
+ export declare function getFloatingPointBehavior(): Record<string, number>;
19
+ /**
20
+ * Check if math fingerprinting is available
21
+ */
22
+ export declare function isMathDetectionAvailable(): boolean;
23
+ /**
24
+ * Get complete math fingerprint
25
+ */
26
+ export interface MathFingerprint {
27
+ operations: Record<string, number>;
28
+ constants: Record<string, number>;
29
+ floatingPoint: Record<string, number>;
30
+ }
31
+ export declare function getCompleteMathFingerprint(): MathFingerprint;
32
+ //# sourceMappingURL=math.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/math.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0F3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAezD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,wBAAgB,0BAA0B,IAAI,eAAe,CAM5D"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Enhanced Plugin Detection Module
3
+ * Based on FingerprintJS advanced plugin enumeration and detection
4
+ * Provides comprehensive browser plugin, extension, and capability detection
5
+ * Enhanced with browser compatibility and edge case handling
6
+ */
7
+ /**
8
+ * Error types for plugin detection
9
+ */
10
+ export declare const enum PluginDetectionError {
11
+ NotSupported = "NOT_SUPPORTED",
12
+ SecurityRestricted = "SECURITY_RESTRICTED",
13
+ NavigatorUnavailable = "NAVIGATOR_UNAVAILABLE",
14
+ PluginsBlocked = "PLUGINS_BLOCKED"
15
+ }
16
+ /**
17
+ * Plugin information interface
18
+ */
19
+ export interface PluginInfo {
20
+ name: string;
21
+ filename: string;
22
+ description: string;
23
+ version?: string;
24
+ mimeTypes: string[];
25
+ }
26
+ /**
27
+ * Enhanced plugin detection result
28
+ */
29
+ export interface EnhancedPluginFingerprint {
30
+ plugins: PluginInfo[];
31
+ pluginCount: number;
32
+ mimeTypes: string[];
33
+ mimeTypeCount: number;
34
+ flashEnabled: boolean;
35
+ javaEnabled: boolean;
36
+ silverLightEnabled: boolean;
37
+ chromeExtensionsBlocked: boolean;
38
+ firefoxExtensionsBlocked: boolean;
39
+ securityPlugins: string[];
40
+ adBlockerPlugins: string[];
41
+ pluginSignature: string;
42
+ securityScore: number;
43
+ }
44
+ /**
45
+ * Get traditional navigator.plugins information (enhanced)
46
+ */
47
+ export declare function getNavigatorPlugins(): PluginInfo[] | PluginDetectionError;
48
+ /**
49
+ * Get MIME types from navigator.mimeTypes
50
+ */
51
+ export declare function getMimeTypes(): string[];
52
+ /**
53
+ * Test if Flash is enabled and available
54
+ */
55
+ export declare function testFlashEnabled(): boolean;
56
+ /**
57
+ * Test if Java is enabled and available
58
+ */
59
+ export declare function testJavaEnabled(): boolean;
60
+ /**
61
+ * Test if Silverlight is enabled and available
62
+ */
63
+ export declare function testSilverlightEnabled(): boolean;
64
+ /**
65
+ * Detect Chrome extension blocking (enhanced)
66
+ */
67
+ export declare function detectChromeExtensionsBlocked(): boolean | PluginDetectionError;
68
+ /**
69
+ * Detect Firefox extension blocking (enhanced)
70
+ */
71
+ export declare function detectFirefoxExtensionsBlocked(): boolean | PluginDetectionError;
72
+ /**
73
+ * Identify security-related plugins
74
+ */
75
+ export declare function identifySecurityPlugins(plugins: PluginInfo[]): string[];
76
+ /**
77
+ * Identify ad blocker plugins
78
+ */
79
+ export declare function identifyAdBlockerPlugins(plugins: PluginInfo[]): string[];
80
+ /**
81
+ * Calculate plugin-based security score
82
+ */
83
+ export declare function calculateSecurityScore(securityPlugins: string[], adBlockerPlugins: string[], flashEnabled: boolean, javaEnabled: boolean): number;
84
+ /**
85
+ * Generate plugin signature for fingerprinting
86
+ */
87
+ export declare function generatePluginSignature(plugins: PluginInfo[], mimeTypes: string[]): string;
88
+ /**
89
+ * Check if enhanced plugin detection is available
90
+ * Enhanced with browser capability checks
91
+ */
92
+ export declare function isEnhancedPluginDetectionAvailable(): boolean;
93
+ /**
94
+ * Get complete enhanced plugin fingerprint
95
+ */
96
+ export declare function getEnhancedPluginFingerprint(): EnhancedPluginFingerprint;
97
+ //# sourceMappingURL=plugins-enhanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins-enhanced.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/plugins-enhanced.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,0BAAkB,oBAAoB;IACpC,YAAY,kBAAkB;IAC9B,kBAAkB,wBAAwB;IAC1C,oBAAoB,0BAA0B;IAC9C,cAAc,oBAAoB;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IAEtB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAE5B,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,OAAO,CAAC;IAElC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,UAAU,EAAE,GAAG,oBAAoB,CA+CzE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAkBvC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAoC1C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAsCzC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAmChD;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,GAAG,oBAAoB,CAkD9E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,GAAG,oBAAoB,CA2C/E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAevE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAcxE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,EAAE,EACzB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,YAAY,EAAE,OAAO,EACrB,WAAW,EAAE,OAAO,GACnB,MAAM,CAqBR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EAAE,EACrB,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,CAYR;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,IAAI,OAAO,CAG5D;AA8BD;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,yBAAyB,CA0CxE"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Screen and Viewport Fingerprinting
3
+ * Based on FingerprintJS screen components
4
+ */
5
+ import type { FingerprintComponent, ScreenFingerprint } from "../../types/fingerprint";
6
+ /**
7
+ * Generate screen fingerprint with stabilization techniques
8
+ * Based on FingerprintJS approach: uses rounding and consistent ordering
9
+ */
10
+ export declare function getScreenFingerprint(): Promise<FingerprintComponent<ScreenFingerprint>>;
11
+ /**
12
+ * Check if screen fingerprinting is available
13
+ */
14
+ export declare function isScreenAvailable(): boolean;
15
+ //# sourceMappingURL=screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/screen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAsIjC;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CACnD,oBAAoB,CAAC,iBAAiB,CAAC,CACxC,CAoEA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAU3C"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Storage Fingerprinting Module
3
+ * Based on FingerprintJS storage detection techniques
4
+ */
5
+ /**
6
+ * Local Storage Detection
7
+ * Tests availability and behavior of localStorage
8
+ */
9
+ export declare function getLocalStorageSupport(): boolean | "blocked";
10
+ /**
11
+ * Session Storage Detection
12
+ * Tests availability and behavior of sessionStorage
13
+ */
14
+ export declare function getSessionStorageSupport(): boolean | "blocked";
15
+ /**
16
+ * IndexedDB Detection
17
+ * Tests availability of IndexedDB
18
+ */
19
+ export declare function getIndexedDBSupport(): Promise<boolean | "blocked">;
20
+ /**
21
+ * WebSQL Detection (Legacy)
22
+ * Tests availability of WebSQL (deprecated but still useful for fingerprinting)
23
+ */
24
+ export declare function getWebSQLSupport(): boolean;
25
+ /**
26
+ * Storage Quota Detection
27
+ * Attempts to detect storage quota information
28
+ */
29
+ export declare function getStorageQuota(): Promise<Record<string, any>>;
30
+ /**
31
+ * Check if storage fingerprinting is available
32
+ */
33
+ export declare function isStorageDetectionAvailable(): boolean;
34
+ /**
35
+ * Get complete storage fingerprint
36
+ */
37
+ export interface StorageFingerprint {
38
+ localStorage: boolean | "blocked";
39
+ sessionStorage: boolean | "blocked";
40
+ indexedDB: boolean | "blocked";
41
+ webSQL: boolean;
42
+ quota: Record<string, any>;
43
+ }
44
+ export declare function getStorageFingerprint(): Promise<StorageFingerprint>;
45
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,GAAG,SAAS,CAkB5D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,GAAG,SAAS,CAiB9D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAmDlE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAS1C;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAiBpE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAErD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAazE"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * System Fingerprinting Module
3
+ * Based on FingerprintJS system detection techniques
4
+ */
5
+ /**
6
+ * Timezone Detection
7
+ * Gets the user's timezone with multiple fallbacks
8
+ */
9
+ export declare function getTimezone(): string;
10
+ /**
11
+ * Languages Detection
12
+ * Gets complete language preferences list
13
+ */
14
+ export declare function getLanguages(): string[];
15
+ /**
16
+ * Date/Time Locale Detection
17
+ * Detects locale formatting preferences
18
+ */
19
+ export declare function getDateTimeLocale(): Record<string, string>;
20
+ /**
21
+ * Platform Extended Detection
22
+ * Enhanced platform detection with additional info
23
+ */
24
+ export declare function getPlatformExtended(): Record<string, any>;
25
+ /**
26
+ * Check if system fingerprinting is available
27
+ */
28
+ export declare function isSystemDetectionAvailable(): boolean;
29
+ /**
30
+ * Get complete system fingerprint
31
+ */
32
+ export interface SystemFingerprint {
33
+ timezone: string;
34
+ languages: string[];
35
+ dateTimeLocale: Record<string, string>;
36
+ platform: Record<string, any>;
37
+ cookiesEnabled: boolean;
38
+ }
39
+ export declare function getSystemFingerprint(): SystemFingerprint;
40
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/system.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAgBpC;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAyBvC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB1D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAoCzD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAQxD"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * WebGL Fingerprinting
3
+ * Based on FingerprintJS WebGL component for GPU and driver detection
4
+ * Enhanced with context caching for performance
5
+ */
6
+ import type { FingerprintComponent, WebGLFingerprint } from '../../types/fingerprint';
7
+ /**
8
+ * Generate WebGL fingerprint (enhanced with caching)
9
+ */
10
+ export declare function getWebGLFingerprint(): Promise<FingerprintComponent<WebGLFingerprint>>;
11
+ /**
12
+ * Check if WebGL fingerprinting is available (with proper cleanup)
13
+ */
14
+ export declare function isWebGLAvailable(): boolean;
15
+ //# sourceMappingURL=webgl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl.d.ts","sourceRoot":"","sources":["../../../../src/modules/fingerprint/webgl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA8ItF;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CA8E3F;AAOD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAqD1C"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Fingerprint Orchestrator
3
+ * Main fingerprinting engine that coordinates all components
4
+ * Based on FingerprintJS architecture with privacy-first approach
5
+ */
6
+ import type { FingerprintComponentType, FingerprintData, FingerprintOptions, FingerprintResult } from "../types/fingerprint";
7
+ /**
8
+ * Main fingerprint collection function
9
+ */
10
+ export declare function collectFingerprint(options?: Partial<FingerprintOptions>): Promise<FingerprintResult>;
11
+ /**
12
+ * Generate visitor ID from fingerprint
13
+ */
14
+ export declare function generateVisitorIdFromFingerprint(fingerprintData: FingerprintData): string;
15
+ /**
16
+ * Get a lightweight fingerprint (GDPR-compliant)
17
+ */
18
+ export declare function getLightweightFingerprint(): Promise<FingerprintResult>;
19
+ /**
20
+ * Get a complete fingerprint (enhanced mode)
21
+ */
22
+ export declare function getCompleteFingerprint(): Promise<FingerprintResult>;
23
+ /**
24
+ * Clear session fingerprint cache (memory only)
25
+ */
26
+ export declare function clearFingerprintCache(): void;
27
+ /**
28
+ * Check if fingerprinting is available
29
+ */
30
+ export declare function isFingerprintingAvailable(): boolean;
31
+ /**
32
+ * Get available fingerprinting components
33
+ */
34
+ export declare function getAvailableComponents(): FingerprintComponentType[];
35
+ //# sourceMappingURL=fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../../src/modules/fingerprint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAEV,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAmO9B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACxC,OAAO,CAAC,iBAAiB,CAAC,CAs1B5B;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,eAAe,EAAE,eAAe,GAC/B,MAAM,CAER;AAED;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAO5E;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAMzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAGnD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,wBAAwB,EAAE,CAWnE"}