IN PROGRESS
Technical summary
NEXUS OSINT plugin for website history via the Wayback Machine (Internet Archive): latest snapshot lookup, capture listing through the CDX API with date filters, a yearly visual timeline, batch checks of up to 50 domains, CSV export and query history — with 7-day local caching and real-time service status.
Executed scope
backend.phpbackend (461 lines):WAYBACK_CACHE_TTL = 604800(7 days); no authentication — public Internet Archive APIs.- Tables (created by
wayback_install()on load):wayback_cache(id, kind, query_key VARCHAR(512), status, http_code, data LONGTEXT, error, task_id, updated_at;UNIQUE uk_kind_key (kind, query_key(255)),idx_updated_at) andwayback_history(id, query_type, query_val VARCHAR(512), status, task_id, created_at;idx_created_at). - Cache:
wayback_cache_get/put— upsert per kind+key with 7-day TTL; every query is also logged to history; theforceparameter bypasses cache. - HTTP:
wayback_http_get— 5s connect / 12s timeout (20s on CDX queries),Accept: application/jsonand up to 5 redirects. wayback_check— GETarchive.org/wayback/available?url=; returns the latest snapshot (archived_snapshots.closestwith url, timestamp and status).wayback_snapshots— CDXweb.archive.org/cdx/search/cdxwithoutput=json,fl=timestamp,original,statuscode,mimetype,digest,collapse=timestamp:8(1 capture per day),filter=statuscode:200,from/toandlimit(default 50); CDX JSON parsing withrawfallback.wayback_timeline— CDXlimit=500withcollapse=timestamp:6andstatuscode:200filter; groups by year (total, first_seen, last_seen) exposingtotal_years; each year links toweb.archive.org/web/{year}*/{url}.wayback_bulk_check— up to 50 domains per call; reuseswayback_check(cache-aware) returning domain, available, timestamp, url, status and cached per domain.wayback_status— GET (not HEAD) onwayback/available?url=example.com(4s connect / 6s timeout);services.wayback_availableandservices.wayback_cdx(online = 2xx) +has_sample_snapshot.wayback_history— page and limit ≤ 50, ordered by id DESC (query_type, query_val, status, task_id, created_at).- API: 6 actions via
PluginManager::registerApiAction(wayback_status, wayback_check, wayback_snapshots, wayback_timeline, wayback_bulk_check, wayback_history) — no placeholders. - No Intelligence Hub enricher — on-demand lookup plugin (direct OSINT, no automatic enrichment signals).
- Alpine.js UI (
tab.php, 690 lines): cyan theme; API status badge (pulsing green / red); Lookup tab (latest snapshot with "View" link and dd/mm/yyyy hh:mm timestamps), Snapshots (date filters + limit, timestamp/date/original URL/MIME/status table and CSV export), Timeline (yearly bars with capture totals and first_seen/last_seen), Batch (up to 50 domains, available/no-snapshot badge, cache indicator and CSV) and History (type/query/status/date); raw JSON toggle. - Fastr: 3 commands —
/wayback <url>(url),/wayback-snaps <url>(url),/wayback-timeline <url>(url); allarg_required=true. - No
cronjob.json— on-demand plugin with 7-day cache.
Stack and tools
- PHP 8 (no framework)
- MySQL 8 (wayback_cache + wayback_history)
- Alpine.js + Tailwind CSS (premium light, cyan ring)
- NEXUS plugin system (PluginManager)
- cURL → archive.org Wayback Machine (Availability API + CDX API)
Operational tags
- OSINT
- Internet Archive
- Wayback Machine
- CDX
- Snapshots
- Digital Preservation
- Plugin NEXUS
Operational outcome
- Access to the largest web history archive (800B+ pages since 1996): quick domain presence check and a direct link to the latest replay.
- Snapshot listing with date filters and CSV export for offline analysis of a site's evolution.
- Yearly timeline that reveals, in seconds, since when and how often a domain has been archived.
- Batch checks of up to 50 domains for OSINT triage (e.g. spotting squatting or abandoned domains still archived).
- 7-day cache: repeated lookups do not re-hit the Internet Archive APIs and the query history stays auditable.
GitHub progress (issues)
Real-time panel with latest repository issues.
live feed
open issues on GitHubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Real results
NEXUS OSINT plugin for website history via the Wayback Machine (Internet Archive): latest snapshot lookup, CDX capture listing with date filters, yearly visual timeline, batch checks of up to 50 domains, CSV export and query history — all with 7-day local caching and real-time service status.
Architecture and organization
- PHP 8
- MySQL 8
- Alpine.js
- Tailwind CSS
- Plugin NEXUS
Execution and operations
The project follows reproducible execution flow with technical validation in production-like environments.
Screenshots
Talk about this project
Apply this implementation pattern in your environment and accelerate delivery with technical consistency.