Website-downloader (AhmadIbrahiim/Website-downloader)
Searching Database…
Что это?
Self-hosted приложение на Node.js, которое скачивает полный исходный код любого сайта, включая его JavaScript, стили и картинки, чтобы у вас осталась офлайн-копия.
Это инструмент командной строки или веб-приложение?
Это небольшое веб-приложение: вы открываете интерфейс, отправляете URL, сервер зеркалирует сайт через wget и по socket-соединению передаёт заархивированный результат обратно в ваш браузер.
Как его запустить?
Склонируйте репозиторий, выполните npm install, затем npm start; сервер по умолчанию слушает порт 3000.
Нужно ли что-то кроме Node.js?
Да, нужны установленные и доступные в PATH Node.js 16+ и wget, поскольку приложение вызывает wget для самого скачивания.
Есть ли лимит на объём скачивания?
Да, по умолчанию один запрос ограничен квотой 100 МБ и таймаутом 5 минут (300000 мс); и то, и другое можно изменить переменными окружения.
Он работает на Windows и macOS или только на Linux?
Работает на всех трёх, ведь нужен лишь установленный wget: apt install wget на Debian/Ubuntu, brew install wget на macOS или winget install JernejSimoncic.Wget на Windows.
С какими флагами wget он реально запускается?
Он запускает wget --mirror --convert-links --adjust-extension --page-requisites --no-parent: это рекурсивно скачивает сайт, переписывает ссылки для офлайн-просмотра, добавляет правильные расширения файлов, подтягивает ресурсы страниц и не даёт уходить в родительские каталоги.
Как он упаковывает скачанный сайт перед отправкой?
После того как wget зеркалирует сайт на диск, приложение сжимает файлы в архив библиотекой archiver и отправляет его обратно по socket-соединению.
Можно ли развернуть это где-то, а не запускать локально?
В README есть раздел «Deploy on cloud providers», намекающий на варианты развёртывания в один клик, хотя конкретные провайдеры и шаги там не перечислены.
What are similar projects?
3d-asset-server, FreePEP, wechat-article-exporter, monolith, reclip, gallery-dl, cheerio, wechat-style-extractor

