Sleazy Fork is available in English.

wnacg Download

Download images from wnacg gallery as a zip archive

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

Advertisement:

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

Advertisement:

Autor
Идзуми Сэна
Denně instalací
0
Celkem instalací
5
Hodnocení
0 0 0
Verze
0.1
Vytvořeno
26. 04. 2026
Aktualizováno
26. 04. 2026
velikost
10,4 KB
Licence
neuvedeno
Spustit na

2. Назначение

Скрипт предназначен для автоматизации процесса полного и фонового скачивания изображений из галерей сайта wnacg (и его актуальных зеркал). Он самостоятельно собирает данные со всех страниц пагинации, загружает оригинальные изображения высокого разрешения, обходит базовые защиты от хотлинкинга и формирует готовый ZIP-архив с отсортированными файлами на стороне клиента (в браузере).

3. Ключевые функции

  • Асинхронный парсинг пагинации (getAllItemsData): Скрипт определяет максимальное количество страниц галереи (через .paginator a) и последовательно, с небольшими задержками, опрашивает индексные страницы (fetch). Из полученного HTML с помощью DOMParser извлекаются ссылки на страницы отдельных фото и URL их миниатюр (превью).
  • Эвристическое вычисление прямых ссылок (transformThumbToOriginal): Вместо того чтобы делать ресурсоемкий HTTP-запрос к странице каждого отдельного изображения для получения прямой ссылки на оригинал, скрипт анализирует URL превью и с помощью строковых замен (замена /data/thumb/ на /data/ и домена //t на //img) генерирует предполагаемую прямую ссылку. Это радикально ускоряет работу скрипта.
  • Двухуровневая система загрузки файлов (downloadWithRetry и fetchRealUrlFromPage):
    1. Основной поток: Скрипт пытается загрузить изображение по эвристически вычисленной ссылке через GM_xmlhttpRequest.
    2. Резервный поток: Если генерируемая ссылка отдала ошибку (например, 404 Not Found), код делает fetch страницы с изображением, парсит её структуру (#picarea), извлекает 100% достоверную ссылку на оригинал и скачивает её.
  • Интеллектуальная обработка файлов и формирование архива (downloadImages): Изображения сохраняются в формате Blob. Скрипт анализирует MIME-тип (например, image/webp или image/jpeg) для корректного назначения расширения файла. Имена файлов форматируются с ведущими нулями (например, 001.jpg), что гарантирует правильную хронологическую сортировку при просмотре распакованной галереи.

4. Как использовать

  1. Откройте страницу любой галереи на поддерживаемом домене (например, wnacg.com).
  2. Рядом с кнопкой чтения появится красная кнопка «Download ZIP».
  3. Нажмите на неё. Под кнопкой появится текстовый статус, отображающий процесс (сканирование страниц -> скачивание изображений -> архивация).
  4. По завершении браузер автоматически предложит сохранить ZIP-файл с названием галереи.

5. Особенности

  • Подключение внешних зависимостей: Использование директивы @require позволяет импортировать мощные библиотеки JSZip и FileSaver.js напрямую из CDN, делегируя им сложную логику упаковки в архив и триггера системного диалога сохранения файла.
  • Подмена заголовков для обхода защиты (Anti-Hotlinking): Загрузка изображений осуществляется через привилегированный API GM_xmlhttpRequest. Это критически важное решение, позволяющее инжектировать заголовок "Referer": location.origin + '/'. Без этого заголовка CDN серверов (защищающих изображения от встраивания на сторонние ресурсы) возвращали бы ошибку 403 Forbidden.
  • Rate-Limiting (Ограничение частоты запросов): Использование функции delay(ms) между запросами к страницам и загрузками файлов предотвращает возникновение ошибки 429 (Too Many Requests) и защищает пользователя от теневого бана по IP-адресу.
  • Отказоустойчивая архитектура архивации: Если скрипту не удается скачать часть изображений из-за мертвых ссылок или сбоев сети, выполнение не прерывается. Ошибочные URL собираются в массив errors и бережно сохраняются в текстовый лог-файл внутри финального ZIP-архива.

6. Пример выходных данных

После успешной отработки скрипта пользователь скачивает архив вида Название_Галереи.zip, внутренняя структура которого (с учетом обработки расширений и сортировки) выглядит следующим образом:

Название_Галереи.zip
│
├── 001.jpg
├── 002.webp
├── 003.png
├── 004_originalName.jpg
...
└── errors_log.txt (появляется только в случае ошибок загрузки)