Commit graph

195 commits

Author SHA1 Message Date
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
Roger Far
0b726792cb Add torrents/trackers qBittorrent endpoint for cleanuparr compatibility. 2026-03-01 11:24:11 -07:00
Roger Far
178270084e no message
Some checks failed
Release Docker Image / build (map[arch:amd64 platform:linux/amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
Release Docker Image / build (map[arch:arm64 platform:linux/arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
Create GitHub Release / Test, Build, and Bundle (push) Has been cancelled
dotnet test / build (push) Has been cancelled
Release Docker Image / push-images (push) Has been cancelled
Create GitHub Release / Create GitHub release (push) Has been cancelled
2026-02-23 20:14:27 -07:00
Roger Far
41f816ab80 Cleanup. 2026-02-23 20:04:53 -07: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
f25cef711b Improve TorBox status mapping to TorrentStatus and log any unmapped statuses for debugging. 2026-02-13 17:06:57 -05:00
omgbeez
a5f9cd353b SqLite doesn't support OrderBy on DateTimeOffset types
Sorting will require a copy to fix this for the moment, could probably change the underlying type later to prevent this.
2026-02-13 13:22:41 -05:00
omgbeez
e93e4f6f22 Usenet support 2026-02-13 13:15:57 -05:00
Roger Far
d76d26131c Remove obsolete caching. 2026-02-11 20:24:27 -07:00
Roger Far
580c7132c6 Cleanup. 2026-02-11 20:22:28 -07:00
Roger Far
0c5e38e01a
Merge branch 'main' into main 2026-02-11 20:20:47 -07:00
Roger Far
01a26c614b
Merge branch 'main' into upstream/websocket-perf 2026-02-11 20:04:57 -07:00
Roger Far
a9648248f4 Global formatting. 2026-02-11 19:44:49 -07:00
Roger Far
24321a55c9 Upgrade Angular to 21 and .NET to 10. 2026-02-11 19:40:23 -07:00
omgbeez
9454ea1bd1 Refactored torrent and download models with DTOs to simplify serialization and API responses. 2026-01-17 12:23:16 -05:00
destrodxbad
15af54ed24 perf(cache): Remove aggressive cache invalidation and optimize queries 2025-11-18 02:04:51 +01:00
destrodxbad
47355030b5 perf(database): Configure SQLite with WAL mode and connection pooling 2025-11-18 02:03:13 +01:00
destrodxbad
27398ba993 Add automatic disk space monitoring for Bezzad downloader 2025-11-09 03:05:56 +01:00
Roger Versluis
123c4f29c6 Remove internal downloader. 2025-10-06 20:15:07 -06:00
Roger Far
02a97f3170 Add banned tracker setting. 2025-08-04 22:40:11 -06:00
Roger Far
f3d0b31fea Merge branch 'main' of https://github.com/rogerfar/rdt-client 2025-07-28 22:00:45 -06:00
Roger Far
d9858409db Cleanup, make sure the RD API adheres to the set timeout when trying to add a magnet or file. 2025-07-28 21:46:20 -06:00
Cucumberrbob
6bc9c06faa
add setting to delay FinishedAction 2025-07-06 21:59:36 +01:00
Cucumberrbob
32fe929f48
Merge pull request #816 from mentalblank/magnet-enrichment
Tracker Enrichment
2025-05-31 12:42:13 +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
Roger Far
4801b94c64 Upgrade packages. 2025-05-18 11:31:38 -06:00
Cucumberrbob
e17c8c5c1a
make setting UnpackLimit to 0 turn unpacking off 2025-05-17 13:30:22 +01:00
MentalBlank
ae66b40a3d Allow user to define tracker list 2025-05-16 07:57:48 +10:00
MentalBlank
e6a22f6780 Magnet Enrichment
Add magnet link enrichment using configurable tracker lists from ngosang/trackerslist
2025-05-15 19:48:41 +10:00
Roger Far
a25cd62ab0 Moved the websocket update process to its own background thread to improve UI update consistency. 2025-04-13 09:53:15 -06:00
Roger Far
5270375f5c
Merge branch 'main' into feat/debrid-queue 2025-04-13 09:16:46 -06:00
Roger Far
d436ea2482 Merge branch 'main' of https://github.com/rogerfar/rdt-client 2025-04-13 07:55:26 -06:00
Roger Far
c651d21e81 Cleanup, upgrade packages. 2025-04-13 07:55:22 -06:00
Roger Far
a9485827ce
Merge pull request #783 from Cucumberrbob/feat/tb-optional-zipping
[TB] Make zipped downloads optional
2025-04-13 07:55:05 -06:00
Cucumberrbob
75f115fd42
[TB] Make zipped downloads optional 2025-04-13 14:47:12 +01:00
Roger Far
770e32c2cb
Merge pull request #765 from Cucumberrbob/feat/rd-configurable-api-url
feat: add setting to change RD api hostname
2025-04-13 07:41:05 -06:00
Cucumberrbob
3780a954a2
add setting to change RD api hostname 2025-03-23 14:08:27 +00:00
Cucumberrbob
5a1b96b909
Merge remote-tracking branch 'origin/main' into fork/Cucumberrbob/refactor/get-download-info
# Conflicts:
#	server/RdtClient.Service.Test/Services/TorrentClients/AllDebridTorrentClientTest.cs
#	server/RdtClient.Service/Services/TorrentClients/AllDebridTorrentClient.cs
#	server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs
2025-03-23 13:30:05 +00:00
Roger Far
091b976b9b Update packages. 2025-03-21 15:10:54 -06:00
Roger Far
2eddeaecb7
Merge pull request #747 from Cucumberrbob/feat/ignore-updates
feat: Allow ignoring update notifications (but notify anyway if GHSA found)
2025-03-21 15:04:37 -06:00
Cucumberrbob
74e6d2cf95
don't add torrents straight to debrid provider, add to queue first, dequeue in TorrentRunner 2025-03-21 13:09:59 +00:00
Cucumberrbob
f68911e9c2
Add UpdateChecker.IsInsecure to check if running version is insecure
Uses a hard-coded list of GHSA ids of known fixed vulnerabilities
2025-03-11 20:38:02 +00:00
Cucumberrbob
b333c738be
Add DisableUpdateNotifications setting
Lets the user turn notifications off completely
2025-03-11 20:34:52 +00:00
Cucumberrbob
e776236270
Use richer GetDownloadInfos instead of GetDownloadLinks
*Most* debrid providers know the filename as soon as they know the restricted links. By allowing them to tell the program this at an earlier stage, we don't need the `GetFileName` call for most debrid providers
2025-03-11 12:12:16 +00:00
Cucumberrbob
d4ba114772
fix: typo - proxyserver setting applies to bezzad not internal 2025-03-09 12:45:51 +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
fd073b4762
Add interfaces for TorrentData, Downloads, Process, ProcessFactory
Making them interfaces lets us dependency inject them, allowing a given class to be tested.
2025-02-17 21:57:29 +00:00
Roger Far
c005bda484
Merge branch 'master' into pr-main-repo 2025-02-12 20:24:54 -07:00