Compare commits

...

3 Commits

4 changed files with 20 additions and 18 deletions

View File

@ -16,7 +16,7 @@ export default class ExtendedRequest {
public url: string; public url: string;
public shorthost: string; public shorthost: string;
public requestHeaders: Request["requestHeaders"]; public requestHeaders: Request["requestHeaders"];
public origin: string; public originalURL: string;
public initialized = false; public initialized = false;
public stolenData: StolenDataEntry[]; public stolenData: StolenDataEntry[];
@ -34,19 +34,19 @@ export default class ExtendedRequest {
} else { } else {
url = (this.data as any).frameAncestors[0].url; url = (this.data as any).frameAncestors[0].url;
} }
this.origin = new URL(url).origin; this.originalURL = new URL(url).origin;
} }
getOrigin(): string { getOriginalURL(): string {
if (!this.initialized) { if (!this.initialized) {
throw new Error("initialize first!!"); throw new Error("initialize first!!");
} }
return this.origin; return this.originalURL;
} }
isThirdParty() { isThirdParty() {
const request_url = new URL(this.data.url); const request_url = new URL(this.data.url);
const origin_url = new URL(this.getOrigin()); const origin_url = new URL(this.getOriginalURL());
if (request_url.host.includes(origin_url.host)) { if (request_url.host.includes(origin_url.host)) {
return false; return false;
} }
@ -65,7 +65,7 @@ export default class ExtendedRequest {
} }
exposesOrigin() { exposesOrigin() {
const url = new URL(this.getOrigin()); const url = new URL(this.getOriginalURL());
const host = url.host; const host = url.host;
const path = url.pathname; const path = url.pathname;
return ( return (

View File

@ -7,19 +7,19 @@ export default class Memory extends EventEmitter {
origin_to_history = {} as Record<string, Record<string, RequestCluster>>; origin_to_history = {} as Record<string, Record<string, RequestCluster>>;
async register(request: ExtendedRequest) { async register(request: ExtendedRequest) {
await request.init(); await request.init();
console.log("registering request for", request.origin); console.log("registering request for", request.originalURL);
if (!request.isThirdParty()) { if (!request.isThirdParty()) {
return; return;
} }
if (!this.origin_to_history[request.origin]) { if (!this.origin_to_history[request.originalURL]) {
this.origin_to_history[request.origin] = {}; this.origin_to_history[request.originalURL] = {};
} }
const shorthost = getshorthost(new URL(request.url).host); const shorthost = getshorthost(new URL(request.url).host);
if (!this.origin_to_history[request.origin][shorthost]) { if (!this.origin_to_history[request.originalURL][shorthost]) {
const cluster = new RequestCluster(shorthost); const cluster = new RequestCluster(shorthost);
this.origin_to_history[request.origin][shorthost] = cluster; this.origin_to_history[request.originalURL][shorthost] = cluster;
} }
this.origin_to_history[request.origin][shorthost].add(request); this.origin_to_history[request.originalURL][shorthost].add(request);
this.emit("change"); this.emit("change");
} }

View File

@ -41,7 +41,9 @@ function Report() {
style={{ style={{
width: "400px", width: "400px",
overflowWrap: "anywhere", overflowWrap: "anywhere",
backgroundColor: entry.isRelatedToID() ? "yellow" : "white", backgroundColor: entry.isRelatedToID()
? "#ffff0054"
: "white",
}} }}
> >
{entry.value} {entry.value}

View File

@ -49,7 +49,7 @@ export class StolenDataEntry {
getPriority() { getPriority() {
let priority = 0; let priority = 0;
priority += Math.min(this.value.length, 50); priority += Math.min(this.value.length, 50);
const url = new URL(this.request.getOrigin()); const url = new URL(this.request.originalURL);
if (this.value.includes(url.host)) { if (this.value.includes(url.host)) {
priority += 100; priority += 100;
} }
@ -127,7 +127,7 @@ export class StolenDataEntry {
} }
private classify(): keyof typeof Classifications { private classify(): keyof typeof Classifications {
if (this.value.includes(this.request.origin)) { if (this.value.includes(this.request.originalURL)) {
return "history"; return "history";
} else { } else {
return "id"; return "id";
@ -172,15 +172,15 @@ export class MergedStolenDataEntry {
} }
getNames(): string[] { getNames(): string[] {
return Array.from(new Set(this.entries.map((e) => e.name))); return unique(this.entries.map((e) => e.name));
} }
getSources(): string[] { getSources(): string[] {
return Array.from(new Set(this.entries.map((e) => e.source))); return unique(this.entries.map((e) => e.source));
} }
getValues() { getValues() {
return Array.from(new Set(this.entries.map((e) => e.value))); return unique(this.entries.map((e) => e.value));
} }
getParsedValues(key_path: string) { getParsedValues(key_path: string) {