jumpy-lion 0.0.27 → 0.0.29
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/dist/browser-controller.d.ts +1 -0
- package/dist/browser-controller.d.ts.map +1 -1
- package/dist/browser-controller.js +15 -16
- package/dist/browser-controller.js.map +1 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/chunk-16ff15da.js +7 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/chunk-1a1456ec.js +18 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/chunk-3a7b59dd.js +1258 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/chunk-7ce85519.js +76 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/chunk-aaea1190.js +15 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/chunk-b4410958.js +77 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/chunk-dfed3562.js +19 -1
- package/dist/page.d.ts +1 -0
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +69 -45
- package/dist/page.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -6
- package/dist/fingerprinting/all-fingerprint-defender/_locales/en/messages.json +0 -95
- package/dist/fingerprinting/all-fingerprint-defender/assets/debounce-09920c81.css +0 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/options-fe2fb5aa.css +0 -1
- package/dist/fingerprinting/all-fingerprint-defender/assets/popup-1886d2ef.css +0 -1
- package/dist/fingerprinting/all-fingerprint-defender/img/icon-128.png +0 -0
- package/dist/fingerprinting/all-fingerprint-defender/img/icon-16.png +0 -0
- package/dist/fingerprinting/all-fingerprint-defender/img/icon-24.png +0 -0
- package/dist/fingerprinting/all-fingerprint-defender/img/icon-32-disabled.png +0 -0
- package/dist/fingerprinting/all-fingerprint-defender/img/icon-32.png +0 -0
- package/dist/fingerprinting/all-fingerprint-defender/img/icon-48.png +0 -0
- package/dist/fingerprinting/all-fingerprint-defender/manifest.json +0 -83
- package/dist/fingerprinting/all-fingerprint-defender/options.html +0 -17
- package/dist/fingerprinting/all-fingerprint-defender/popup.html +0 -23
|
@@ -1 +1,76 @@
|
|
|
1
|
-
document.documentElement.setAttribute("randFingerprintInjected","true");
|
|
1
|
+
document.documentElement.setAttribute("randFingerprintInjected", "true");
|
|
2
|
+
if (!(ignoredSites = ["https://www.google.com/maps", "https://accounts.google.com", "www.figma.com", "www.canva.com", "designer.microsoft.com", "create.vista.com", "console.aws.amazon.com", "www.coze.com"].some(h => window.location.href.startsWith(h) || window.location.host.endsWith(h)))) {
|
|
3
|
+
let h = function (n) { window.dispatchEvent(new CustomEvent("chrome.runtime.sendMessage", { detail: n })); }, y = function (n) { var t; const e = []; for (let o = 0; o < window.location.ancestorOrigins.length; o++) {
|
|
4
|
+
const a = (t = window.location.ancestorOrigins[o].match(/^https?:\/\/([^\/]+)/)) == null ? void 0 : t[1];
|
|
5
|
+
a && e.push(a);
|
|
6
|
+
} if (n.type !== "CANVAS") {
|
|
7
|
+
const o = C[n.type] || 0;
|
|
8
|
+
if (Date.now() - o < 1e3)
|
|
9
|
+
return;
|
|
10
|
+
} C[n.type] = Date.now(), h({ action: "setDetected", src: window.location.href, origins: e, detection: n }); }, m = function (n) { const e = window[n]; if (!e)
|
|
11
|
+
return; const t = new Proxy(e, { get: function (o, a) { const r = o[a]; return typeof r == "function" ? function () { return r.apply(o, arguments); } : r; } }); Object.defineProperty(window, n, { get() { return t; } }); }, l = function (n, e, t) { const o = "function " + n + "() { [native code] }", a = e[n]; e.constructor.name, e[n] = new Proxy(a, { get: function (r, i) { if (i === "toString")
|
|
12
|
+
return o; const f = r[i]; return typeof f == "function" ? function () { return f.apply(r, arguments); } : f; }, apply: t }); }, E = function (n, e, t) { const o = n.apply(e, t); return s ? o : t[0] === 37445 || t[0] === 37446 ? o + " #" + P : o; }, D = function (n, e, t) { if (s || !!e.parentElement && e.parentElement.offsetHeight > 1 && e.parentElement.offsetWidth > 1 && e.offsetHeight > 0 && e.offsetWidth > 0 && e.style.display !== "none" && e.style.visibility !== "hidden" && e.style.opacity !== "0")
|
|
13
|
+
return n.apply(e, t); if (t.length == 0 || t[0] === "image/png") {
|
|
14
|
+
const i = e.width, f = e.height, d = e.getContext("2d", { willReadFrequently: !0 });
|
|
15
|
+
if (d !== null) {
|
|
16
|
+
const c = d.getImageData(0, 0, i, f), u = Math.max(1, Math.floor(f / 7)), w = Math.max(1, Math.floor(i / 7));
|
|
17
|
+
for (let v = 0; v < f; v += u)
|
|
18
|
+
for (let b = 0; b < i; b += w) {
|
|
19
|
+
const p = (v + Math.floor(Math.random() * u)) * (i * 4) + (b + Math.floor(Math.random() * w)) * 4;
|
|
20
|
+
p < c.data.length && (c.data[p + 0] = c.data[p + 0] + M.r, c.data[p + 1] = c.data[p + 1] + M.g, c.data[p + 2] = c.data[p + 2] + M.b);
|
|
21
|
+
}
|
|
22
|
+
d.putImageData(c, 0, 0);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else
|
|
26
|
+
t.length === 1 ? t.push(.5 + g) : t[1] > .9 ? t[1] = t[1] - g : t[1] = t[1] + g; const r = n.apply(e, t); return y({ type: "CANVAS", occurredAt: Date.now(), canvas: r, canvasSize: e.width + "x" + e.height }), r; }, s = !!document.documentElement.getAttribute("data-afd-disabled");
|
|
27
|
+
s && document.documentElement.removeAttribute("data-afd-disabled"), window.addEventListener("afd-disabled", function () { document.documentElement.removeAttribute("data-afd-disabled"), s = !0; }, { once: !0 }), h({ action: "resetDetection", host: window.location.host });
|
|
28
|
+
const A = (() => { const n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; return function (e) { let t = ""; const o = n.length; for (let a = 0; a < e; a++)
|
|
29
|
+
t += n.charAt(Math.floor(Math.random() * o)); return t; }; })(), C = {};
|
|
30
|
+
(function () { const n = window.screen.availWidth, e = window.screen.availHeight + Math.floor(Math.random() * (n / 80) - n / 80 / 2), t = window.screen, o = new Proxy(t, { get: function (a, r) { if (!s) {
|
|
31
|
+
if (r === "availWidth")
|
|
32
|
+
return n;
|
|
33
|
+
if (r === "availHeight")
|
|
34
|
+
return e;
|
|
35
|
+
} const i = a[r]; return typeof i == "function" ? function () { return i.apply(a, arguments); } : i; } }); Object.defineProperty(window, "screen", { get() { return o; } }); })(), m("navigator"), m("speechSynthesis"), m("Notification");
|
|
36
|
+
const P = A(10);
|
|
37
|
+
l("getParameter", WebGLRenderingContext.prototype, E), l("getParameter", WebGL2RenderingContext.prototype, E), l("getContext", HTMLCanvasElement.prototype, function (n, e, t) { return n.apply(e, t); });
|
|
38
|
+
const g = Math.random() * .05, M = { r: Math.floor(Math.random() * 10), g: Math.floor(Math.random() * 10), b: Math.floor(Math.random() * 10) };
|
|
39
|
+
l("toDataURL", HTMLCanvasElement.prototype, D), window.addEventListener("message", function (n) { if (n.data && n.data === "injectFrameFingerprint" && (n.preventDefault(), n.stopPropagation(), n.source)) {
|
|
40
|
+
const e = n.source;
|
|
41
|
+
e.HTMLCanvasElement && l("toDataURL", e.HTMLCanvasElement.prototype, D);
|
|
42
|
+
} }, !1);
|
|
43
|
+
const x = function (n, e, t) { if (s)
|
|
44
|
+
return n.apply(e, t); const o = e.canvas; if (o instanceof HTMLCanvasElement && !!o.parentElement && o.parentElement.offsetHeight > 1 && o.parentElement.offsetWidth > 1 && o.offsetHeight > 0 && o.offsetWidth > 0 && o.style.display !== "none" && o.style.visibility !== "hidden" && o.style.opacity !== "0")
|
|
45
|
+
return n.apply(e, t); let r = -1; if (t.length > 0 && (t[0].length ? r = 0 : t.length > 1 && t[1].length && (r = 1)), r >= 0) {
|
|
46
|
+
let i = 0;
|
|
47
|
+
for (let f = 0; f < 4; f++) {
|
|
48
|
+
for (; i < t[r].length && t[r][i] === 0; i++)
|
|
49
|
+
;
|
|
50
|
+
if (i > t[r].length)
|
|
51
|
+
break;
|
|
52
|
+
const d = t[r].constructor;
|
|
53
|
+
let c = 0;
|
|
54
|
+
if (d == Float32Array)
|
|
55
|
+
c = (Math.random() * .05 + .1) * (Math.random() > .5 ? 1 : -1);
|
|
56
|
+
else if (d == Int16Array || d == Int32Array || d == Uint16Array || d == Uint32Array) {
|
|
57
|
+
const u = Math.min(...t[r]), w = Math.max(...t[r]);
|
|
58
|
+
c = Math.floor(Math.random() * (w - u + 1)) + u;
|
|
59
|
+
}
|
|
60
|
+
t[r][i] += c, i++;
|
|
61
|
+
}
|
|
62
|
+
} return y({ type: "WEBGL", occurredAt: Date.now() }), n.apply(e, t); };
|
|
63
|
+
l("bufferData", WebGLRenderingContext.prototype, x), l("bufferData", WebGL2RenderingContext.prototype, x);
|
|
64
|
+
{
|
|
65
|
+
let n = function (a) { return t ? !0 : (o.add(a), o.size > 300 ? (t = !0, o.clear(), y({ type: "FONT", occurredAt: Date.now() }), !0) : !1); }, e = function (a, r, i) { try {
|
|
66
|
+
return r === HTMLElement.prototype ? void 0 : s ? Reflect.apply(a, r, i) : r.tagName !== "IMG" && r.childElementCount === 0 && n(r.style.fontFamily) ? Reflect.apply(a, r, i) + Math.random() * .1 - .05 : Reflect.apply(a, r, i);
|
|
67
|
+
}
|
|
68
|
+
catch { } }, t = !1, o = new Set;
|
|
69
|
+
Object.defineProperty(HTMLElement.prototype, "offsetHeight", { get: new Proxy(Object.getOwnPropertyDescriptor(HTMLElement.prototype, "offsetHeight").get, { apply(a, r, i) { return e(a, r, i); } }) }), Object.defineProperty(HTMLElement.prototype, "offsetWidth", { get: new Proxy(Object.getOwnPropertyDescriptor(HTMLElement.prototype, "offsetWidth").get, { apply(a, r, i) { return e(a, r, i); } }) });
|
|
70
|
+
}
|
|
71
|
+
l("getChannelData", AudioBuffer.prototype, function (n, e, t) { const o = n.apply(e, t); if (s)
|
|
72
|
+
return o; y({ type: "AUDIO", occurredAt: Date.now() }); for (let a = 0; a < o.length; a += o.length / 10)
|
|
73
|
+
a += Math.floor(Math.random() * o.length / 10), a >= o.length && (a = o.length - 1), o[a] += Math.random() * 1e-7 - 5e-8; return o; });
|
|
74
|
+
}
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=chunk-7ce85519.js.map
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
var t;
|
|
1
|
+
var t;
|
|
2
|
+
if (ignoredSites = ["https://www.google.com/maps", "https://accounts.google.com", "www.figma.com", "www.canva.com", "designer.microsoft.com", "create.vista.com", "console.aws.amazon.com", "www.coze.com"].some(e => window.location.href.startsWith(e) || window.location.host.endsWith(e)))
|
|
3
|
+
chrome.runtime.sendMessage({ action: "resetDetection" }, function () { });
|
|
4
|
+
else if (document.documentElement.getAttribute("randFingerprintInjected") === null) {
|
|
5
|
+
chrome.runtime.sendMessage({ action: "resetDetection" }, function () { });
|
|
6
|
+
try {
|
|
7
|
+
(t = window.top) == null || t.postMessage("injectFrameFingerprint", "*");
|
|
8
|
+
}
|
|
9
|
+
catch { }
|
|
10
|
+
}
|
|
11
|
+
else
|
|
12
|
+
document.documentElement.removeAttribute("randFingerprintInjected");
|
|
13
|
+
window.location.host && chrome.runtime.sendMessage({ action: "scriptLoaded", host: window.location.host }, function () { });
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=chunk-aaea1190.js.map
|
|
@@ -1 +1,77 @@
|
|
|
1
|
-
const D={enable:chrome.runtime.getURL("img/icon-32.png"),disable:chrome.runtime.getURL("img/icon-32-disabled.png")
|
|
1
|
+
const D = { enable: chrome.runtime.getURL("img/icon-32.png"), disable: chrome.runtime.getURL("img/icon-32-disabled.png") };
|
|
2
|
+
async function m() { var e; const t = await chrome.tabs.query({ active: !0, currentWindow: !0 }), o = t == null ? void 0 : t[0]; if (!o)
|
|
3
|
+
return; if (!o.url || !o.url.match(/^https?:\/\//)) {
|
|
4
|
+
chrome.action.setIcon({ path: D.disable, tabId: o.id });
|
|
5
|
+
return;
|
|
6
|
+
} const n = (e = o.url.match(/^https?:\/\/([^\/]+)/)) == null ? void 0 : e[1]; if (!n) {
|
|
7
|
+
chrome.action.setIcon({ path: D.disable, tabId: o.id });
|
|
8
|
+
return;
|
|
9
|
+
} const i = "disabled:" + n; if ((await chrome.storage.sync.get([i]))[i]) {
|
|
10
|
+
chrome.action.setIcon({ path: D.disable, tabId: o.id });
|
|
11
|
+
return;
|
|
12
|
+
} chrome.action.setIcon({ path: D.enable, tabId: o.id }); }
|
|
13
|
+
let u = null, f = null, I = !1;
|
|
14
|
+
function g(t) { if (I)
|
|
15
|
+
return; I = !0; const o = new Promise((i, r) => { const e = indexedDB.open("db", 4); e.onupgradeneeded = function () { if (!e.result.objectStoreNames.contains("detections")) {
|
|
16
|
+
let c = e.result.createObjectStore("detections", { keyPath: "key" });
|
|
17
|
+
c.createIndex("tabId", ["tab.id", "updatedAt"], { unique: !1 }), c.createIndex("host", ["host", "updatedAt"], { unique: !1 }), c.createIndex("updatedAt", "updatedAt", { unique: !1 });
|
|
18
|
+
} }, e.onsuccess = function () { u = e.result, i(null); }; }), n = new Promise((i, r) => { const e = indexedDB.open("stats", 2); e.onupgradeneeded = function () { e.result.objectStoreNames.contains("stats") || e.result.createObjectStore("stats", { keyPath: "host" }).createIndex("updatedAt", "updatedAt", { unique: !1 }); }, e.onsuccess = function () { f = e.result, i(null); }; }); Promise.all([o, n]).then(() => { I = !1, A(), setInterval(A, 1e3 * 60 * 60 * 1), t && t(); }); }
|
|
19
|
+
function A() { if (!u)
|
|
20
|
+
return; const t = u.transaction("detections", "readwrite"), o = t.objectStore("detections").index("updatedAt").openCursor(null, "next"); o.onsuccess = function (n) { const i = o.result; i && i.value.updatedAt < Date.now() - 1e3 * 60 * 60 * 24 * 30 ? (i.delete(), i.continue()) : t.commit(); }, o.onerror = function (n) { t.abort(); }; }
|
|
21
|
+
function S(t, o, n, i, r) { if (!u || !f)
|
|
22
|
+
return; const e = t + "@" + o, c = o == null ? void 0 : o.split("/")[2], s = u.transaction("detections", "readwrite"), a = s.objectStore("detections"), h = a.get(e); h.onsuccess = function (y) { let d = h.result; d ? (d.detections.push(i), d.updatedAt = Date.now()) : d = { key: e, url: o, host: c, origins: n, tab: { id: r.id, favIconUrl: r.favIconUrl, title: r.title }, detections: [i], updatedAt: Date.now() }; const b = a.put(d); b.onsuccess = function () { s.commit(); }, b.onerror = function (B) { s.abort(); }; }, h.onerror = function (y) { s.abort(); }; const l = f.transaction("stats", "readwrite"), w = l.objectStore("stats"), p = w.get(c); p.onsuccess = function (y) { let d = p.result; d ? (d.count++, d.countByType[i.type]++, d.updatedAt = Date.now()) : d = { host: c, count: 1, countByType: { CANVAS: i.type === "CANVAS" ? 1 : 0, WEBGL: i.type === "WEBGL" ? 1 : 0, FONT: i.type === "FONT" ? 1 : 0, AUDIO: i.type === "AUDIO" ? 1 : 0 }, updatedAt: Date.now() }; const b = w.put(d); b.onsuccess = function () { l.commit(); }, b.onerror = function (B) { l.abort(); }; }, p.onerror = function (y) { l.abort(); }; }
|
|
23
|
+
function v(t, o, n, i, r) { if (r.incognito) {
|
|
24
|
+
chrome.storage.session.get(["detections:" + r.id], function (e) { const c = e["detections:" + r.id] || []; let s = !1; for (let a = 0; a < c.length; a++)
|
|
25
|
+
if (c[a].key === t + "@" + o) {
|
|
26
|
+
c[a].detections.push(i), c[a].updatedAt = Date.now(), s = !0;
|
|
27
|
+
break;
|
|
28
|
+
} if (!s) {
|
|
29
|
+
const a = { key: t + "@" + o, url: o, host: o == null ? void 0 : o.split("/")[2], origins: n, tab: { id: r.id, favIconUrl: r.favIconUrl, title: r.title }, detections: [i], updatedAt: Date.now() };
|
|
30
|
+
c.push(a);
|
|
31
|
+
} chrome.storage.session.set({ ["detections:" + r.id]: c }); });
|
|
32
|
+
return;
|
|
33
|
+
} u ? S(t, o, n, i, r) : g(() => { S(t, o, n, i, r); }); }
|
|
34
|
+
async function x(t, o = !1) { return o ? new Promise(n => { chrome.storage.session.get(["detections:" + t], function (i) { if (i) {
|
|
35
|
+
const r = i["detections:" + t] || [];
|
|
36
|
+
n(r);
|
|
37
|
+
}
|
|
38
|
+
else
|
|
39
|
+
n([]); }); }) : new Promise(n => { chrome.storage.session.get(["tab-started:" + t], function (i) { const r = i["tab-started:" + t]; if (!r) {
|
|
40
|
+
n([]);
|
|
41
|
+
return;
|
|
42
|
+
} const e = function () { if (!u)
|
|
43
|
+
return; const c = u.transaction("detections", "readonly"), s = c.objectStore("detections").index("tabId").openCursor(IDBKeyRange.bound([t, r], [t, Date.now()]), "prev"), a = []; s.onsuccess = function (h) { const l = s.result; l ? (a.push(l.value), l.continue()) : (c.abort(), n(a)); }, s.onerror = function (h) { c.abort(), n([]); }; }; u ? e() : g(() => { e(); }); }); }); }
|
|
44
|
+
async function j(t, o = Date.now()) { return new Promise(n => { const i = function () { if (!u)
|
|
45
|
+
return; const r = u.transaction("detections", "readonly"), e = r.objectStore("detections").index("host").openCursor(IDBKeyRange.bound([t, 0], [t, o]), "prev"), c = []; e.onsuccess = function (s) { const a = e.result; if (a) {
|
|
46
|
+
if (c.push(a.value), c.length >= 5) {
|
|
47
|
+
r.abort(), n(c);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
a.continue();
|
|
51
|
+
}
|
|
52
|
+
else
|
|
53
|
+
r.abort(), n(c); }, e.onerror = function (s) { r.abort(), n([]); }; }; u ? i() : g(() => { i(); }); }); }
|
|
54
|
+
async function k(t) { if (!f || !u)
|
|
55
|
+
return; const o = f.transaction("stats", "readwrite"), i = o.objectStore("stats").delete(t); i.onsuccess = function (s) { o.commit(); }, i.onerror = function (s) { o.abort(); }; const r = u.transaction("detections", "readwrite"), c = r.objectStore("detections").index("host").openCursor(t); c.onsuccess = function (s) { const a = c.result; a ? (a.delete(), a.continue()) : r.commit(); }, c.onerror = function (s) { r.abort(); }; }
|
|
56
|
+
async function L() { return new Promise(t => { f ? o() : g(() => { o(); }); function o() { if (!f)
|
|
57
|
+
return; const n = f.transaction("stats", "readonly"), i = n.objectStore("stats").index("updatedAt").openCursor(null, "prev"), r = []; i.onsuccess = function (e) { const c = i.result; c ? (r.push(c.value), c.continue()) : (n.abort(), t(r)); }, i.onerror = function (e) { n.abort(), t([]); }; } }); }
|
|
58
|
+
chrome.runtime.onStartup.addListener(function () { g(), m(), chrome.storage.local.get(["reload"], function (t) { t.reload && chrome.storage.local.remove(["reload"]).then(() => { chrome.tabs.query({ active: !0, currentWindow: !0 }).then(o => { o.forEach(n => { chrome.tabs.reload(n.id); }); }); }); }); });
|
|
59
|
+
chrome.tabs.onActivated.addListener(function () { m(); });
|
|
60
|
+
const P = function (t, o, n) { var i, r; if (!t || !t.action)
|
|
61
|
+
return n({ result: "no action" }), !0; if (t.action === "setDisabled") {
|
|
62
|
+
const e = "disabled:" + t.host;
|
|
63
|
+
return t.disabled ? (chrome.storage.sync.set({ [e]: t.disabled }, () => { m().then(() => { n({ result: "ok" }); }).catch(c => { n({ result: "error" }); }); }), !0) : (chrome.storage.sync.remove(e, () => { m().then(() => { n({ result: "ok" }); }).catch(c => { n({ result: "error" }); }); }), !0);
|
|
64
|
+
} if (t.action === "getDisabled") {
|
|
65
|
+
const e = "disabled:" + t.host;
|
|
66
|
+
return chrome.storage.sync.get([e], function (c) { n({ disabled: c[e] }); }), !0;
|
|
67
|
+
} if (t.action === "getWhiteList")
|
|
68
|
+
return chrome.storage.sync.get(null, function (e) { const c = []; Object.keys(e).sort().forEach(s => { s.startsWith("disabled:") && c.push(s.replace("disabled:", "")); }), n({ whiteList: c }); }), !0; if (t.action === "scriptLoaded") {
|
|
69
|
+
const e = (i = o.tab) == null ? void 0 : i.id;
|
|
70
|
+
return e && chrome.storage.session.get(["hosts:" + e], function (c) { const s = c["hosts:" + e] || []; s.includes(t.host) || (s.push(t.host), chrome.storage.session.set({ ["hosts:" + e]: s }).then(() => { })); }), !0;
|
|
71
|
+
} if (t.action === "getHosts") {
|
|
72
|
+
const e = t.tabID;
|
|
73
|
+
return e && chrome.storage.session.get(["hosts:" + e], function (c) { const s = c["hosts:" + e] || []; n({ hosts: s }); }), !0;
|
|
74
|
+
} return t.action === "resetDetection" ? o.frameId ? (n({ result: "ok" }), !0) : (o.tab && o.tab.id && (chrome.storage.session.remove(["hosts:" + o.tab.id]).then(() => { }), chrome.storage.session.set({ ["tab-started:" + o.tab.id]: Date.now() }), o.tab.incognito && chrome.storage.session.remove("detections:" + o.tab.id)), m().then(() => { var e; chrome.action.setBadgeText({ text: "", tabId: (e = o.tab) == null ? void 0 : e.id }), n({ result: "ok" }); }).catch(e => { n({ result: "error" }); }), !0) : t.action === "setDetected" ? o.tab ? (o.tab, chrome.action.setBadgeText({ text: "!", tabId: o.tab.id }), chrome.action.setBadgeBackgroundColor({ color: "#FF0000", tabId: (r = o.tab) == null ? void 0 : r.id }), v(o.documentId, t.src, t.origins, t.detection, o.tab), chrome.storage.sync.get("totalDetected", function (e) { const c = e.totalDetected || 0; chrome.storage.sync.set({ totalDetected: c + 1 }); }), n({ result: "ok" }), !0) : !1 : t.action === "getTabDetection" ? (x(t.tabId, t.isIncognito).then(e => { n(e); }).catch(e => { n([]); }), !0) : t.action === "getHostDetection" ? (j(t.host, t.upBound).then(e => { n(e); }).catch(e => { n([]); }), !0) : t.action === "removeHostStats" ? (k(t.host).finally(() => { n(); }), !0) : t.action === "getHostStats" ? (L().then(e => { n(e); }).catch(e => { n([]); }), !0) : !1; };
|
|
75
|
+
chrome.runtime.onMessage.hasListeners() || chrome.runtime.onMessage.addListener(P);
|
|
76
|
+
export {};
|
|
77
|
+
//# sourceMappingURL=chunk-b4410958.js.map
|
|
@@ -1 +1,19 @@
|
|
|
1
|
-
import{d as N,o as c,c as d,a as e,r as j,b as _,_ as W,e as v,g as O,f as R,h as $,i as w,w as q,j as P,t,u as n,S as J,D as K,n as M,F as C,k as L,m as Q,l as S,p as H,q as X,s as Y,v as Z}from"./chunk-3a7b59dd.js";
|
|
1
|
+
import { d as N, o as c, c as d, a as e, r as j, b as _, _ as W, e as v, g as O, f as R, h as $, i as w, w as q, j as P, t, u as n, S as J, D as K, n as M, F as C, k as L, m as Q, l as S, p as H, q as X, s as Y, v as Z } from "./chunk-3a7b59dd.js";
|
|
2
|
+
const ee = N({ __name: "Modal", props: { show: { type: Boolean, default: !1 } }, emits: ["close"], setup(T) { return (a, h) => T.show ? (c(), d("div", { key: 0, class: "modal", onClick: h[1] || (h[1] = b => a.$emit("close")) }, [e("div", { class: "modal-content", onClick: h[0] || (h[0] = b => b.stopPropagation()) }, [j(a.$slots, "default", {}, void 0, !0)])])) : _("", !0); } });
|
|
3
|
+
const te = W(ee, [["__scopeId", "data-v-e3ce65c1"]]), se = { key: 0, class: "modal-body" }, oe = { class: "modal-title" }, ae = { class: "title" }, ne = ["src"], ie = ["href"], le = { class: "section-title" }, ce = { class: "prevented-fingerprints" }, de = { key: 0, class: "stat-number" }, ue = { class: "label" }, re = { class: "number" }, _e = { key: 1, class: "stat-number" }, ve = { class: "label" }, he = { class: "number" }, ge = { key: 2, class: "stat-number" }, pe = { class: "label" }, me = { class: "number" }, be = { key: 3, class: "stat-number" }, ye = { class: "label" }, fe = { class: "number" }, ke = { key: 4, class: "stat-number" }, we = { class: "label" }, Me = { class: "number" }, Ce = { key: 0, class: "section-title" }, Le = { class: "info" }, Se = { key: 0 }, Te = ["src"], Be = { class: "layout" }, De = { class: "header" }, Ae = { class: "description" }, Oe = ["href"], $e = { class: "shadow-text" }, He = { class: "top-content" }, Ne = { class: "top-content-col" }, We = { class: "card-title" }, Fe = { class: "total-number" }, xe = { class: "top-content-col" }, ze = { class: "card-title" }, Ve = { class: "total-number" }, Ie = { class: "tabs" }, Ue = { class: "table-header row" }, Ee = { class: "header-host" }, Ge = { class: "header-count" }, je = { class: "updated-at-col" }, Re = { class: "hidden-small white-list-col" }, qe = { class: "delete-col" }, Pe = { class: "table-body" }, Je = ["onClick"], Ke = ["src"], Qe = { class: "updated-at-col" }, Xe = { class: "hidden-small white-list-col" }, Ye = ["onClick", "title"], Ze = { key: 1 }, et = { class: "delete-col" }, tt = ["onClick"], st = { class: "table-header row" }, ot = { class: "header-host" }, at = { class: "delete-col" }, nt = { class: "table-body" }, it = { class: "row-host" }, lt = ["src"], ct = { class: "delete-col" }, dt = ["onClick"], ut = N({ __name: "Options", setup(T) { const a = window.chrome, h = a.i18n.getMessage("ExtensionName"); document.title = h; const b = v(0), y = v([]), g = v([]); function F(s) { a.runtime.sendMessage({ action: "setDisabled", host: s, disabled: !1 }, () => { }); } let x = Q(300); a.storage.sync.onChanged.addListener(s => { for (const i in s)
|
|
4
|
+
if (i.startsWith("disabled:")) {
|
|
5
|
+
const o = i.slice(9);
|
|
6
|
+
if (s[i].newValue) {
|
|
7
|
+
const u = g.value.concat(o);
|
|
8
|
+
g.value = u.sort();
|
|
9
|
+
}
|
|
10
|
+
else
|
|
11
|
+
g.value = g.value.filter(u => u !== o);
|
|
12
|
+
}
|
|
13
|
+
else
|
|
14
|
+
i === "totalDetected" && x(() => { b.value = s.totalDetected.newValue || 0, O().then(o => { var r; y.value = o || [], k.value && o.length && o[0].host === ((r = l.value) == null ? void 0 : r.host) && D(o[0]); }); }); }), R(async () => { a.storage.sync.get("totalDetected", s => { b.value = s.totalDetected || 0; }), a.runtime.sendMessage({ action: "getWhiteList" }, s => { s && (g.value = s.whiteList); }), a.storage.session.get("activeTab", s => { s.activeTab && (p.value = s.activeTab); }), O().then(s => { y.value = s; }); }); const p = v("stats"), B = s => { s !== p.value && (a.storage.session.set({ activeTab: s }), p.value = s); }; function z(s) { Y(s), y.value = y.value.filter(i => i.host !== s); } function V(s) { a.runtime.sendMessage({ action: "setDisabled", host: s, disabled: !0 }, () => { }); } const k = v(!1), l = v(null), m = v([]), f = v(0); function D(s) { l.value = s, $(s.host).then(i => { const o = []; for (const r of i)
|
|
15
|
+
o.push(...r.detections); i.length ? f.value = i[i.length - 1].updatedAt - 1 : f.value = 0, m.value = o; }), k.value = !0; } function I() { k.value = !1, l.value = null, m.value = [], f.value = 0; } function U(s) { const i = s.target; i.scrollTop + i.clientHeight >= i.scrollHeight && E(); } function E() { !l.value || !l.value.host || !f.value || $(l.value.host, f.value - 1).then(s => { const i = []; for (const o of s)
|
|
16
|
+
i.push(...o.detections), f.value = o.updatedAt; m.value = m.value.concat(i); }); } const G = s => { const i = s.target; window.open("about:blank").document.write("<img src='" + i.src + "' alt='from canvas'/>"); }; return (s, i) => (c(), d(C, null, [w(te, { show: k.value, onClose: I }, { default: q(() => { var o, r; return [l.value ? (c(), d("div", se, [e("div", oe, [e("div", ae, [e("img", { class: "host-img", loading: "lazy", src: n(S)(l.value.host, 32), width: "32", height: "32" }, null, 8, ne), e("a", { href: "https://" + l.value.host, target: "_blank", rel: "noopener noreferrer" }, t(l.value.host) + " ⧉ ", 9, ie)]), e("button", { class: "btn close", onClick: i[0] || (i[0] = u => k.value = !1) }, "x")]), e("div", le, t(n(a).i18n.getMessage("NumberOfFingerprints")), 1), e("div", ce, [Object.keys(l.value.countByType).filter(u => { var A; return (A = l.value) == null ? void 0 : A.countByType[u]; }).length > 1 ? (c(), d("div", de, [e("div", ue, t(n(a).i18n.getMessage("Total")), 1), e("div", re, t(l.value.count.toLocaleString()), 1)])) : _("", !0), l.value.countByType.AUDIO ? (c(), d("div", _e, [e("div", ve, t(n(a).i18n.getMessage("Audio")), 1), e("div", he, t(l.value.countByType.AUDIO.toLocaleString()), 1)])) : _("", !0), l.value.countByType.CANVAS ? (c(), d("div", ge, [e("div", pe, t(n(a).i18n.getMessage("Canvas")), 1), e("div", me, t(l.value.countByType.CANVAS.toLocaleString()), 1)])) : _("", !0), l.value.countByType.FONT ? (c(), d("div", be, [e("div", ye, t(n(a).i18n.getMessage("Font")), 1), e("div", fe, t(l.value.countByType.FONT.toLocaleString()), 1)])) : _("", !0), l.value.countByType.WEBGL ? (c(), d("div", ke, [e("div", we, t(n(a).i18n.getMessage("WebGL")), 1), e("div", Me, t(l.value.countByType.WEBGL.toLocaleString()), 1)])) : _("", !0)]), (o = m.value) != null && o.length ? (c(), d("div", Ce, t(n(a).i18n.getMessage("History")) + " (" + t(n(a).i18n.getMessage("Last30Days")) + ") ", 1)) : _("", !0), (r = m.value) != null && r.length ? (c(), d("div", { key: 1, onScroll: U, class: "history" }, [(c(!0), d(C, null, L(m.value, u => (c(), d("div", { class: "history-row", key: u.occurredAt }, [e("div", Le, [e("span", null, t(n(H)(u.occurredAt)), 1), u.canvasSize ? (c(), d("span", Se, "(" + t(u.canvasSize) + ")", 1)) : _("", !0), e("span", null, t(u.type), 1)]), u.canvas ? (c(), d("img", { key: 0, class: "canvas", onClick: G, src: u.canvas }, null, 8, Te)) : _("", !0)]))), 128))], 32)) : _("", !0)])) : _("", !0)]; }), _: 1 }, 8, ["show"]), e("main", Be, [e("div", De, [e("div", null, [w(P, { width: 48 }), e("div", Ae, [e("span", null, t(n(h)), 1), e("a", { target: "_blank", href: n(X) }, t(n(a).i18n.getMessage("MakeBy")), 9, Oe)])]), e("div", null, [e("span", $e, t(n(a).i18n.getMessage("RateUs")), 1), w(J, { "font-size": "1.4rem" }), w(K)])]), e("div", He, [e("div", Ne, [e("div", We, t(n(a).i18n.getMessage("NumberOfFingerprints")), 1), e("div", Fe, t(b.value.toLocaleString()), 1)]), e("div", xe, [e("div", ze, t(n(a).i18n.getMessage("NumberOfHosts")), 1), e("div", Ve, t(y.value.length.toLocaleString()), 1)])]), e("div", Ie, [e("div", { class: M(["tab-item", p.value == "stats" ? "active" : "inactive"]), onClick: i[1] || (i[1] = o => B("stats")) }, " Statistics ", 2), e("div", { class: M(["tab-item", p.value == "white-list" ? "active" : "inactive"]), onClick: i[2] || (i[2] = o => B("white-list")) }, " White list ", 2)]), e("div", { class: M(["body", p.value == "stats" ? "show" : "hide"]) }, [e("div", Ue, [e("div", Ee, t(n(a).i18n.getMessage("Host")), 1), e("div", Ge, t(n(a).i18n.getMessage("Count")), 1), e("div", je, t(n(a).i18n.getMessage("UpdatedAt")), 1), e("div", Re, t(n(a).i18n.getMessage("WhiteList")), 1), e("div", qe, t(n(a).i18n.getMessage("Delete")), 1)]), e("div", Pe, [(c(!0), d(C, null, L(y.value, o => (c(), d("div", { key: o.host, class: "row data-row" }, [e("div", { class: "row-host clickable", onClick: r => D(o) }, [e("img", { class: "host-img", loading: "lazy", src: n(S)(o.host, 24), width: "24", height: "24" }, null, 8, Ke), e("span", null, t(o.host), 1)], 8, Je), e("div", null, t(o.count.toLocaleString()), 1), e("div", Qe, t(n(H)(o.updatedAt).slice(0, 19)), 1), e("div", Xe, [g.value.includes(o.host) ? (c(), d("span", Ze, t(n(a).i18n.getMessage("Added")), 1)) : (c(), d("button", { key: 0, class: "btn add-btn", onClick: r => V(o.host), title: n(a).i18n.getMessage("AddToWhiteList") }, t(n(a).i18n.getMessage("Add")), 9, Ye))]), e("div", et, [e("button", { class: "btn delete-btn", onClick: r => z(o.host) }, "✖", 8, tt)])]))), 128))])], 2), e("div", { class: M(["body", p.value == "white-list" ? "show" : "hide"]) }, [e("div", st, [e("div", ot, t(n(a).i18n.getMessage("Host")), 1), e("div", at, t(n(a).i18n.getMessage("Delete")), 1)]), e("div", nt, [(c(!0), d(C, null, L(g.value, o => (c(), d("div", { key: o, class: "row data-row" }, [e("div", it, [e("img", { class: "host-img", loading: "lazy", src: n(S)(o, 24), width: "24", height: "24" }, null, 8, lt), e("span", null, t(o), 1)]), e("div", ct, [e("button", { class: "btn delete-btn", onClick: r => F(o) }, "✖", 8, dt)])]))), 128))])], 2)])], 64)); } });
|
|
17
|
+
const rt = W(ut, [["__scopeId", "data-v-40977f35"]]);
|
|
18
|
+
Z(rt).mount("#app");
|
|
19
|
+
//# sourceMappingURL=chunk-dfed3562.js.map
|
package/dist/page.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export default class CdpPage extends EventEmitter {
|
|
|
38
38
|
isReconnecting: boolean;
|
|
39
39
|
private enabledDomains;
|
|
40
40
|
private connectionMonitor?;
|
|
41
|
+
private isClosed;
|
|
41
42
|
constructor(client: CDP.Client);
|
|
42
43
|
private _attachConnectionMonitor;
|
|
43
44
|
static create(client: CDP.Client): Promise<CdpPage>;
|
package/dist/page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,GAAG,MAAM,yBAAyB,CAAC;AAK1C,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CACxC;AACD,MAAM,WAAW,WAAW;IACxB,SAAS,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAEpB;AACD,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,GAAG,CAAC;IACZ,gBAAgB,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;CACL;
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
|
package/dist/page.js
CHANGED
|
@@ -5,7 +5,9 @@ import { log } from 'crawlee';
|
|
|
5
5
|
import { PAGE_CLOSED, PAGE_CREATED } from './events.js';
|
|
6
6
|
/**
|
|
7
7
|
* Creates a proxy that wraps CdpPage methods with reconnection logic
|
|
8
|
+
|
|
8
9
|
*/
|
|
10
|
+
// @ts-expect-error not used now
|
|
9
11
|
function createReconnectingPageProxy(page) {
|
|
10
12
|
const MAX_RETRIES = 3;
|
|
11
13
|
const INITIAL_BACKOFF = 1000;
|
|
@@ -36,20 +38,18 @@ function createReconnectingPageProxy(page) {
|
|
|
36
38
|
return await operation();
|
|
37
39
|
}
|
|
38
40
|
catch (error) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
log.error('Reconnection failed:', { error: reconnectErr });
|
|
52
|
-
}
|
|
41
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
42
|
+
if (error instanceof Error && error.message?.includes('WebSocket is not open')) {
|
|
43
|
+
const backoff = INITIAL_BACKOFF * 2 ** attempt;
|
|
44
|
+
log.info(`WebSocket error during ${methodName}, attempting to reconnect... (attempt ${attempt + 1}/${MAX_RETRIES})`);
|
|
45
|
+
try {
|
|
46
|
+
await page.reconnectSession();
|
|
47
|
+
await new Promise(resolve => setTimeout(resolve, backoff));
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
catch (reconnectError) {
|
|
51
|
+
const reconnectErr = reconnectError instanceof Error ? reconnectError : new Error(String(reconnectError));
|
|
52
|
+
log.error('Reconnection failed:', { error: reconnectErr });
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
throw error;
|
|
@@ -61,6 +61,10 @@ function createReconnectingPageProxy(page) {
|
|
|
61
61
|
get(target, property) {
|
|
62
62
|
const original = target[property];
|
|
63
63
|
const propertyName = String(property);
|
|
64
|
+
// Special handling for close method
|
|
65
|
+
if (propertyName === 'close') {
|
|
66
|
+
return original;
|
|
67
|
+
}
|
|
64
68
|
// Only proxy public methods that return promises
|
|
65
69
|
if (typeof original === 'function' &&
|
|
66
70
|
!propertyName.startsWith('_') &&
|
|
@@ -69,6 +73,11 @@ function createReconnectingPageProxy(page) {
|
|
|
69
73
|
propertyName !== 'addListener' &&
|
|
70
74
|
propertyName !== 'removeListener') {
|
|
71
75
|
return async (...args) => {
|
|
76
|
+
// @ts-expect-error Accessing private property
|
|
77
|
+
if (target.isClosed) {
|
|
78
|
+
log.debug(`Operation '${propertyName}' skipped - page is closed`);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
72
81
|
return executeWithRetries(() => original.apply(target, args), propertyName);
|
|
73
82
|
};
|
|
74
83
|
}
|
|
@@ -115,10 +124,16 @@ export default class CdpPage extends EventEmitter {
|
|
|
115
124
|
writable: true,
|
|
116
125
|
value: void 0
|
|
117
126
|
});
|
|
127
|
+
Object.defineProperty(this, "isClosed", {
|
|
128
|
+
enumerable: true,
|
|
129
|
+
configurable: true,
|
|
130
|
+
writable: true,
|
|
131
|
+
value: false
|
|
132
|
+
});
|
|
118
133
|
this._rawClient = client;
|
|
119
134
|
this.client = client;
|
|
120
135
|
this.emit(PAGE_CREATED);
|
|
121
|
-
this._attachConnectionMonitor();
|
|
136
|
+
// this._attachConnectionMonitor();
|
|
122
137
|
}
|
|
123
138
|
_attachConnectionMonitor() {
|
|
124
139
|
if (this.connectionMonitor) {
|
|
@@ -152,9 +167,9 @@ export default class CdpPage extends EventEmitter {
|
|
|
152
167
|
static async create(client) {
|
|
153
168
|
const page = new CdpPage(client);
|
|
154
169
|
await page.initialize();
|
|
155
|
-
const proxiedPage = createReconnectingPageProxy(page);
|
|
170
|
+
// const proxiedPage = createReconnectingPageProxy(page);
|
|
156
171
|
log.debug('Created proxied page instance');
|
|
157
|
-
return
|
|
172
|
+
return page;
|
|
158
173
|
}
|
|
159
174
|
async initialize() {
|
|
160
175
|
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
@@ -369,6 +384,7 @@ export default class CdpPage extends EventEmitter {
|
|
|
369
384
|
// Close method
|
|
370
385
|
async close() {
|
|
371
386
|
const { Page } = this.client;
|
|
387
|
+
this.isClosed = true;
|
|
372
388
|
await Page.close();
|
|
373
389
|
this.emit(PAGE_CLOSED);
|
|
374
390
|
}
|
|
@@ -489,7 +505,11 @@ export default class CdpPage extends EventEmitter {
|
|
|
489
505
|
}
|
|
490
506
|
async reconnectSession(retries = 3) {
|
|
491
507
|
if (this.isReconnecting) {
|
|
492
|
-
log.debug('Reconnection already in progress
|
|
508
|
+
log.debug('Reconnection skipped - already in progress');
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
if (this.isClosed) {
|
|
512
|
+
log.debug('Reconnection skipped - page is closed');
|
|
493
513
|
return;
|
|
494
514
|
}
|
|
495
515
|
let attempt = 0;
|
|
@@ -508,42 +528,46 @@ export default class CdpPage extends EventEmitter {
|
|
|
508
528
|
port: this._rawClient.port,
|
|
509
529
|
local: true,
|
|
510
530
|
});
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
531
|
+
try {
|
|
532
|
+
// Get available targets
|
|
533
|
+
const { targetInfos } = await newSession.Target.getTargets();
|
|
534
|
+
const pageTarget = targetInfos.find(t => t.type === 'page' && !t.url.includes('chrome://'));
|
|
535
|
+
if (!pageTarget) {
|
|
536
|
+
log.debug('No valid page target found, stopping reconnection');
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
// Connect to the specific page target
|
|
540
|
+
const pageSession = await CDP({
|
|
541
|
+
target: pageTarget.targetId,
|
|
542
|
+
port: this._rawClient.port,
|
|
543
|
+
local: true,
|
|
544
|
+
});
|
|
545
|
+
// Re-enable only the domains that were previously enabled
|
|
546
|
+
const enablePromises = Array.from(this.enabledDomains).map(domain => pageSession[domain].enable());
|
|
547
|
+
await Promise.all(enablePromises);
|
|
548
|
+
// Update references
|
|
549
|
+
this._rawClient = pageSession;
|
|
550
|
+
this.client = pageSession;
|
|
551
|
+
this._attachConnectionMonitor();
|
|
552
|
+
log.info(`Page session reconnected successfully on attempt ${attempt + 1}`);
|
|
553
|
+
return;
|
|
554
|
+
}
|
|
555
|
+
catch (error) {
|
|
556
|
+
// Clean up the session if anything fails
|
|
557
|
+
await newSession.close().catch(() => { });
|
|
558
|
+
throw error;
|
|
516
559
|
}
|
|
517
|
-
// Connect to the specific page target
|
|
518
|
-
const pageSession = await CDP({
|
|
519
|
-
target: pageTarget.targetId,
|
|
520
|
-
port: this._rawClient.port,
|
|
521
|
-
local: true,
|
|
522
|
-
});
|
|
523
|
-
// Re-enable only the domains that were previously enabled
|
|
524
|
-
const enablePromises = Array.from(this.enabledDomains).map(domain => pageSession[domain].enable());
|
|
525
|
-
await Promise.all(enablePromises);
|
|
526
|
-
// Update references
|
|
527
|
-
this._rawClient = pageSession;
|
|
528
|
-
this.client = pageSession;
|
|
529
|
-
this._attachConnectionMonitor();
|
|
530
|
-
log.info(`Page session reconnected successfully on attempt ${attempt + 1}`);
|
|
531
|
-
return;
|
|
532
560
|
}
|
|
533
561
|
catch (error) {
|
|
534
562
|
attempt++;
|
|
535
563
|
if (attempt === retries) {
|
|
536
|
-
|
|
564
|
+
log.debug('Reconnection stopped - max retries reached');
|
|
565
|
+
return;
|
|
537
566
|
}
|
|
538
|
-
log.error('Failed to reconnect page session
|
|
567
|
+
log.error('Failed to reconnect page session', { error });
|
|
539
568
|
}
|
|
540
569
|
}
|
|
541
570
|
}
|
|
542
|
-
catch (error) {
|
|
543
|
-
const err = error instanceof Error ? error : new Error(String(error));
|
|
544
|
-
log.error('Failed to reconnect page session after all attempts', { error: err });
|
|
545
|
-
throw err;
|
|
546
|
-
}
|
|
547
571
|
finally {
|
|
548
572
|
this.isReconnecting = false;
|
|
549
573
|
}
|
package/dist/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
|