Windows 10/11 · MIT · без установки

Вернуть сайт, у которого не осталось копии

Site Restorer достаёт сохранённую версию сайта из Internet Archive, собирает её в локальную копию и честно показывает, что удалось вернуть, а что потеряно.

Python не нужен Портативный exe Любая CMS

Окно Site Restorer: инвентаризация архива, прогресс по типам файлов и журнал запросов
Программа в работе: инвентаризация архива и журнал каждого запроса.
98,2 %копия сайта-витрины: 1 609 из 1 638 адресов
9 476снимков в архиве за 2016–2026 годы
24потока загрузки в пике
0зависимостей и установки — один exe

Контекст

Проект появился после аварии, а не из идеи

В ночь с 1 на 2 ноября 2026 года хостинг Beget пережил атаку на управляющий контур инфраструктуры. Провайдер подтвердил потерю содержимого виртуальных серверов, объектного хранилища S3 и кластеров Kubernetes; резервные копии VPS также оказались утрачены.

Сайт, с которого начался этот проект, размещался там же: домен резолвился, сервер не отвечал, собственных бэкапов не осталось. Единственным источником контента был веб-архив — 1 638 адресов и 9 476 снимков за десять лет.

Публикации: 3DNews, Habr, DW.

Если ваш сайт пострадал в той же аварии — начните с архива, а не с паники.
У большинства «погибших» сайтов текстовая часть и структура сохраняются полностью: страницы, статьи, каталог. Терять обычно приходится картинки товаров и динамические разделы.

Возможности

Всё, что нужно, чтобы пройти путь от адреса до готовой копии

Программа делает четыре вещи: узнаёт, что сохранил архив, скачивает это, собирает в оффлайн-копию и проверяет результат.

Инвентаризация архива

CDX-индекс Internet Archive: все сохранённые адреса домена. Постраничный обход для больших сайтов, до 50 000 URL за прогон.

Параллельная загрузка

HTML, стили, скрипты и изображения качаются одновременно. Конкурентность подстраивается: 2 → 24 потока по AIMD, срез при ошибках 429.

Докачка и устойчивость

Уже скачанное не запрашивается повторно. Прерванный прогон продолжается с места остановки, а лимиты архива обрабатываются паузами, а не ошибками.

Сборка локальной копии

Ссылки переписываются в относительные. Кэш CMS с хэшем в имени и миниатюры обрабатываются эвристиками — стили и картинки не отваливаются.

Проверка и отчёт

Обход готовых страниц, подсчёт внутренних и битых ссылок, report.html: покрытие по типам файлов, объём копии, список ошибок.

Любой адрес и любая CMS

Ссылка из письма, поиска или архива, русская раскладка, IDN-домены. Проверено на Bitrix, WordPress, MODX, Craft CMS и Laravel.

PowerShell
SiteRestorer.exe --cli --site example.com --out D:\mirror
site\готовая копия, открывать локальным сервером
mirror\сырые файлы из архива
data\inventory.jsonl — список адресов
report.htmlотчёт о покрытии

Для скриптов есть командная строка: --site, --out, --workers, --rate, --limit, --lang. Подробности — в README.

Как это работает

Четыре шага и никакой настройки

  1. Вставьте адрес

    Домен, ссылку с utm-метками или адрес из архива. Программа очистит ввод сама, включая русскую раскладку и IDN.

  2. Выберите папку

    По умолчанию Документы\SiteRestore\site. Можно указать любой диск и каталог.

  3. Нажмите «Начать»

    Загрузка идёт в фоне: прогресс по типам файлов, журнал запросов, кнопка «Остановить» в любой момент.

  4. Откройте отчёт

    report.html показывает покрытие, объём и битые ссылки. Копию открывают локальным сервером.

PowerShell
cd Документы\SiteRestore\site
python -m http.server 8080

Почему нужен сервер. Копия — это обычные HTML-файлы, но ссылки вида /catalog/ браузер по двойному клику не откроет. Достаточно любого локального статического сервера; если установлен Python — хватит двух строк слева.

Кейс

Витрина торговой компании: 98,2 % сайта из веб-архива

Проект начался с этого сайта: каталог товаров, блог и PDF-каталоги. Ни файлов, ни бэкапов, ни доступа к хостингу.

1 638уникальных адресов в CDX
9 476снимков, 2016–2026
1 609скачано (98,2 %)
315 МБобъём готовой копии
1 164 / 1 168HTML-страниц
1 042 / 1 044страниц каталога

Подробный разбор с цифрами — в документации проекта.

Что не восстановилось и почему

  • Картинки товаров. 2 510 изображений не сохранялись в архиве ни разу: CDX не содержит записей, replay отдаёт 404 за любой год. Это потеря архива, а не программы.
  • Динамика CMS. Корзина, авторизация, поиск и AJAX-фильтры каталога в статической копии не работают — для них нужен бэкенд и база.
  • Кэш шаблона. Имена файлов содержат хэш сборки. Программа подставляет файл того же типа — стили сохраняются, версия может отличаться.

