Commit graph

60 commits

Author SHA1 Message Date
Roger Far
767038528a Cleanup. 2026-05-27 22:04:30 -06:00
Roger Far
a82e895a03 no message 2026-05-27 22:03:59 -06:00
Roger Far
68edd4d80d Merge branch 'main' of https://github.com/rogerfar/rdt-client
# Conflicts:
#	server/RdtClient.Service.Test/GlobalTestConfig.cs
#	server/RdtClient.Web.Test/Controllers/QBittorrentControllerTest.cs
#	server/RdtClient.Web.Test/GlobalTestConfig.cs
#	server/RdtClient.Web/Controllers/QBittorrentController.cs
2026-05-27 21:57:27 -06:00
Roger Far
d6f747c8d8 Add quick fix to reject torrents that error out as soon as they are added. 2026-05-27 21:50:21 -06:00
Antonin Lenfant-Kodia
8142225ee9 fix(tests): restore parallel execution 2026-05-18 21:30:31 +02:00
jwmann
797c58e654
Fix qBittorrent compatibility for CleanupArr workflows 2026-04-23 22:13:38 -04:00
Roger Far
75e02cfb82 Fixed some qBittorrent endpoints.
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-04-06 20:38:32 -06:00
Roger Far
53f985d80d v2.0.127
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-03-15 12:18:38 -06:00
Vinod Mishra
d4e1502c60 Add state filter to info endpoint and also implement the count endpoint 2026-03-15 13:12:59 +00:00
Roger Far
66bd4560a8 Run formatters. 2026-03-14 13:41:30 -06:00
John Conley
c0bbab5fa4 Fix /api/v2/torrents/info to filter by hashes query parameter
Add support for the `hashes` query parameter (pipe-separated, case-insensitive)
to match real qBittorrent API behavior. This fixes compatibility with cleanuparr
and *arr apps that rely on hash-based filtering.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 17:39:42 -08:00
Roger Far
0b726792cb Add torrents/trackers qBittorrent endpoint for cleanuparr compatibility. 2026-03-01 11:24:11 -07:00
Roger Far
7ec977b36e
Merge pull request #941 from ALenfant/fix_login_format
Always return plain text from `auth/login` API endpoint
2026-03-01 10:38:37 -07:00
Antonin Lenfant-Kodia
a7dd01eb42 Fix qB auth/login to always return plain text 2026-03-01 15:01:13 +01:00
Roger Far
81dd3dd9f8
Merge pull request #923 from omgbeez/upstream/resilience
Add resilience handler, predictive rate limit handling
2026-02-23 08:36:35 -07:00
Roger Far
0af0b41bb8
Merge pull request #935 from ALenfant/add_legacy_version_endpoint
Add legacy /version/api endpoint
2026-02-22 10:40:18 -07:00
Antonin Lenfant-Kodia
e01cd6a979 Add legacy /version/api endpoint 2026-02-22 14:49:07 +01: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
ca325aaac1
Merge pull request #919 from jwmann/fix/qbittorrent-health-check-api
Fix qBittorrent Health Check API for Cleanuparr & others
2026-02-11 19:59:35 -07:00
Roger Far
a9648248f4 Global formatting. 2026-02-11 19:44:49 -07:00
jwmann
b74b5dd7a9
Add AllowAnonymous to QBittorrent health check endpoints
This fix allows Cleanuparr to successfully connect to RDT Client by making the
health check endpoints accessible without authentication, matching real qBittorrent
behavior. The three endpoints affected are:
- /api/v2/app/version
- /api/v2/app/webapiVersion
- /api/v2/app/buildInfo

