Repolode
tamnd

tamnd/kage

Go CLI, который сохраняет сайт в папку с HTML без скриптов для офлайн-просмотра, предварительно отрисовывая страницы в headless Chrome.

Open source альтернатива:HTTrackEvernote Web Clipper

Звёзды
3,485
Форки
135
Открытые issues
9
Последний коммит
2 месяца назад

Что это?

kage копирует сайт в локальную папку, которую можно просматривать офлайн. Он открывает каждую страницу в headless Chrome, ждёт окончания загрузки, сохраняет DOM в том виде, в котором его увидел бы пользователь, а затем удаляет весь JavaScript и скачивает CSS, изображения и шрифты по локальным путям. Полученные файлы .html можно открывать прямо с диска — они не выполняют код.

Обход сайта выполняется в ширину и учитывает robots.txt; в качестве начальных страниц можно использовать sitemap.xml. Глубину обхода, число страниц, префикс пути и поддомены можно ограничить. Прерванный обход продолжается с сохранённого состояния, а повторный запуск с параметром refresh обновляет существующую копию на месте.

Готовую копию можно раздавать встроенным статическим сервером, упаковать в единый архив ZIM для чтения с помощью инструментов Kiwix или собрать в автономный исполняемый файл, который раздаёт сайт при запуске. При упаковке также можно создать macOS .app или лаунчер в стиле Linux AppImage, а сборка с webview открывает сайт в нативном окне.

Ключевые возможности

  • 01Отрисовывает страницы в headless Chrome и сохраняет итоговый DOM без скриптов.
  • 02Скачивает CSS, изображения и шрифты и сохраняет ссылки на них локально, чтобы страницы работали офлайн.
  • 03Учитывает robots.txt и может брать начальные страницы из sitemap.xml.
  • 04Продолжает прерванный обход и поддерживает обновление копии на месте.
  • 05Упаковывает копии сайтов в архив ZIM или автономный исполняемый файл.
  • 06Предоставляет готовые бинарные файлы, Docker-образ и пакеты для Linux.

Сценарии использования

  • Сохранить копию блога или сайта с документацией для чтения офлайн в самолёте или без Wi-Fi.
  • Заархивировать страницу, которая может измениться или исчезнуть.
  • Поделиться статической копией сайта в виде одного файла.
  • Создать офлайн-просмотрщик сайта для настольного компьютера, который запускается двойным щелчком.

Быстрый старт

  1. 1

    Установите kage с помощью Go

    go install github.com/tamnd/kage/cmd/kage@latest
  2. 2

    Клонируйте сайт в локальную папку

    kage clone paulgraham.com
  3. 3

    Просматривайте клон офлайн в браузере по адресу http://127.0.0.1:8800

    kage serve $HOME/data/kage/paulgraham.com

Что важно знать

  • На хосте должен быть установлен Chrome или Chromium, если вы не используете образ контейнера.
  • Упакованные бинарные файлы занимают около 13 МиБ плюс размер сайта, поскольку включают весь инструмент kage.
  • Для нативного окна WebView требуются cgo и WebView платформы, поэтому эта функция включается по желанию.

Темы

Частые вопросы

Что такое kage?
Go CLI, который сохраняет сайт в папку с HTML без скриптов для офлайн-просмотра, предварительно отрисовывая страницы в headless Chrome. kage копирует сайт в локальную папку, которую можно просматривать офлайн. Он открывает каждую страницу в headless Chrome, ждёт окончания загрузки, сохраняет DOM в том виде, в котором его увидел бы пользователь, а затем удаляет весь JavaScript и скачивает CSS, изображения и шрифты по локальным путям. Полученные файлы .html можно открывать прямо с диска — они не выполняют код.
kage можно использовать бесплатно? Какая у него лицензия?
kage распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
kage всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в kage — 10 авг. 2026 г..
Для чего можно использовать kage?
Сохранить копию блога или сайта с документацией для чтения офлайн в самолёте или без Wi-Fi. Заархивировать страницу, которая может измениться или исчезнуть. Поделиться статической копией сайта в виде одного файла. Создать офлайн-просмотрщик сайта для настольного компьютера, который запускается двойным щелчком.
Как установить kage?
Установите kage с помощью Go: go install github.com/tamnd/kage/cmd/kage@latest Клонируйте сайт в локальную папку: kage clone paulgraham.com Просматривайте клон офлайн в браузере по адресу http://127.0.0.1:8800: kage serve $HOME/data/kage/paulgraham.com
Где скачать kage?
Исходный код и инструкции по установке — на GitHub: https://github.com/tamnd/kage

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

CasaOS — облачная система с открытым исходным кодом для дома: веб-интерфейс позволяет запускать Docker-приложения и управлять файлами на собственном оборудовании.

37,3 тыс.2,2 тыс.GoApache-2.0Обновлён 21 день назад