Commit graph

43 commits

Author SHA1 Message Date
Roger Far
a82e895a03 no message 2026-05-27 22:03:59 -06:00
Antonin Lenfant-Kodia
8142225ee9 fix(tests): restore parallel execution 2026-05-18 21:30:31 +02:00
Roger Far
66bd4560a8 Run formatters. 2026-03-14 13:41:30 -06:00
Roger Far
683ac44c12 Upgrade packages.
Migrate Angular to new injector constructors.
2026-03-14 13:39:51 -06:00
omgbeez
76dc3e0b98 fix: Long retry-after would generate timeout instead of RateLimitException
Needed to move the retry handler before the TimeOut handler, and drive the throw from the TimeOut configured by the user for the provider.
2026-03-14 09:32:51 -04:00
omgbeez
67afe189b5 Refactor TorBoxDebridClientTest to include IRateLimitCoordinator and improve test consistency across methods. Updated logging and error handling for rate-limiting scenarios. 2026-03-07 17:57:42 -05:00
Roger Far
41f816ab80 Cleanup. 2026-02-23 20:04:53 -07:00
omgbeez
6d0cb6ceb5 Minor fixes for Qodo 2026-02-20 10:34:30 -05:00
omgbeez
a023d33d90 Add resilience handler, predictive rate limit handling
- Applied to TorBox, can be extended easily to other providers
- Reads response headers commonplace for pre-emptive rate limit throttling and retry-after
- When a rate limit is reached, displays a warning in the UI
- Fix socket leak from direct allocation of HttpClient, replaced with factory which handles pooling and re-use of sockets.

While HttpClient is Disposable, it doesn't gaurantee (and does not) directly release underlying sockets for queries at the time the client is disposed. These sockets will go into a TCP WAIT state often for a very long time. The expected pattern in C# is to always use the HttClientFactory which will correctly handle re-use of the OS sockets in suqsequent queries reducing resource and memory leaks.
2026-02-20 09:47:13 -05:00
omgbeez
e93e4f6f22 Usenet support 2026-02-13 13:15:57 -05:00
Roger Far
a9648248f4 Global formatting. 2026-02-11 19:44:49 -07:00
destrodxbad
27398ba993 Add automatic disk space monitoring for Bezzad downloader 2025-11-09 03:05:56 +01:00
Cucumberrbob
0461058d86
set user agent for all HttpClients from IHttpClientFactory 2025-06-14 14:02:39 +01:00
MentalBlank
408c475af5 Tracker list caching with configurable expiration
Add new option to general settings that allows the user to set the time in minutes to cache the tracker list. 0 disables caching. Default value is 60.
2025-05-21 00:45:14 +10:00
MentalBlank
80a8a1020c Expand enrichment to torrent files 2025-05-20 03:27:41 +10:00
MentalBlank
ae66b40a3d Allow user to define tracker list 2025-05-16 07:57:48 +10:00
Cucumberrbob
b620e29209
Run WebsocketsUpdater as a HostedService 2025-04-13 18:32:59 +01:00
Cucumberrbob
a02fcc6c1e
Inject DownloadableFileFilter in Service.DiConfig 2025-03-03 11:54:01 +00:00
Cucumberrbob
c546bd0173
Use IProcessFactory, IFileSystem in Service.Torrents#RunTorrentComplete
Also adds dependency injection to `Torrents#RunTorrentComplete` for `DbSettings` (`Settings.Get`)
2025-02-17 21:59:56 +00:00
Cucumberrbob
95307f2933
Use AllDebridNetClientFactory so AD client can be dependency-injected 2025-02-17 21:56:32 +00:00
Wald764
20fbf8833a ♻️ rename occurrences of debridlinkfr to debridlink 2025-02-02 17:19:41 +01:00
Wald764
59c47bfe1a 🎉 add support of DebridLinkFr 2025-01-31 10:07:29 +01:00
Sam Heinz
c34f91fc27 Add UI elements for TorBox, fix downloads. 2024-08-28 17:05:56 +10:00
Roger Far
8dd0eec654 Add retry handler with polly to intercept 429 rate limit errors with Real-Debrid. 2024-07-13 19:54:36 -06:00
iPromKnight
297816d671
Rate limit RD requests through the http client 2024-07-13 12:13:21 +01:00
Roger Far
998ddb05ac Add Premiumize support. 2023-03-11 19:11:38 -07:00
Roger Far
b6c79d32a7 Add anonymous authentication. 2023-03-08 20:28:09 -07:00
Roger Far
e3b38d2834 Add nullable to the projects. 2022-05-13 18:51:04 -06:00
Roger Far
3fe9680e35 Add watch folder monitor. 2022-04-30 12:18:30 -06:00
Roger Far
cd6002b5d6 Upgrade packages
Moved C# code to file scoped namespaces
Merged Startup.cs and Program.cs
2022-04-30 11:22:15 -06:00
Roger Far
8774243d2f Add AllDebrid support. 2021-10-30 18:48:32 -06:00
Roger Far
d16e7f0c88 Changed the Aria2 updates to be done in the main TorrentRunner loop instead of each downloader making their own connections.
Added checks if Aria2 links actually got added.
Improved debug messages and set Microsoft message to Warning.
Abstracted the RealDebrid client into a ITorrentClient.
Add retry mechanism for server errors from RealDebrid.
2021-10-27 14:55:46 -06:00
Roger Far
e4c001b0ce Update database settings retrieval. 2021-07-20 22:53:55 -06:00
Roger Far
3ee687f615 Created a separate page for torrent into, added download retrying per file. 2021-07-18 22:46:17 -06:00
Roger Far
21ad2ebfd6 Swapped out the timer GET for a signalr connection. 2021-01-10 20:21:49 -07:00
Roger Far
8f35952f90 Improved statuses, add more actions. 2021-01-10 15:59:44 -07:00
Roger Far
a27bd37991 Refactored download processor. 2021-01-09 19:51:36 -07:00
Roger Far
dc4992a360 Changed how the service gets installed, fixed few bugs 2020-04-17 07:30:29 -06:00
Roger Far
bfba5c99fb Switched out RDNET Dll with Nuget package, update Angular. Rewrote Download handler and removed references to Hangfire. 2020-04-10 16:48:33 -06:00
Roger Far
443843b146 Add the QBittorrent proxy 2020-04-07 10:22:18 -06:00
Roger Far
61535b41a3 Add authentication 2020-04-05 14:40:01 -06:00
Roger Far
f77c1860de Added most functionality on the client and serverside 2020-04-04 15:12:04 -06:00
Roger Far
5611796aea Initial commit 2020-03-31 15:16:34 -06:00