Перейти к содержимому
Справочник настроек

Справочник настроек

Все настройки TorrPlay управляются через единый эндпоинт:

PATCH /api/v1/settings

Тело запроса представляет собой объект JSON. Обновляются только переданные поля — поля, не включённые в запрос, сохраняют текущие значения.

Настройки верхнего уровня

ПолеТипЗначение по умолчаниюОграниченияОписание
enable_dlnabooleanfalse—Включение встроенного медиасервера DLNA
enable_downloaderbooleanfalse—Включение фоновой загрузки для торрентов с файловым хранением
enable_stremiobooleanfalse—Включение поддержки протокола Stremio — см. раздел Интеграция со Stremio
cors_allowed_originsarray of strings[]валидные URIДополнительные веб-источники для доступа к API через CORS (loopback, Tauri и Capacitor всегда доверенные)
file_storage_pathstring""—Путь в файловой системе для файлового хранения частей торрента
friendly_namestring"TorrPlay"3–15 символовИмя DLNA-сервера, транслируемое в локальной сети
http_server_portinteger80901–65535TCP-порт, на котором работает HTTP-сервер
log_formatstring (enum)"text""text" | "json"Формат вывода журнала — используйте "json" для структурированного логирования при работе с внешними системами агрегации
log_levelstring (enum)"INFO""DEBUG" | "INFO" | "WARN" | "ERROR"Минимальный уровень важности записей журнала — установите значение "DEBUG" для подробной диагностики
log_store_sizeinteger1000–1000Количество последних записей журнала, хранимых в кольцевом буфере в оперативной памяти; доступны через GET /api/system/logs
max_memoryinteger (байт)67108864 (64 MiB)33554432–2147483648 (32 MiB – 2 GiB)Максимальный объём оперативной памяти, выделяемой для кэширования частей торрента
torrent_trackersarray of strings[]—Пользовательский список трекеров (см. Формат трекеров)
authobject——Настройка аутентификации — см. раздел Аутентификация
torrent_clientobject——Настройки торрент-клиента — см. раздел Настройки торрент-клиента

Tip

auth определяет, кто имеет доступ к API. Задайте значения enabled, type (basic или bearer), username и password.

torrent_client определяет поведение торрент-клиента. Доступные параметры включают ограничения скорости, ограничения количества соединений, флаги протокола и настройки DHT/PEX.

Поля только для чтения

При включённой аутентификации GET /api/v1/settings также возвращает два ограниченных токена. Через PATCH их изменить нельзя — сервер игнорирует эти поля в запросе:

ПолеОписание
playback_tokenКраткосрочный токен только для маршрутов воспроизведения — см. раздел Аутентификация
stremio_tokenТокен для ссылок аддона Stremio; не меняется, пока не изменятся настройки аутентификации — см. раздел Интеграция со Stremio

Фоновая загрузка

Если включён параметр enable_downloader, TorrPlay автоматически скачивает в фоне торренты с файловым хранилищем. Фоновая загрузка автоматически ставится на паузу, как только начинается стриминг видео, чтобы не забивать интернет-канал, и возобновляется после окончания просмотра. Новые раздачи для загрузки проверяются каждую минуту.

Память для потокового воспроизведения

Подсистема потокового воспроизведения рассчитывает бюджет опережающего чтения из max_memory. При лимите до 64 MiB на него выделяется 50% памяти, а при лимите от 512 MiB — 75%. Этот бюджет делят потоки воспроизведения и предзагрузка, работающие с оперативной памятью, причём подсистема всегда оставляет запас для новых сеансов просмотра. Для файлового хранилища используется окно фиксированного размера.

Формат трекеров

Поле torrent_trackers задаётся массивом строк. Каждый элемент соответствует одному уровню трекеров (tier). Чтобы объединить несколько трекеров в один уровень, перечислите их адреса через запятую в одной строке.

Пример:

[
  "udp://explodie.org:6969",
  "udp://tracker.opentrackr.org:1337,udp://tracker.leechers-paradise.org:6969"
]

В этом примере первый уровень содержит один трекер, а второй — два.

Настройки торрент-клиента

Объект torrent_client определяет поведение BitTorrent-клиента.

ПолеТипЗначение по умолчаниюОграниченияОписание
disable_dhtbooleanfalse—Отключение обнаружения пиров через DHT
disable_ipv6booleantrue—Отключение соединений по IPv6
disable_pexbooleanfalse—Отключение обмена пирами (Peer Exchange, PEX)
disable_tcpbooleanfalse—Отключение TCP-соединений
disable_utpbooleanfalse—Отключение протокола μTP (Micro Transport Protocol)
download_rate_limitinteger (байт/с)0≥ 0Глобальное ограничение скорости загрузки; значение 0 означает отсутствие ограничения
upload_rate_limitinteger (байт/с)0≥ 0Глобальное ограничение скорости отдачи; значение 0 означает отсутствие ограничения
established_conns_per_torrentinteger50≥ 10Максимальное количество установленных соединений на один торрент
half_open_conns_per_torrentinteger25≥ 5Максимальное число полуоткрытых (в процессе установки) соединений на торрент
total_half_open_connsinteger100≥ 10Максимальное общее число полуоткрытых соединений по всем торрентам
torrent_peers_low_waterinteger50≥ 10Минимальное количество пиров перед началом поиска дополнительных пиров
torrent_peers_high_waterinteger500≥ 60Максимальный размер пула пиров на один торрент
max_alloc_peer_request_data_per_conninteger (байт)1048576 (1 MiB)≥ 262144Ограничение буфера данных запросов на соединение для экономии памяти
prefer_header_obfuscationbooleanfalse—Запрос обфускации заголовка протокола BitTorrent для исходящих соединений
seedbooleanfalse—Продолжение раздачи после полной загрузки торрента

Пример: обновление нескольких параметров

Этот запрос за один вызов задаёт лимит оперативной памяти, включает фоновую загрузку, переключает логи в формат JSON и настраивает параметры торрент-клиента:

curl -X PATCH http://localhost:8090/api/v1/settings \
  -H "Content-Type: application/json" \
  -d '{
    "max_memory": 134217728,
    "enable_downloader": true,
    "log_level": "DEBUG",
    "log_format": "json",
    "log_store_size": 500,
    "torrent_trackers": [
      "udp://explodie.org:6969",
      "udp://tracker.opentrackr.org:1337,udp://tracker.leechers-paradise.org:6969"
    ],
    "torrent_client": {
      "download_rate_limit": 10485760,
      "upload_rate_limit": 2097152,
      "disable_ipv6": true,
      "established_conns_per_torrent": 80,
      "seed": true
    }
  }'

В случае успешного выполнения запроса сервер возвращает ответ 204 No Content.

Последнее обновление