
rootandClaude Opus 5.5
74f1566985
feat(qbittorrent): login compat for v4/v5.0-5.2 and three auth modes
- Login success = HTTP 200 "Ok." or 204 (5.2+); session cookie taken from
Set-Cookie by name (SID / QBT_SID_<port> / custom) and sent back as-is.
- Failure classes: "Fails." / 401 -> auth; 403 IP ban / 429 -> rate;
wrong API Key (403) -> auth with hint; 5xx -> protocol.
- Downloader instance auth kind: password / api_key (qB 5.2+ Bearer, no
/auth/login) / none (whitelisted subnet); stored in settings.authKind,
credential write-only in secret_ref, cleared when switching to none.
One qbAuthConfig() shared by sync, agent capability and connection test.
- Settings form: auth kind select, password / API Key fields (no echo).
- testkit: mock qB 5.2 login behaviour, IP ban, bypassAuth;
makeTorrent({ realPieces }) builds real piece hashes for real qB checks.
- Real-container matrix (QB_REAL, skipped by default): 5.1.2 and 5.2.4,
login / add / query / tags / pause-resume / delete keeping data.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 20:42:17 +08:00
..
2026-09-28 21:34:51 +08:00
2026-09-28 21:34:51 +08:00
2026-09-29 17:16:02 +08:00
2026-09-29 17:16:02 +08:00
2026-09-29 00:14:08 +08:00
2026-09-29 17:16:02 +08:00
2026-09-28 20:09:29 +08:00
2026-09-29 17:46:36 +08:00
2026-09-29 00:05:21 +08:00
2026-09-29 20:42:17 +08:00
2026-09-29 17:16:02 +08:00
2026-09-29 17:46:36 +08:00
2026-09-29 17:16:02 +08:00
2026-09-28 20:09:29 +08:00
2026-09-28 21:34:51 +08:00
2026-09-29 01:26:07 +08:00
2026-09-28 20:09:29 +08:00
2026-09-29 01:26:07 +08:00
2026-09-29 01:26:07 +08:00
2026-09-29 17:16:02 +08:00
2026-09-28 03:05:51 +08:00
2026-09-29 17:16:02 +08:00
2026-09-29 17:16:02 +08:00
2026-09-29 17:16:02 +08:00