Когда это пригодится

Хостинг потерял данные

Домен резолвится, сервер молчит, бэкапов нет. Архив — единственный источник контента: страницы, статьи, каталог.

Сайт закрыли или забросили

Нужна копия для истории, переезда или передачи клиенту — без доступа к админке и без старой CMS.

Нужна старая версия

Сравнить, что было на сайте год назад, восстановить удалённый раздел или потерянную страницу.

Границы

Что важно понимать до запуска

Инструмент не обещает чудес: он аккуратно вытаскивает то, что архив действительно сохранил.

Только сохранённое

Если краулер Internet Archive ни разу не забирал файл, его нет ни в одном снимке. Программа покажет это в отчёте, а не подставит заглушку.

Статика вместо CMS

Копия — это страницы и файлы. Формы, вход, корзина, поиск и AJAX работать не будут: восстанавливается контент и структура.

Скорость архива

Internet Archive ограничивает частоту запросов с одного IP. Большие сайты качаются часами — это нормально, докачка спасает.

Этика и право. Инструмент предназначен для личного архивирования и восстановления своих сайтов. Он не обходит защиту, не подменяет User-Agent и не маскируется под браузер. Копия чужого сайта — не основание для её публикации; уважайте условия Internet Archive и права владельцев контента.

Скачать

Один файл, без установки

Ссылки ведут на последнюю сборку в GitHub Releases. Это один самодостаточный бинарник: ни интерпретатора, ни библиотек доустанавливать не нужно.

Site Restorer x64

Windows 10/11 · 6,9 МБ · Rust + egui, основной вариант

  • Для 64-битных Windows 10 (1809+) и Windows 11
  • Портативно: распаковать в папку и запустить
  • Интерфейс RU / EN, переключение на лету
Скачать SiteRestorer.exe

Site Restorer x86

Windows 10/11 · 6,2 МБ · Rust + egui, 32-битная сборка

  • Для 32-битных систем и старых машин
  • Тот же функционал, меньше памяти
  • Сборка проверяется в CI на каждом теге
Скачать SiteRestorer-x86.exe
СистемаWindows 10 (1809+) или Windows 11, x64 / x86
УстановкаНе требуется — портативный exe, настройки рядом
ЛицензияMIT: используйте, изучайте, форкайте
SmartScreen может предупредить. Сборка не подписана платным сертификатом, поэтому Windows покажет «Windows защитила ваш компьютер». Нажмите «Подробнее» → «Выполнить всё равно» (или запустите Unblock.cmd из архива). Исходный код и CI-сборка открыты — можно собрать самому.

Классическая версия на Python (12,6 МБ) и экспериментальный порт на Go (7,9–8,3 МБ) лежат на странице релиза. Матрица размеров и команды сборки — в BUILD.md.

Все версии, контрольные суммы и история изменений — на странице Releases.

Поддержать автора

Проект развивается без рекламы, подписок и телеметрии. Если Site Restorer вернул вам сайт или сэкономил ночь — можно отблагодарить автора на Boosty. Это лучший способ ускорить новые версии.

Поддержать на Boosty

Вопросы

Коротко о частом

Нужен ли Python или другие программы?
Нет. Основная сборка — один бинарник на Rust, без интерпретатора: приложение запускается на чистой Windows. Python понадобится только если вы захотите поднять локальный сервер командой python -m http.server — но подойдёт и любой другой статический сервер.
Что если архив ничего не сохранил?
Программа покажет это в отчёте и не будет ничего выдумывать. Стоит проверить варианты домена (www и без), а также соседние годы: для каждого адреса перебираются ближайшие снимки.
Сколько времени занимает восстановление?
Зависит от размера сайта и лимитов архива. Небольшой сайт — минуты, тысячи адресов — часы: Internet Archive ограничивает частоту запросов с одного IP. Прогресс, объём и время видны в окне программы, а докачка позволяет остановиться и продолжить позже.
Вернутся ли картинки товаров и фотографии?
Только если архив их сохранял. Краулеры Internet Archive часто забирают страницы, но не каждое изображение: в одном из кейсов 2 510 картинок товаров отсутствовали в архиве полностью, а текстовая часть уцелела.
Будут ли работать корзина, вход и поиск?
Нет. Копия статическая: восстанавливаются страницы, стили, скрипты и файлы. Всё, что требует серверной логики и базы данных (корзина, авторизация, AJAX-фильтры), работать не будет.
Это законно?
Инструмент создан для восстановления собственных сайтов. Он не обходит защиту, не подменяет User-Agent и не скрывается. Публиковать копию чужого сайта нельзя; условия Internet Archive и авторские права владельцев контента нужно уважать. Лицензия самого приложения — MIT.