From aef74d777285c25d4e8d9c67baab99a1a423aae5 Mon Sep 17 00:00:00 2001 From: Lowder Date: Wed, 23 Sep 2026 14:48:52 +0500 Subject: [PATCH] feat: filter probes with unblocked cdn --- Cargo.lock | 2 +- frontend/src/lib/api/probe.ts | 6 +- frontend/src/routes/kb/probing/+page.svelte | 5 +- website/Cargo.toml | 2 +- .../20260923000000_reporter_cdn_unblocked.sql | 2 + website/src/api/probe.rs | 180 +++++++++++++++--- 6 files changed, 163 insertions(+), 34 deletions(-) create mode 100644 website/migrations/20260923000000_reporter_cdn_unblocked.sql diff --git a/Cargo.lock b/Cargo.lock index 3f9053d..822a77b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4509,7 +4509,7 @@ dependencies = [ [[package]] name = "website" -version = "1.3.7" +version = "1.3.8" dependencies = [ "anyhow", "dotenvy", diff --git a/frontend/src/lib/api/probe.ts b/frontend/src/lib/api/probe.ts index b4f74b7..a8390a0 100644 --- a/frontend/src/lib/api/probe.ts +++ b/frontend/src/lib/api/probe.ts @@ -44,6 +44,7 @@ export type ProbeResult = { provider?: string | null; asn?: string | null; verdicts: ProbeVerdict[]; + cdn_unblocked?: boolean; host_results: ProbeHostResult[] | null; target_hop: number | null; dpi_hop: number | null; @@ -61,7 +62,10 @@ export function displayProbeVerdicts( isStaticCdn: boolean, ): DisplayProbeVerdict[] { return probe.verdicts.map((verdict) => - isStaticCdn && probe.host_results?.length !== 0 && verdict === "ok" + isStaticCdn && + !probe.cdn_unblocked && + probe.host_results?.length !== 0 && + verdict === "ok" ? "cdn_block" : verdict, ); diff --git a/frontend/src/routes/kb/probing/+page.svelte b/frontend/src/routes/kb/probing/+page.svelte index ad89c72..c0d67cb 100644 --- a/frontend/src/routes/kb/probing/+page.svelte +++ b/frontend/src/routes/kb/probing/+page.svelte @@ -126,8 +126,9 @@ import KbNote from "$lib/components/kb/KbNote.svelte";