Fixes #867
2026-02-11 19:08:59 -05:00
Roger Versluis
c51f8cb503 Removed internal downloader from the GUI.
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
2025-10-13 16:46:27 -06:00
Roger Versluis
1080143fce Added some fake qBittorrent API calls for decluttarr.
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
2025-10-08 21:26:14 -06:00
Roger Far
ce223d3e2c Add qBittorrent endpoint transfer/info. 2025-01-19 20:43:28 -07:00
Roger Versluis
ee5b5f8dc3 Upgrade to .NET 9, code cleanup. 2024-11-18 03:39:12 -07:00
Ruakij
3bae4501a5
Accept login via qbittorrent-api when AuthType is none 2024-10-27 18:02:32 +01:00
Roger Far
cc52f5f7f5 Fixed download progress reporting to the qBittorrent API. 2024-09-02 21:07:46 -06:00
Roger Far
a356632d50 Upgrade to MonoTorrent 3.
Catch infringed files from Real-Debrid and return a Failed. on qBittorrent.
2024-07-28 21:21:09 -06: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
Roger Far
3b72463663 Added bit of logging to debug downloader issues, upgraded packages, cleaned up C# code. 2024-04-06 13:54:58 -06:00
Roger Versluis
b8e45417b5 Update to .NET 8.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2023-11-14 14:29:32 -07:00
Roger Far
6ad6da5679 Add extra request logging. 2023-09-20 20:28:06 -06: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
cd6002b5d6 Upgrade packages
Moved C# code to file scoped namespaces
Merged Startup.cs and Program.cs
2022-04-30 11:22:15 -06:00
Edouard CHIN
dcea8dcc1a Filter torrents with the category query string:
- ### Problem

  When using multiple *arr instances (sonarr, radarr ...), the queue
  on each instance displays *all* torrents being processed by RDT.
  The normal behaviour is to display torrents that have the same
  category as the one set in the DownloadClient config on
  radarr/sonarr.

  ### Solution

  *arr uses the `/api/v2/torrents/info` QBittorrent endpoint which
  accepts a `category` query string.
  This is how the Qbittorent API behaves when that query string
  exists:

  ```text
  See https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#get-torrent-list

  Get torrents with the given category.
  empty string means "without category";
  no "category" parameter means "any category"
  ```

  See [here](3125b038d5/src/NzbDrone.Core/Download/Clients/QBittorrent/QBittorrentProxyV2.cs (L96)) how radarr sets the categories when making the query.

  Thanks for your indulgence, first time writing dotnet :)
2022-04-28 21:18:56 +02:00
Roger Far
f75ac43e49 Add QBittorrent API sync/maindata endpoint for home assistant integration. 2022-03-19 12:49:38 -06:00
Roger Far
b3dd856410 Add retry count as a setting per torrent and global.
Add error status on the torrent itself too.
Improved torrent retrying.
2021-10-30 10:25:53 -06:00
Roger Far
6ac0265d2d Add priority mechanishm and support for sonarr priority.
Changed to have /torrents/files return only files that are selected.
Add pause/unpause from Sonarr/Radar. Works only for Aria2.
2021-10-24 10:40:59 -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
fa11dc9bc7 Big update on the add download and setting screens which are now proper pages instead of modals.
Fixed issue where it would slow down on waiting for RealDebrid generating links for downloads.
2021-07-18 17:29:45 -06:00
Roger Far
e4d522b00e Upgrade packages, clean up some small things. 2021-07-18 14:17:13 -06:00
Roger Far
0e1e547c71 Add category support by saving the categories in the settings table now. 2021-07-18 14:11:40 -06:00
Roger Far
fe3b7d8867 Improve handling of torrent URL's that are HTTP files. 2021-04-28 07:46:07 -06:00
Roger Far
659675d538 Update packages. 2021-04-26 19:47:33 -06:00
Roger Far
5265a8b442 Changed the unrestrict process to only unrestrict when the download is starting. 2021-03-10 17:56:54 -07:00
Roger Far
3598b1f218 Fixed category setting when adding a torrent from Sonarr or Radarr. 2021-01-13 19:15:00 -07:00
Roger Far
4f0d75a9f5 Fixed issue with qBittorrent category save paths and updated all qBittorrent versions. 2021-01-13 16:03:15 -07:00