Add automark option

master
Kuba Orlik 2021-11-24 14:19:12 +01:00
rodzic ca5c97e6da
commit 8e7091c406
3 zmienionych plików z 72 dodań i 28 usunięć

Wyświetl plik

@ -63,8 +63,16 @@ export class RequestCluster extends EventEmitter {
return -1; return -1;
} else if (indexA > indexB) { } else if (indexA > indexB) {
return 1; return 1;
} else if (entry1.value.length > entry2.value.length) {
return -1;
} else if (entry1.value.length < entry2.value.length) {
return 1;
} else if (entry1.isMarked && !entry2.isMarked) {
return -1;
} else if (!entry1.isMarked && entry2.isMarked) {
return 1;
} else { } else {
return entry1.value.length > entry2.value.length ? -1 : 1; return 0;
} }
} }
}) })
@ -155,4 +163,10 @@ export class RequestCluster extends EventEmitter {
exposesOrigin() { exposesOrigin() {
return this.requests.some((request) => request.exposesOrigin()); return this.requests.some((request) => request.exposesOrigin());
} }
autoMark() {
this.getRepresentativeStolenData().forEach((entry) => {
entry.autoMark();
});
}
} }

Wyświetl plik

@ -23,9 +23,13 @@ export function StolenData({
if (!origin) { if (!origin) {
return <div></div>; return <div></div>;
} }
const clusters = Object.values(getMemory().getClustersForOrigin(origin)).sort( const clusters = Object.values(getMemory().getClustersForOrigin(origin))
RequestCluster.sortCompare .sort(RequestCluster.sortCompare)
); .filter((cluster) => !cookiesOnly || cluster.hasCookies())
.filter(
(cluster) =>
!cookiesOrOriginOnly || cluster.hasCookies() || cluster.exposesOrigin()
);
return ( return (
<div style={{ padding: "5px" }}> <div style={{ padding: "5px" }}>
{" "} {" "}
@ -53,6 +57,12 @@ export function StolenData({
Wyczyść pamięć Wyczyść pamięć
</button> </button>
<button <button
onClick={() => clusters.forEach((cluster) => cluster.autoMark())}
>
Zaznacz automatycznie
</button>
<button
style={{ marginLeft: "1rem" }}
onClick={() => onClick={() =>
window.open( window.open(
`/report-window/report-window.html?origin=${origin}`, `/report-window/report-window.html?origin=${origin}`,
@ -64,27 +74,19 @@ export function StolenData({
Generuj maila Generuj maila
</button> </button>
</h1> </h1>
{clusters {clusters.map((cluster) => {
.filter((cluster) => !cookiesOnly || cluster.hasCookies()) return (
.filter( <StolenDataCluster
(cluster) => origin={origin}
!cookiesOrOriginOnly || shorthost={cluster.id}
cluster.hasCookies() || key={cluster.id + origin}
cluster.exposesOrigin() refreshToken={refreshToken}
) minValueLength={minValueLength}
.map((cluster) => { cookiesOnly={cookiesOnly}
return ( cookiesOrOriginOnly={cookiesOrOriginOnly}
<StolenDataCluster />
origin={origin} );
shorthost={cluster.id} })}
key={cluster.id + origin}
refreshToken={refreshToken}
minValueLength={minValueLength}
cookiesOnly={cookiesOnly}
cookiesOrOriginOnly={cookiesOrOriginOnly}
/>
);
})}
</div> </div>
</div> </div>
); );

Wyświetl plik

@ -21,6 +21,7 @@ export const Classifications = <const>{
}; };
const ID_PREVIEW_MAX_LENGTH = 20; const ID_PREVIEW_MAX_LENGTH = 20;
const MIN_COOKIE_LENGTH_FOR_AUTO_MARK = 15;
const id = (function* id() { const id = (function* id() {
let i = 0; let i = 0;
@ -147,13 +148,19 @@ export class StolenDataEntry extends EventEmitter {
} }
mark() { mark() {
const had_been_marked_before = this.marked;
this.marked = true; this.marked = true;
this.emit("change"); if (!had_been_marked_before) {
this.emit("change");
}
} }
unmark() { unmark() {
const had_been_marked_before = this.marked;
this.marked = false; this.marked = false;
this.emit("change"); if (had_been_marked_before) {
this.emit("change");
}
} }
toggleMark() { toggleMark() {
@ -171,6 +178,7 @@ export class StolenDataEntry extends EventEmitter {
[ [
this.request.origin, this.request.origin,
this.request.originalURL, this.request.originalURL,
this.request.originalPathname,
getshorthost(this.request.origin), getshorthost(this.request.origin),
].some((needle) => haystack.includes(needle)) ].some((needle) => haystack.includes(needle))
) )
@ -215,6 +223,26 @@ export class StolenDataEntry extends EventEmitter {
} }
exposesOrigin(): boolean { exposesOrigin(): boolean {
return this.value.includes(getshorthost(this.request.origin)); return (
this.value.includes(getshorthost(this.request.origin)) ||
this.value.includes(this.request.originalPathname)
);
}
autoMark() {
if (
this.classification == "history" ||
((this.source === "cookie" ||
this.name.toLowerCase().includes("id") ||
this.name.toLowerCase().includes("cookie") ||
this.name.toLowerCase().includes("ga") ||
this.name.toLowerCase().includes("fb")) &&
this.value.length > MIN_COOKIE_LENGTH_FOR_AUTO_MARK)
) {
if (this.request.shorthost.includes("google") && this.name == "CONSENT") {
return;
}
this.mark();
}
} }
} }