Windows 10/11 · MIT · no installer

Rebuild a website that has no copy left

Site Restorer pulls a site's saved copy out of the Internet Archive, assembles it into a browsable local build, and reports honestly what came back — and what is gone for good.

No Python needed Portable executable Any CMS

Site Restorer window: archive inventory, progress by file type and the request log
Restoring a site: archive inventory and a log entry for every request.
98.2%storefront site copy: 1,609 of 1,638 URLs
9,476archive snapshots, 2016–2026
24download workers at peak
0dependencies or installs — one exe

Background

Born out of an outage, not out of an idea

On the night of 1–2 November 2026, the hosting provider Beget suffered an attack on its infrastructure management plane. The provider confirmed the loss of customer data: virtual server contents, S3 object storage and Kubernetes clusters, with VPS binary backups lost as well.

The site this project started with was hosted there: the domain still resolved, the server did not respond, and no backups existed. The only remaining source was the web archive — 1,638 URLs and 9,476 snapshots spanning ten years.

Coverage: 3DNews, Habr, DW.

If your site was affected by the same outage, start with the archive — not with panic.
Text and structure usually survive in full: pages, articles, the whole catalogue. What tends to be missing is product imagery and anything dynamic.

Features

Everything between a domain name and a working copy

The app does four things: finds out what the archive kept, downloads it, assembles an offline copy and verifies the result.

Archive inventory

The CDX index of the Internet Archive: every captured URL of the domain. Paged crawl for large sites, up to 50,000 URLs per run.

Parallel downloading

HTML, CSS, scripts and images are fetched concurrently. Concurrency adapts by AIMD: 2 → 24 workers, backing off on HTTP 429.

Resume and resilience

Nothing already downloaded is requested twice. An interrupted run continues where it stopped, and archive rate limits are handled with backoff rather than errors.

Offline build

Absolute links are rewritten to relative ones. CMS caches with hashes in filenames and image thumbnails are handled heuristically, so styles and pictures do not break.

Verification and report

Every built page is scanned; internal and broken links are counted. report.html shows coverage by file type, total size and the list of errors.

Any address, any CMS

A link from an email, a search result or the archive itself; wrong keyboard layout; IDN domains. Tested on Bitrix, WordPress, MODX, Craft CMS and Laravel.

PowerShell
SiteRestorer.exe --cli --site example.com --out D:\mirror
site\the browsable copy, serve it locally
mirror\raw files from the archive
data\inventory.jsonl — the URL list
report.htmlcoverage report

For scripting there is a CLI: --site, --out, --workers, --rate, --limit, --lang. Details in the README.

How it works

Four steps, no configuration

  1. Paste an address

    A domain, a link with tracking parameters or an archive URL. The input is cleaned automatically, including wrong keyboard layout and IDN.

  2. Pick a folder

    Defaults to Documents\SiteRestore\site. Any drive and directory will do.

  3. Press “Start”

    Downloading runs in the background: progress by file type, a request log, and a “Stop” button at any moment.

  4. Open the report

    report.html shows coverage, size and broken links. Serve the copy with a local web server.

PowerShell
cd Documents\SiteRestore\site
python -m http.server 8080

Why a server. The copy is plain HTML, but links like /catalog/ will not resolve when the file is opened by double-click. Any local static server works; if Python is installed, the two lines on the left are enough.

Case study

A trading company's storefront: 98.2% of the site rebuilt

The project started with this site: a product catalogue, a blog and PDF catalogues. No files, no backups, no hosting access.

1,638unique URLs in the CDX index
9,476snapshots, 2016–2026
1,609downloaded (98.2%)
315 MBsize of the finished copy
1,164 / 1,168HTML pages
1,042 / 1,044catalogue pages

Full write-up with the numbers — in the project docs.

What did not come back, and why

  • Product images. 2,510 images were never captured: the CDX index has no records and replay returns 404 for every year. That is an archive loss, not an app failure.
  • CMS dynamics. Cart, sign-in, search and AJAX catalogue filters do not work in a static copy — they need a backend and a database.
  • Template cache. Asset filenames carry a build hash. The app substitutes a file of the same type: styles survive, the exact version may differ.

