Перейти до вмісту

qBittorrent

Читає версію з API вебінтерфейсу qBittorrent: входить через POST /api/v2/auth/login, потім читає GET /api/v2/app/version і GET /api/v2/app/buildInfo із сеансовим cookie та виходить.

targets:
- id: qbittorrent-main
product: qbittorrent
address: https://qbittorrent.example.com
credentials: qbittorrent-monitor

Необовʼязкова, але зазвичай потрібна: без сеансу вебінтерфейс відповідає 401 на все, зокрема й на / (підтверджено наживо на linuxserver/qbittorrent 5.2.4). Це вхід через форму (поля username і password), а не HTTP Basic, тому вид — password:

credentials:
qbittorrent-monitor:
kind: password
username: monitor
password: "${QBITTORRENT_PASSWORD}"

Приймається лише password; будь-який інший вид є помилкою конфігурації. Див. Конфігурація → Облікові дані.

Без облікових даних проба запитує /api/v2/app/version напряму — для вебінтерфейсу, налаштованого обходити автентифікацію для підмережі, з якої працює проба. Якщо він відповідає 401, помилка підказує налаштувати облікові дані.

Будь-який сеансовий cookie, встановлений під час входу, передається назад як є: 5.x відповідає 204 і встановлює QBT_SID_<port>, 4.x відповідає 200 Ok. і встановлює SID. Хибний пароль — це 401 у 5.x і 200 Fails. у 4.x; обидва випадки повідомляються як помилка автентифікації.

qBittorrent перевіряє, що порт у заголовку Host збігається з його власним, а Referer/Origin — з Host. Під час входу як Referer надсилається власне походження (origin) цілі. За зворотним проксі, що переназначає порти, qBittorrent має бути відповідно налаштований — інакше кожен запит отримує 401; саме це показувало живе захоплення трафіку через переназначений порт контейнера, доки порти не збіглися.

  • version — /api/v2/app/version без початкової v, напр. 5.2.4
  • extra.libtorrent — з /api/v2/app/buildInfo, напр. 2.0.15.0
  • extra.qt — з /api/v2/app/buildInfo, напр. 6.11.2

Зіставляється з NVD і БДУ ФСТЕК, якщо налаштовано блок cve:.

Резолвер життєвого циклу

Section titled “Резолвер життєвого циклу”

github:qbittorrent/qBittorrent — endoflife.date не має календаря qBittorrent (підтверджено 404), тому резолвінг натомість виконується через GitHub Releases: лише останній опублікований тег, що не є пре-релізом, без дат eol/support/lts (GitHub не має позиції щодо політики життєвого циклу, лише «який реліз останній»). Релізи позначаються тегами release-5.2.4; резолвер відкидає префікс release- і читає решту як версію.