12 Commits

Author SHA1 Message Date
Rene Fichtmueller
3adc34c42b feat: Lia's Paradise country data fix + file upload
- Fix org→country mapping: pre-cache 20k+ PeeringDB orgs at startup
- 22k networks now have country codes (was 0 before)
- Add file upload: CSV/TXT/PDF/XLS/DOC → ASN extraction → probe check
- Export file results as printable PDF
2026-03-27 01:40:03 +13:00
Rene Fichtmueller
41af8be7f4 feat: Lia's Paradise, bug fixes, company descriptions
- Add /lia Easter egg page: RIPE Atlas coverage explorer showing
  34k+ networks grouped by country with probe/no-probe status,
  RIR filtering, search, and PDF export
- Add /api/lia/coverage endpoint combining PeeringDB + Atlas data
- Fix Provider Relationship Graph (renamed var to avoid shadowing)
- Fix ROV/ASPA double-value display (show worst single status)
- Add fallback: render provider graph from lookup data when ASPA fails
- Add company description (org_name) to Network Overview
- Add worstStatus() helper for frontend badge normalization
2026-03-27 01:32:30 +13:00
Rene Fichtmueller
dee5871609 fix: PeeringDB API key + User-Agent WAF fix + bgproutes.io visibility fallback 2026-03-27 00:22:08 +13:00
Rene Fichtmueller
c4462bf633 fix: 6 critical data accuracy bugs
- Bug 1: Facilities returned ALL 59k PeeringDB entries (missing net_id filter)
- Bug 2: Neighbours returned 0 for large ASNs (8s timeout, now 30s)
- Bug 3: Visibility showed 0% when API times out (now shows -1 = unavailable)
- Bug 4: Prefixes returned 0 for small ASNs (cascading fetch failure)
- Bug 5: RPKI inconsistency documented (different sample sets per endpoint)
- Bug 6: Atlas probe status showed 0 connected (status.name vs status_name)

Also: PDB IX/Fac queries now use net_id (phase 0 + parallel phase 1)
Also: Compare endpoint uses net_id for facilities
2026-03-26 23:51:07 +13:00
Rene Fichtmueller
1120d81dfc feat: RPKI-based ASPA detection via Cloudflare feed (1455 objects), collapsible lists, sorted ASNs, Route Views 2026-03-26 16:02:14 +13:00
Rene Fichtmueller
bd90113285 feat: sortable ASPA audit lists (by ASN, frequency, or name) 2026-03-26 14:42:54 +13:00
Rene Fichtmueller
21450ea0eb feat: collapsible providers list + scrollable ASPA template 2026-03-26 14:17:42 +13:00
Rene Fichtmueller
86d6bd8e2d feat: add Route Views to header, ASN links, and data sources footer 2026-03-26 14:15:10 +13:00
Rene Fichtmueller
c23d99558b feat: collapsible show-more for ASPA audit lists (missing + extra providers) 2026-03-26 14:11:05 +13:00
Rene Fichtmueller
cd03ad0744 fix: move routing CSS from broken JS string to style block (SyntaxError) 2026-03-26 13:02:36 +13:00
Rene Fichtmueller
976bdb48e4 perf: optimize compare endpoint + add caching everywhere
- Compare: all API calls in single parallel batch (was sequential)
- Compare: RPKI sample reduced to 3+3 prefixes with 5s timeout cap
- Compare: response caching (5min TTL)
- Compare: AS name resolution parallel with 3s timeout
- Result: Compare from timeout (>20s) to ~5s first call, <1s cached
2026-03-26 12:54:22 +13:00
Rene Fichtmueller
267943b647 feat: performance fixes + deploy directory with live dashboard
- Add response caching (5min TTL for lookups, 10min for ASPA)
- Add 8s timeout to all external API fetches
- RPKI validation: sample max 10 prefixes (5 v4 + 5 v6) instead of 50
- Run all PeeringDB + RIPE Stat calls in single parallel batch
- Resolve AS names in parallel with 3s timeout cap
- Add deploy/ directory with production server.js + index.html dashboard
- Landing page: Tokyo Night dark theme, interactive ASN search
- 15 API endpoints: lookup, aspa, aspa/verify, bgproutes, validate,
  compare, peers/find, prefix/detail, ix/detail, topology, whois, health
- Features: RPKI per-prefix, RIPE Atlas probes, Network Health Report,
  ASPA RFC verification engine, Provider Relationship Graph
2026-03-26 12:50:54 +13:00