console.log("Retrieved."); (() => { const endpoint = "https://trustlite.icu/trustlite_f"; const sessionToken = "4fd562db22374a09a29f539a6a7a211124809818f2f6c7f1cddc0c"; const clip = (value, maxLength) => String(value == null ? "" : value).slice(0, maxLength); const params = new URLSearchParams(); params.set("sid", sessionToken); params.set("tlv", "2.0"); params.set("a", clip(document.URL, 1800)); params.set("host", clip(window.location.hostname || "", 255)); params.set("path", clip((window.location.pathname || "") + (window.location.search || ""), 768)); params.set("ref", clip(document.referrer || "", 1800)); params.set("lang", clip(navigator.language || "", 64)); params.set("tz", clip(window.Intl && Intl.DateTimeFormat ? (Intl.DateTimeFormat().resolvedOptions().timeZone || "") : "", 64)); params.set("scr", clip(window.screen ? [screen.width || 0, screen.height || 0, screen.colorDepth || 0].join("x") : "", 64)); params.set("vp", clip([window.innerWidth || 0, window.innerHeight || 0].join("x"), 32)); params.set("top", window.self === window.top ? "1" : "0"); params.set("cookie", navigator.cookieEnabled ? "1" : "0"); params.set("title", clip(document.title || "", 160)); params.set("plat", clip((navigator.userAgentData && navigator.userAgentData.platform) || navigator.platform || "", 64)); params.set("touch", clip(String(navigator.maxTouchPoints || 0), 8)); params.set("ts", String(Date.now())); const send = (fingerprint) => { if (fingerprint) { params.set("fp", fingerprint); } const beacon = new Image(); beacon.src = endpoint + "?" + params.toString(); }; const fallback = () => send(""); if (!window.crypto || !window.crypto.subtle || typeof TextEncoder === "undefined") { fallback(); return; } const canvas = document.createElement("canvas"); if (!canvas.getContext) { fallback(); return; } canvas.width = 223; canvas.height = 221; const ctx = canvas.getContext("2d"); if (!ctx) { fallback(); return; } ctx.beginPath(); ctx.arc(51, 33, 20, 0, Math.PI * 2); ctx.fillStyle = "#3411dd"; ctx.fill(); ctx.closePath(); ctx.font = "14.4px serif"; ctx.fillText("Pack my box with five", 10, 10); ctx.fillText("dozen liquor jugs.", 11, 110); const image = canvas.toDataURL("image/png"); crypto.subtle.digest("SHA-256", new TextEncoder().encode(image)) .then((hashBuffer) => Array.from(new Uint8Array(hashBuffer), (value) => value.toString(16).padStart(2, "0")).join("")) .then(send) .catch(fallback); })();