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Автентифікація
Section titled “Автентифікація”Необовʼязкова, але зазвичай потрібна: без сеансу вебінтерфейс відповідає
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; обидва випадки повідомляються як помилка
автентифікації.
За зворотним проксі
Section titled “За зворотним проксі”qBittorrent перевіряє, що порт у заголовку Host збігається з його
власним, а Referer/Origin — з Host. Під час входу як Referer
надсилається власне походження (origin) цілі. За зворотним проксі, що
переназначає порти, qBittorrent має бути відповідно налаштований — інакше
кожен запит отримує 401; саме це показувало живе захоплення трафіку
через переназначений порт контейнера, доки порти не збіглися.
Записувані поля
Section titled “Записувані поля”version—/api/v2/app/versionбез початковоїv, напр.5.2.4extra.libtorrent— з/api/v2/app/buildInfo, напр.2.0.15.0extra.qt— з/api/v2/app/buildInfo, напр.6.11.2
Зіставлення з CVE
Section titled “Зіставлення з CVE”Зіставляється з NVD і БДУ ФСТЕК, якщо налаштовано блок cve:.
Резолвер життєвого циклу
Section titled “Резолвер життєвого циклу”github:qbittorrent/qBittorrent — endoflife.date не має календаря
qBittorrent (підтверджено 404), тому резолвінг натомість виконується через
GitHub Releases: лише останній опублікований тег, що не є пре-релізом, без
дат eol/support/lts (GitHub не має позиції щодо політики життєвого циклу,
лише «який реліз останній»). Релізи позначаються тегами release-5.2.4;
резолвер відкидає префікс release- і читає решту як версію.