Иконка ресурса

Hotlink Converter 1.0.0

Нет прав для скачивания
Совместимость с XenForo
  1. 2.3
Видимый копирайт
Нет
Hotlink Converter — это инструмент администратора, который пакетно преобразует внешние изображения с горячими ссылками в описаниях ресурсов XFRM в локально хранящиеся вложения XenForo. Он сканирует теги BB-кода [IMG]https://external.com/pic.jpg[/IMG], скачивает изображения, создаёт соответствующие XF-вложения и заменяет BB-код на [ATTACH=full]id[/ATTACH].

Создан как единовременный инструмент для миграции форумов с устаревшим ресурсом, который ссылается на изображения с внешних хостов, которые могут в любой момент выйти из сети.

Ключевые особенности​

  • Панель администратора — показывает, сколько обновлений ресурсов содержат горячие ссылки на изображения, статистику конверсии (конвертировано/неудачно/пропущено/ожидаемо) и кнопки действий.
  • Режим Dry Run — предпросмотр, что будет конвертировано, без скачивания ничего. Результаты отображаются в журнале конвертации как «ожидающие» записи.
  • Live Conversion — скачивает внешние изображения, создаёт XF-вложения и заменяет теги [IMG] на [ATTACH=full].Работает как восстанавливаемая фоновая работа.
  • Confirmation Overlay — Живое преобразование требует явного подтверждения, так как оно необратимо изменяет содержимое ресурсов.
  • Журнал конверсии — страницированный журнал каждого обработанного URL с статусными значками, ссылками на вложения, размером файлов, сообщениями об ошибках и временными метками. Фильтруется по статусу.
  • Умная обработка — обрабатывает все варианты тегов [IMG] ([IMG width="400" height="300"], [IMG alt="desc"] и др.).
  • Дедупликация URL — если один и тот же внешний URL появляется несколько раз в одном обновлении ресурса, он скачивается один раз, и все экземпляры имеют одно и то же вложение.
  • Пропуск локальных URL — URL, ведущие на вашу собственную доску, автоматически пропускаются.
  • Идемпотентный — безопасно повторять. Уже конвертированные URL пропускаются при последующих запусках. Никаких дублирующих скачиваний или вложений.
  • Устойчивость к отказам — неудачные загрузки (404, тайм-ауты, недействительные изображения) фиксируются с конкретными сообщениями об ошибках. Задача продолжает обрабатывать оставшиеся URL.
  • Чистое удаление — при удалении сбрасывает таблицу журнала конверсии.

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

  1. Перейти к AdminCP > инструментам > конвертеру горячих ссылок
  2. Проверьте дашборд— посмотрите, сколько обновлений ресурсов содержат внешние теги[IMG]
  3. Проведите пробный запуск — нажмите «Dry run», чтобы отсканировать без конвертации. Проверьте журнал, чтобы узнать, что будет обработано.
  4. Convert All — нажмите «Convert All», подтвердите в оверлее, и фоновая задача справится с остальным. Он скачает каждое изображение, создаёт вложение XF и обновляет описание ресурса.
  5. Проверьте журнал — проверьте журнал конверсий на предмет сбоев. Фильтруйте по статусу, чтобы сосредоточиться на проблемах.

Что конвертируется​

До:

Код:
Check out this screenshot: [IMG]https://external-site.com/image.jpg[/IMG]

После:

Код:
Check out this screenshot: [ATTACH=full]12345[/ATTACH]

Изображение теперь хранится локально как полноценное XF-вложение, связанное с обновлением ресурса. Он выживет даже если внешний хост отключится.

Технические детали​

  • Архитектура: Сервис + Вакансия + Репозиторий. Одна таблица базы данных (xf_qubn_hlc_conversion_log) для аудита.
  • Загрузки: Использует встроенный HTTP-ридер XF getUntrusted() с защитой SSRF. 15-секундный тайм-аут, лимит размера файла 10 МБ на изображение.
  • Поддерживаемые форматы: JPG, JPEG, PNG, GIF, WebP, BMP
  • Создание привязанности: Использует родной PreparerService XF — тот же API, что и ручные загрузки. Корректно обновляется attach_count по обновлению ресурсов.
  • Обработка работы: Восстанавливаемое задание на основе курсора. Обрабатывает 50 обновлений ресурсов за одну партию с проверкой по времени. Можно отменить из очереди заданий AdminCP.
  • Совместимость: Требуется XenForo 2.3.0+ и XF Resource Manager 2.3.0+
  • Качество кода: PHPStan уровня 3 чистый. Без расширений классов — полностью автономно.



Установка​

  1. Скачайте и распакуйте ZIP-файл
  2. Загрузите папку Qubn/HotlinkConverter/ в src/addons/
  3. Перейдите в AdminCP > дополнения > Установка из архива (или Установка/обновление)
  4. Перейти к AdminCP > инструментам > конвертеру горячих ссылок
  • 01-dashboard-clean.jpg
    01-dashboard-clean.jpg
    87.5 KB · Просмотры: 3
  • 02-dashboard-after-dryrun.jpg
    02-dashboard-after-dryrun.jpg
    87.6 KB · Просмотры: 2
  • 03-log-dryrun-entries.jpg
    03-log-dryrun-entries.jpg
    83.1 KB · Просмотры: 2
  • 04-log-filtered-pending.jpg
    04-log-filtered-pending.jpg
    77.9 KB · Просмотры: 2
  • 05-confirmation-overlay.jpg
    05-confirmation-overlay.jpg
    49 KB · Просмотры: 2
  • 06-dashboard-after-conversion.jpg
    06-dashboard-after-conversion.jpg
    88.2 KB · Просмотры: 2
  • 07-log-all-statuses.jpg
    07-log-all-statuses.jpg
    83.3 KB · Просмотры: 2
  • 08-navigation-sidebar.jpg
    08-navigation-sidebar.jpg
    19.9 KB · Просмотры: 2
Автор
XFI Bot
Скачивания
1
Просмотры
50
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя XFI Bot

Поделиться ресурсом

Назад
Сверху Снизу