Hotlink Converter

Hotlink Converter 1.0.0

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

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

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

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

Как Это Работает​

  1. Перейдите в раздел AdminCP> Инструменты> Конвертер горячих ссылок
  2. Просмотрите панель мониторинга - посмотрите, сколько обновлений ресурсов содержат внешние [IMG] теги
  3. Запустите пробный запуск - нажмите "Пробный запуск", чтобы выполнить сканирование без преобразования. Проверьте журнал, чтобы увидеть, что будет обработано.
  4. Преобразовать все - нажмите "Преобразовать все", подтвердите в оверлее, а фоновое задание выполнит остальное. Он загружает каждое изображение, создает вложение XF и обновляет описание ресурса.
  5. Проверьте журнал — просмотрите журнал преобразований на предмет ошибок. Отфильтруйте записи по статусу, чтобы сосредоточиться на проблемах.
До:
Код:
Check out this screenshot: [IMG]https://external-site.com/image.jpg

После:
Код:
Check out this screenshot: [ATTACH=full]12345[/ATTACH]

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

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

  • Архитектура: Шаблон Service + Job + Repository. Одна таблица базы данных (xf_qubn_hlc_conversion_log) для ведения журнала аудита.
  • Загрузки: Использует встроенный getUntrusted() HTTP-считыватель XF с защитой SSRF. 15-секундный тайм-аут, ограничение на размер файла 10 МБ для каждого изображения.
  • Поддерживаемые форматы: JPG, JPEG, PNG, GIF, WebP, BMP
  • Создание вложений: Использует собственный интерфейс XF PreparerService - тот же API, что и при ручной загрузке. Корректно обновляется attach_count при обновлении ресурса.
  • Обработка заданий: возобновляемое задание на основе курсора. Обрабатывает 50 обновлений ресурсов за пакет с проверкой ограничения по времени. Может быть отменено из очереди заданий AdminCP.
  • Совместимость: требуется XenForo 2.3.0+ и XF Resource Manager 2.3.0+
  • Качество кода: чистый код на уровне 3 по стандарту PHPStan. Никаких расширений классов — полностью автономная система.
  • Установка
  1. Загрузите и распакуйте ZIP-файл
  2. Загрузите Qubn/HotlinkConverter/ папку в src/addons/
  3. Перейдите в AdminCP> Дополнения> Установить из архива (или Установить / обновить)
  4. Перейдите в AdminCP> Инструменты> Конвертер горячих ссылок
  • 08-navigation-sidebar.webp
    08-navigation-sidebar.webp
    8,7 КБ · Просмотры: 0
  • 07-log-all-statuses.webp
    07-log-all-statuses.webp
    27,5 КБ · Просмотры: 0
  • 06-dashboard-after-conversion.webp
    06-dashboard-after-conversion.webp
    27,9 КБ · Просмотры: 0
  • 05-confirmation-overlay.webp
    05-confirmation-overlay.webp
    13,9 КБ · Просмотры: 0
  • 04-log-filtered-pending.webp
    04-log-filtered-pending.webp
    25,3 КБ · Просмотры: 0
  • 03-log-dryrun-entries.webp
    03-log-dryrun-entries.webp
    27,6 КБ · Просмотры: 0
  • 02-dashboard-after-dryrun.webp
    02-dashboard-after-dryrun.webp
    27,5 КБ · Просмотры: 0
  • 01-dashboard-clean.webp
    01-dashboard-clean.webp
    27,6 КБ · Просмотры: 0
Назад
Сверху Снизу