qbit_manage/modules
bobokun d280787bd1
feat(auth): harden security across auth and API
- Require reauthentication to update security settings via API
  (API key or username/password; accepted in body or headers)
- Add current_username/current_password/current_api_key to request
  model for secure updates
- Mitigate timing attacks in Basic auth by verifying password using a
  dummy hash when username mismatches; improve failure logging
- Enforce restrictive permissions (0600) on qbm_settings.yml during
  load/save; warn and attempt automatic correction if permissive
- Lock down CORS defaults: no origins allowed, credentials disabled,
  explicit methods/headers only
- Prevent path traversal on config filenames via strict validation and
  resolve checks
- Automatically redact secrets in logs by registering sensitive fields
  (passwords, tokens, keys)
- Redact password_hash and api_key in security settings responses
- Audit log security setting changes and reload middleware on save

BREAKING CHANGE: CORS is now denied by default (no allowed origins,
credentials disabled). Cross-origin clients must be explicitly allowed.
Updating security settings now requires current credentials (API key or
username/password).
2025-09-07 13:58:44 -04:00
..
core refactor(core): add fallback to synchronous processing on thread creation failure 2025-09-06 14:57:30 -04:00
__init__.py 4.5.4 (#910) 2025-08-16 22:28:26 -04:00
apprise.py 4.1.5 (#559) 2024-05-24 20:39:18 -04:00
auth.py feat(auth): harden security across auth and API 2025-09-07 13:58:44 -04:00
config.py refactor(core): add error handling and timeout protection for file operations 2025-09-01 09:21:55 -04:00
logs.py v4.5.0 (#862) 2025-07-11 19:13:41 -04:00
notifiarr.py Adds rate limit to Notifiarr 2023-05-30 21:42:57 -04:00
qbit_error_handler.py 4.5.1 (#874) 2025-07-19 08:59:41 -04:00
qbittorrent.py refactor(path): replace string replace with cross-platform path utility 2025-08-31 21:48:07 -04:00
scheduler.py refactor(scheduler): migrate persistence to qbm_settings.yml 2025-09-04 08:33:58 -04:00
torrent_hash_generator.py use logging in torrent_hash_generator 2023-05-22 16:16:38 -04:00
util.py refactor(util): refactor file operations to use ThreadPoolExecutor to avoid thread exhaustion 2025-09-06 08:16:57 -04:00
web_api.py feat(auth): harden security across auth and API 2025-09-07 13:58:44 -04:00
webhooks.py 4.4.0 (#845) 2025-06-22 07:41:55 -04:00