Парсер (JacRed)

Парсер (JacRed)

0.5 NEW — сервер умеет разворачивать собственный экземпляр парсера jacred-fdb и полностью его обслуживать: установка, база, процесс, расписание парсинга.

Парсер отвечает за торрент-поиск в Lampa (кнопка «Смотреть» → Торренты). Al(co)pac проксирует запросы парсера через себя (/api/v2.0/indexers/*), поэтому клиентам не нужно ничего настраивать — адрес и ключи задаются на сервере, дефолты доставляются в Lampa автоматически.

Режимы работы

Режим Как включить Для кого
Внешний JacRed (по умолчанию) jacred_host Ничего не хостим, используем публичный или свой удалённый инстанс
Свой JacRed 0.5 jacred_local = true Полная независимость от публичных парсеров

Внешний JacRed

[parser]
jacred_host = "https://jacred.stream"   # адрес внешнего парсера
jacred_apikey = ""                       # API-ключ (если требуется)

Публичные инстансы периодически падают или включают лимиты — для стабильной работы рекомендуем свой парсер.

Свой JacRed (0.5)

[parser]
jacred_local = true

Этого достаточно. При следующем старте сервер сам:

  1. Скачает свежий релиз jacred-fdb под вашу платформу (linux amd64/arm64 и др.) в {repo_root}/jacred;
  2. Загрузит готовую базу торрентов (несколько ГБ, один раз) — поиск работает сразу, не нужно ждать дни собственного парсинга;
  3. Запустит и будет следить за процессом (рестарт при падении, остановка вместе с сервером). Инстанс слушает только 127.0.0.1 — наружу не торчит, весь доступ через авторизованный прокси сервера;
  4. Возьмёт на себя расписание парсинга — jacred не имеет встроенного планировщика, обычно требуется настраивать cron на хосте. Al(co)pac дёргает парсинг трекеров сам (rutracker, rutor, kinozal, nnmclub, megapeer и др. каждые 15–60 минут, сохранение базы каждые 5 минут). Никакого crontab.
Пока свой парсер устанавливается, качает базу или недоступен — запросы автоматически уходят на внешний jacred_host. Переключение прозрачно для клиентов.

Все параметры

[parser]
jacred_host = "https://jacred.stream"  # внешний парсер; фолбэк при jacred_local
jacred_apikey = ""                      # API-ключ (опционально)
jacred_local = false                    # свой jacred-fdb
jacred_local_port = 9117                # порт локального инстанса (только 127.0.0.1)
# jacred_home = ""                      # каталог установки; по умолчанию {repo_root}/jacred
# jacred_syncapi = ""                   # синк базы с upstream вместо своего парсинга
# jacred_bootstrap_db = true            # скачать готовую базу при первом старте
Параметр Описание По умолчанию
jacred_local Включить свой парсер false
jacred_local_port Порт локального инстанса 9117
jacred_home Каталог с бинарником и базой {repo_root}/jacred
jacred_syncapi URL upstream-jacred с opensync: true — база подтягивается оттуда, собственный парсинг трекеров отключается пусто (свой парсинг)
jacred_bootstrap_db Скачать готовую базу при первом старте true

Переменные окружения: LAMPAC_GO_JACRED_LOCAL, LAMPAC_GO_JACRED_HOME, LAMPAC_GO_JACRED_LOCAL_PORT.

Свой парсинг или синхронизация

  • Свой парсинг (jacred_syncapi пуст) — сервер сам обходит трекеры по расписанию. База всегда свежая, но трекеры должны быть доступны с вашего сервера.
  • Синхронизация (jacred_syncapi указан) — база подтягивается с другого jacred-инстанса, где включён opensync: true. Подходит, если трекеры с сервера недоступны или не хочется нагружать его парсингом.
Часть трекеров (rutracker и др.) может быть недоступна из некоторых стран/сетей. Прокси для конкретных трекеров настраиваются в init.conf самого jacred ({jacred_home}/init.conf, секция globalproxy / алиасы трекеров) — файл не перезаписывается сервером, ваши правки сохраняются. Подробнее — в документации jacred-fdb.

Управление из админки

Админ-панель → Зависимости → группа «Торренты» → JacRed:

  • статус: установлен / работает / стадия (установка, загрузка базы) / размер базы;
  • кнопка установки и обновления бинарника (процесс перезапустится автоматически).

Смена версии / обновление

Обновление бинарника — кнопкой в админке (Зависимости → JacRed). База ({jacred_home}/Data) и init.conf при обновлении не затрагиваются.