Add automark option
This commit is contained in:
parent
ca5c97e6da
commit
8e7091c406
@ -63,8 +63,16 @@ export class RequestCluster extends EventEmitter {
|
||||
return -1;
|
||||
} else if (indexA > indexB) {
|
||||
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 {
|
||||
return entry1.value.length > entry2.value.length ? -1 : 1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -155,4 +163,10 @@ export class RequestCluster extends EventEmitter {
|
||||
exposesOrigin() {
|
||||
return this.requests.some((request) => request.exposesOrigin());
|
||||
}
|
||||
|
||||
autoMark() {
|
||||
this.getRepresentativeStolenData().forEach((entry) => {
|
||||
entry.autoMark();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -23,9 +23,13 @@ export function StolenData({
|
||||
if (!origin) {
|
||||
return <div></div>;
|
||||
}
|
||||
const clusters = Object.values(getMemory().getClustersForOrigin(origin)).sort(
|
||||
RequestCluster.sortCompare
|
||||
);
|
||||
const clusters = Object.values(getMemory().getClustersForOrigin(origin))
|
||||
.sort(RequestCluster.sortCompare)
|
||||
.filter((cluster) => !cookiesOnly || cluster.hasCookies())
|
||||
.filter(
|
||||
(cluster) =>
|
||||
!cookiesOrOriginOnly || cluster.hasCookies() || cluster.exposesOrigin()
|
||||
);
|
||||
return (
|
||||
<div style={{ padding: "5px" }}>
|
||||
{" "}
|
||||
@ -53,6 +57,12 @@ export function StolenData({
|
||||
Wyczyść pamięć
|
||||
</button>
|
||||
<button
|
||||
onClick={() => clusters.forEach((cluster) => cluster.autoMark())}
|
||||
>
|
||||
Zaznacz automatycznie
|
||||
</button>
|
||||
<button
|
||||
style={{ marginLeft: "1rem" }}
|
||||
onClick={() =>
|
||||
window.open(
|
||||
`/report-window/report-window.html?origin=${origin}`,
|
||||
@ -64,27 +74,19 @@ export function StolenData({
|
||||
Generuj maila
|
||||
</button>
|
||||
</h1>
|
||||
{clusters
|
||||
.filter((cluster) => !cookiesOnly || cluster.hasCookies())
|
||||
.filter(
|
||||
(cluster) =>
|
||||
!cookiesOrOriginOnly ||
|
||||
cluster.hasCookies() ||
|
||||
cluster.exposesOrigin()
|
||||
)
|
||||
.map((cluster) => {
|
||||
return (
|
||||
<StolenDataCluster
|
||||
origin={origin}
|
||||
shorthost={cluster.id}
|
||||
key={cluster.id + origin}
|
||||
refreshToken={refreshToken}
|
||||
minValueLength={minValueLength}
|
||||
cookiesOnly={cookiesOnly}
|
||||
cookiesOrOriginOnly={cookiesOrOriginOnly}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
{clusters.map((cluster) => {
|
||||
return (
|
||||
<StolenDataCluster
|
||||
origin={origin}
|
||||
shorthost={cluster.id}
|
||||
key={cluster.id + origin}
|
||||
refreshToken={refreshToken}
|
||||
minValueLength={minValueLength}
|
||||
cookiesOnly={cookiesOnly}
|
||||
cookiesOrOriginOnly={cookiesOrOriginOnly}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
@ -21,6 +21,7 @@ export const Classifications = <const>{
|
||||
};
|
||||
|
||||
const ID_PREVIEW_MAX_LENGTH = 20;
|
||||
const MIN_COOKIE_LENGTH_FOR_AUTO_MARK = 15;
|
||||
|
||||
const id = (function* id() {
|
||||
let i = 0;
|
||||
@ -147,13 +148,19 @@ export class StolenDataEntry extends EventEmitter {
|
||||
}
|
||||
|
||||
mark() {
|
||||
const had_been_marked_before = this.marked;
|
||||
this.marked = true;
|
||||
this.emit("change");
|
||||
if (!had_been_marked_before) {
|
||||
this.emit("change");
|
||||
}
|
||||
}
|
||||
|
||||
unmark() {
|
||||
const had_been_marked_before = this.marked;
|
||||
this.marked = false;
|
||||
this.emit("change");
|
||||
if (had_been_marked_before) {
|
||||
this.emit("change");
|
||||
}
|
||||
}
|
||||
|
||||
toggleMark() {
|
||||
@ -171,6 +178,7 @@ export class StolenDataEntry extends EventEmitter {
|
||||
[
|
||||
this.request.origin,
|
||||
this.request.originalURL,
|
||||
this.request.originalPathname,
|
||||
getshorthost(this.request.origin),
|
||||
].some((needle) => haystack.includes(needle))
|
||||
)
|
||||
@ -215,6 +223,26 @@ export class StolenDataEntry extends EventEmitter {
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user