When this helps

Hosting lost your data

The domain resolves, the server is gone, no backups exist. The archive is the only source left: pages, articles, the catalogue.

A site was closed or abandoned

You need a copy for the record, a migration or a client handover — without admin access and with the old CMS gone.

You need an older version

Compare what the site looked like a year ago, or bring back a deleted section or a page that vanished.

Limits

What to know before you start

No promises of magic: the tool carefully extracts what the archive actually preserved.

Only what was saved

If the Internet Archive crawler never fetched a file, it is missing from every snapshot. The report says so instead of substituting a placeholder.

Static, not a CMS

The copy is pages and assets. Forms, sign-in, cart, search and AJAX will not work: content and structure are what comes back.

Archive speed

The Internet Archive throttles requests from a single IP. Large sites take hours, which is normal — resuming makes it survivable.

Ethics and law. The tool is meant for archiving and restoring your own sites. It does not bypass protection, spoof the User-Agent or disguise itself as a browser. A copy of someone else's site is not a licence to publish it; respect the Internet Archive terms and the rights of content owners.

Download

One file, no installation

Links point to the latest build in GitHub Releases. It is a single self-contained binary: no interpreter or libraries to install.

Site Restorer x64

Windows 10/11 · 6.9 MB · Rust + egui, recommended

  • For 64-bit Windows 10 (1809+) and Windows 11
  • Portable: unzip into a folder and run
  • RU / EN interface, switchable on the fly
Download SiteRestorer.exe

Site Restorer x86

Windows 10/11 · 6.2 MB · Rust + egui, 32-bit build

  • For 32-bit systems and older machines
  • Same features, lower memory footprint
  • Built and verified by CI on every tag
Download SiteRestorer-x86.exe
SystemWindows 10 (1809+) or Windows 11, x64 / x86
InstallationNone — portable executable, settings stay local
LicenseMIT: use it, study it, fork it
SmartScreen may warn you. The build is not signed with a paid certificate, so Windows shows “Windows protected your PC”. Choose “More info” → “Run anyway” (or run Unblock.cmd from the archive). The source code and CI builds are public — you can compile it yourself.

The same tool is also built on other stacks: Rust — 6.9 MB (GUI, Windows x64) and 3.3 MB (static CLI for Linux); Go — 7.9–8.8 MB (Linux x64/arm64, Windows x64/x86). Full size matrix and build commands are in BUILD.md.

All versions, checksums and release notes live on the Releases page.

Support the author

The project runs without ads, subscriptions or telemetry. If Site Restorer brought your site back or saved you a night's work, you can thank the author on Boosty. It is the most direct way to speed up new releases.

Donate on Boosty

FAQ

The short answers

Do I need Python or anything else?
No. The main build is a single Rust binary with no interpreter, so it runs on a clean Windows install. Python is only useful if you want to serve the copy with python -m http.server — any other static server will do as well.
What if the archive saved nothing?
The report will say so, and the app will not invent content. It is still worth trying domain variants (with and without www) and nearby years: for every URL the closest snapshots are probed.
How long does a restore take?
It depends on the site and on archive limits. A small site takes minutes; thousands of URLs take hours, because the Internet Archive throttles requests from one IP. Progress, size and elapsed time are shown in the window, and resuming lets you stop and continue later.
Will product images and photos come back?
Only if the archive captured them. Internet Archive crawlers often save pages but not every image: in one case 2,510 product images were missing from the archive entirely, while the text content survived.
Will the cart, sign-in and search work?
No. The copy is static: pages, styles, scripts and files are restored. Anything that needs server-side logic and a database — cart, authentication, AJAX filters — will not work.
Is this legal?
The tool is built for restoring your own sites. It does not bypass protection, spoof the User-Agent or hide itself. Publishing a copy of someone else's site is not allowed; the Internet Archive terms and content owners' rights must be respected. The app itself is MIT licensed.