Spaces:
Runtime error
Runtime error
File size: 2,653 Bytes
fb38ec5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | import fs from "fs";
import path, { dirname } from "path";
import { fileURLToPath } from "url";
const SCRIPTS_DIR = path.join(dirname(fileURLToPath(import.meta.url)));
export const loadScript = (scriptName: string): string => {
const scriptPath = path.join(SCRIPTS_DIR, scriptName);
return fs.readFileSync(scriptPath, "utf-8");
};
const FIXED_VERSION = "WebGL 1.0 (OpenGL ES 2.0 Chromium)";
const FIXED_SHADING_LANGUAGE_VERSION = "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)";
export const loadFingerprintScript = ({
fixedVendor,
fixedRenderer,
fixedHardwareConcurrency,
fixedDeviceMemory,
fixedPlatform,
fixedVersion = FIXED_VERSION,
fixedShadingLanguageVersion = FIXED_SHADING_LANGUAGE_VERSION,
fixedArchitecture,
fixedBitness,
fixedModel,
fixedPlatformVersion,
fixedUaFullVersion,
fixedBrands,
}: {
fixedVendor: string | undefined;
fixedRenderer: string | undefined;
fixedHardwareConcurrency: number;
fixedDeviceMemory: number;
fixedVersion?: string;
fixedShadingLanguageVersion?: string;
fixedPlatform?: string;
fixedArchitecture?: string;
fixedBitness?: string;
fixedModel?: string;
fixedPlatformVersion?: string;
fixedUaFullVersion?: string;
fixedBrands: Array<{ brand: string; version: string }>;
}): string => {
const fingerprintScript = loadScript("fingerprint.js");
const safeStringValue = (value: string | undefined, fallback: string): string => {
return JSON.stringify(value || fallback);
};
return `
const FIXED_VENDOR = ${safeStringValue(fixedVendor, "Google Inc.")};
const FIXED_RENDERER = ${safeStringValue(
fixedRenderer,
"ANGLE (Intel, Mesa Intel(R) UHD Graphics 620 (KBL GT2), OpenGL 4.6)",
)};
const FIXED_VERSION = ${safeStringValue(fixedVersion, "WebGL 1.0 (OpenGL ES 2.0 Chromium)")};
const FIXED_SHADING_LANGUAGE_VERSION = ${safeStringValue(
fixedShadingLanguageVersion,
"WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)",
)};
const FIXED_HARDWARE_CONCURRENCY = ${fixedHardwareConcurrency};
const FIXED_DEVICE_MEMORY = ${fixedDeviceMemory};
const FIXED_PLATFORM = ${safeStringValue(fixedPlatform, "Linux x86_64")};
const FIXED_ARCHITECTURE = ${safeStringValue(fixedArchitecture, "x86")};
const FIXED_BITNESS = ${safeStringValue(fixedBitness, "64")};
const FIXED_MODEL = ${safeStringValue(fixedModel, "")};
const FIXED_PLATFORM_VERSION = ${safeStringValue(fixedPlatformVersion, "15.0.0")};
const FIXED_UA_FULL_VERSION = ${safeStringValue(fixedUaFullVersion, "131.0.6778.86")};
const FIXED_BRANDS = ${JSON.stringify(fixedBrands)};
${fingerprintScript}
`;
};
|