real-debrid-downloader/src/main
Sucukdeluxe d62fa548cb Debrid-Link: per-(key, host) cooldown for maxLinkHost / maxDataHost
Previously, when a Debrid-Link key returned maxDataHost or maxLinkHost
("you've used up YOUR per-host quota for this hoster on this key"), the
WHOLE key got a 2-min key-wide cooldown — blocking it for all hosters
even though it was only exhausted for that one host.

Now those errors apply a per-(key, host) cooldown instead:
- Key 1 hits maxDataHost on rapidgator → only (Key 1, rapidgator) is
  blocked. Key 1 stays usable for uploaded.net etc. in the same rotation
- Same key + same host on subsequent attempts: skipped with explicit
  "Host-Cooldown rapidgator bis HH:MM:SS" log line
- Key-wide quotas (maxLink, maxData) still apply key-wide as before

Implementation:
- DEBRID_LINK_QUOTA_ERRORS split into key-wide vs host-only sets
- New debridLinkKeyHostCooldowns map keyed by `${keyId}|${hoster}`
- setDebridLinkKeyHostCooldownState mirrors max-wins / strong-category
  semantics of the per-key version, falls back to key-wide cooldown when
  the hoster can't be parsed (safer than thrashing)
- Key runtime status stays "ready" on host-only failures — only this
  (key, host) is blocked, the key is still healthy for other hosters
- Reset/prune helpers (resetDebridLinkRuntimeStateForTests,
  pruneDebridLinkRuntimeStateForKeys, pruneExpiredDebridLinkRuntimeState)
  clear the new map too
- New rotation log event SKIP_HOST_COOLDOWN

Test: 2 keys, key1 hits maxDataHost on rapidgator → key2 succeeds.
Second rapidgator request: key1 SKIPPED via host-cooldown.
Third request to uploaded.net: key1 tried again and succeeds.
2026-04-19 23:41:07 +02:00
..
account-rotation-log.ts Account-rotation logging + transient cooldown fixes 2026-04-19 23:03:22 +02:00
all-debrid-web.ts Release v1.6.69 2026-03-06 04:17:22 +01:00
app-controller.ts Account-rotation logging + transient cooldown fixes 2026-04-19 23:03:22 +02:00
audit-log.ts Harden support logging and debug setup 2026-03-09 02:47:49 +01:00
backup-crypto.ts Redesign backup system: AES-256-GCM encrypted .mdd format 2026-03-07 16:39:19 +01:00
bestdebrid-web.ts Release v1.6.81 2026-03-06 12:09:39 +01:00
cleanup.ts Harden deferred cleanup races 2026-03-09 17:23:28 +01:00
constants.ts Add Mega-Debrid multi-account support with automatic fallback 2026-03-23 20:12:51 +01:00
container.ts Comprehensive bugfix release v1.6.45 2026-03-05 03:53:28 +01:00
debrid.ts Debrid-Link: per-(key, host) cooldown for maxLinkHost / maxDataHost 2026-04-19 23:41:07 +02:00
debug-server.ts Fix Debrid-Link retry recovery 2026-03-10 18:20:19 +01:00
debug-setup.ts Add dedicated rename support logging 2026-03-09 04:48:58 +01:00
download-completion.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
download-manager.ts Account-rotation logging + transient cooldown fixes 2026-04-19 23:03:22 +02:00
extractor.ts Clean up companion metadata files (.sfv, .nfo, .md5) with their archives 2026-04-04 20:31:58 +02:00
extractor.ts.bak Refactor: Extractor in 18 Sektionen reorganisiert 2026-03-10 23:47:02 +01:00
integrity.ts Release v1.4.31 with full bug-audit hardening 2026-03-01 00:33:26 +01:00
item-log.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
link-export.ts Add package and item link export 2026-03-09 04:11:18 +01:00
link-parser.ts Add package and item link export 2026-03-09 04:11:18 +01:00
logger.ts Add support bundle and trace tooling 2026-03-09 02:15:32 +01:00
main.ts Better error logging for non-Administrator/headless server scenarios 2026-04-19 11:53:07 +02:00
mega-web-fallback.ts Refactor: Extractor in 18 Sektionen reorganisiert 2026-03-10 23:47:02 +01:00
package-log.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
realdebrid-web.ts Fix Real-Debrid web login session reuse 2026-03-09 00:03:05 +01:00
realdebrid.ts Add daily traffic limits, auto-sort packages, Debrid-Link multi-key improvements 2026-03-07 02:29:48 +01:00
rename-log.ts Revert daily-log and queue-scope changes back to v1.7.112 state 2026-03-24 10:15:28 +01:00
session-log.ts Comprehensive bugfix release v1.6.45 2026-03-05 03:53:28 +01:00
storage.ts Better error logging for non-Administrator/headless server scenarios 2026-04-19 11:53:07 +02:00
support-bundle.ts Fix support bundle export freeze and resume prealloc recovery 2026-03-29 03:25:58 +02:00
support-data.ts Add app runtime statistics 2026-03-09 04:59:00 +01:00
trace-log.ts Harden type safety and recovery guards 2026-03-10 05:54:19 +01:00
update.ts Harden download integrity, extraction safety, and update security 2026-03-28 16:27:21 +01:00
utils.ts Harden type safety and recovery guards 2026-03-10 05:54:19 +01:00
windows-host-diagnostics.ts Fix support bundle export freeze and resume prealloc recovery 2026-03-29 03:25:58 +02:00