
Wayback Restorer
https://github.com/obra/wayback-restorer- 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 range → Archived web page content
Restore website structure from archived snapshots
Website URL and archive selection criteria → Reconstructed website files and directory structure
Preserve original metadata and provenance information
Archived web content → Restored files with timestamp and source attribution data
Download multiple archived versions of a webpage
URL and date range parameters → Collection of webpage versions from different archive dates
Extract and recover missing web assets
Incomplete archived webpage → Recovered images, CSS, JavaScript and other linked resources
Generate archive-compatible file formats
Restored web content → Files optimized for long-term digital preservation
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.