Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 2058Tools index
Pricing
Open Source
Type
TOOL
Builder
obra
GitHub
14 stars
Date

About

Wayback Machine mirror recovery toolkit with archive-friendly, provenance-first restoration.

What it does

Wayback Restorer turns public archived captures into a locally browsable static website. It discovers captures through CDX, chooses one snapshot per original URL, downloads pages and referenced assets, rewrites internal links, then records coverage, gaps, hashes, and source provenance.

Why it's ranked here

This is a focused preservation tool with unusually strong operational discipline. Conservative pacing, resumable downloads, atomic artifact writes, explicit host deduplication, and gap-focused reruns reduce archive load and recovery risk. Its narrow HTML handling and archive dependence keep the verdict measured.

What's good

Recovery stays inspectable. Each attempt records the original URL, capture timestamp, replay source, local destination, hash, and status. Existing nonempty artifacts are skipped, downloads use atomic replacement, and reports separate recovered material from unresolved gaps. Date cutoffs and host aliases are explicit controls.

Tradeoffs

It requires Python 3.11 or newer and live access to the Internet Archive. HTML processing recognizes quoted link and source attributes, skips internal URLs containing queries, and discovers assets only from source attributes. Missing captures remain missing, and publishing rights still require owner review.

How to use it well

Use it for public-site preservation when you need a static mirror with traceable sources. Start with a bounded date window and conservative pacing, keep one output location for reruns, then target the generated gap register. It does not provide hosting, rights clearance, private-system recovery, or replacement editorial content.

Technical notes+

pyproject.toml defines the sp-recovery Python 3.11+ package with setuptools and no runtime dependencies. sp_recovery/cli.py exposes discover, recover, report, and run subcommands. sp_recovery/discovery.py paginates CDX with resume keys, collapses URL keys, and selects canonical captures. sp_recovery/recover.py uses id_ replay URLs, bounded retries, pacing, skip-existing behavior, SHA-256 provenance, and atomic writes supplied by sp_recovery/io_utils.py. sp_recovery/pipeline.py adds referenced assets using each page capture timestamp before rewriting. sp_recovery/rewrite.py uses a regular expression over quoted href and src attributes, preserves external links, rejects query-bearing internal targets, and records unresolved paths. sp_recovery/reporting.py emits coverage, gap, and provenance outputs. docs/legal-notes.md explicitly leaves publication and asset-rights decisions to owner review.

Observed

Primary language
Python
Runtime requirement
Python 3.11 or newer
Packaging
setuptools build backend with wheel support
Runtime dependencies
No third-party runtime dependencies declared
Interface
Command-line interface with discover, recover, report, and run commands
External service
Requires network access to web.archive.org

Read from README.md, pyproject.toml, docs/runbook.md, docs/legal-notes.md, docs/blog-fsck-guest-post-wayback-restorer.md, docs/plans/2026-02-12-sp-recovery-pipeline.md, sp_recovery/cli.py, sp_recovery/config.py, sp_recovery/recover.py, sp_recovery/rewrite.py, sp_recovery/__init__.py, sp_recovery/io_utils.py, sp_recovery/pipeline.py, sp_recovery/discovery.py, sp_recovery/reporting.py.

What it can do

  • Retrieve archived web pages from Wayback Machine

    URL and timestamp or date rangeArchived web page content

  • Restore website structure from archived snapshots

    Website URL and archive selection criteriaReconstructed website files and directory structure

  • Preserve original metadata and provenance information

    Archived web contentRestored files with timestamp and source attribution data

  • Download multiple archived versions of a webpage

    URL and date range parametersCollection of webpage versions from different archive dates

  • Extract and recover missing web assets

    Incomplete archived webpageRecovered images, CSS, JavaScript and other linked resources

  • Generate archive-compatible file formats

    Restored web contentFiles optimized for long-term digital preservation

Tags

waybackarchiverecoverypythoncli

Tech Stack

Python

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.