Commit graph

483 commits

Author SHA1 Message Date
Cucumberrbob
f8587d1bc8
fixup! include version when setting torbox api client useragent 2025-03-07 22:40:02 +00:00
Cucumberrbob
818d9f06b2
include version when setting torbox api client useragent 2025-03-07 22:26:18 +00:00
Roger Far
309a91ace2 no message
Some checks failed
Docker Image CI / build (push) Has been cancelled
2025-03-07 12:33:00 -07:00
Roger Far
5c987a9057
Merge pull request #732 from Cucumberrbob/feat/reduce-torbox-api-load
feat:  [TB] Set user-agent
2025-03-07 12:22:06 -07:00
Roger Far
13bb353644
Merge pull request #729 from Cucumberrbob/refactor/download-filtering
refactor!: DRY Download Filtering
2025-03-07 12:21:32 -07:00
Cucumberrbob
1034f342ed
Update torrent state to error when all files excluded by filters.
Only affects PM, TB and DL
2025-03-06 19:57:10 +00:00
Cucumberrbob
9cf28d8274
Revert "Use 10 second interval for TB ProviderUpdater"
This reverts commit 1abaeb598e.
2025-03-06 16:16:42 +00:00
Cucumberrbob
1abaeb598e
Use 10 second interval for TB ProviderUpdater 2025-03-06 13:25:14 +00:00
Cucumberrbob
0fd3f2a467
Set user agent for TB 2025-03-06 13:20:59 +00:00
Cucumberrbob
706be01a40
rename private methods of DownloadableFileFilter 2025-03-03 12:44:15 +00:00
Cucumberrbob
d40e686845
Remove logic in DLTorrentClient erroneously copied from RDTorrentClient
This code handled the RD-specific behaviour of choosing which files to download, and only getting those links from the API, rather than what DL does: downloading all files and having the api consumer pick which links they want to download.
2025-03-03 12:22:02 +00:00
Cucumberrbob
765a5b0543
Use DownloadableFileFilter in RealDebridTorrentClient to filter files 2025-03-03 12:04:34 +00:00
Cucumberrbob
2b6e51b5cf
Use DownloadableFileFilter in PremiumizeTorrentClient to filter files 2025-03-03 12:03:00 +00:00
Cucumberrbob
537845ea80
Use DownloadableFileFilter in DebridLinkTorrentClient to filter files.
Uses `TorrentClientTorrent.Files` instead of `.Links` to get download links. Also adds `DownloadLink` to `Files` when `Map`ping to `TorrentClientTorrent`
2025-03-03 12:00:33 +00:00
Cucumberrbob
2944101657
Use DownloadableFileFilter in AllDebridTorrentClient to filter files
Also updates unit tests to not test if filter works. Test filter is used appropriately instead.
2025-03-03 11:57:43 +00:00
Cucumberrbob
816c72f418
Use DownloadableFileFilter in TorBoxTorrentClient to filter files 2025-03-03 11:55:26 +00:00
Cucumberrbob
a02fcc6c1e
Inject DownloadableFileFilter in Service.DiConfig 2025-03-03 11:54:01 +00:00
Cucumberrbob
b95dbcc824
Add DownloadableFileFilter + unit tests
`DownloadableFileFilter` is an abstraction of the filtering we do in most of the `TorrentClient`s.
It operates on a single file at a time, not the entire torrent.
2025-03-03 11:52:19 +00:00
Sam Heinz
6b7e9b2943
[TB] Update TorBox.NET to 1.5.0 2025-02-24 08:43:50 +10:00
Roger Far
85d6b820f3 Upgrade packages, fixed few formatting issues. 2025-02-23 11:42:38 -07:00
Roger Far
7436e2d036
Merge pull request #715 from Cucumberrbob/fix/use-getsymlinkpath-method
Actually use `GetSymlinkPath` logic
2025-02-23 11:24:23 -07:00
Roger Far
115a1dcc56
Merge pull request #709 from Wald764/pr-main-repo
⬆️ DebridLinkFr.NET to 1.0.4
2025-02-23 11:23:58 -07:00
Roger Far
a4b95923b2
Merge pull request #708 from Cucumberrbob/fix/pm-nested-files
[PM] fix: search subdirectories using `item.Id` not `item.FolderId`
2025-02-23 11:23:38 -07:00
Roger Far
f0310e2b00
Merge pull request #707 from Cucumberrbob/fix/existing-file-in-error-processed-watch-path
Delete file if exists when copying to `Error Path` or `Processed Path` (watch folder)
2025-02-23 11:23:07 -07:00
Cucumberrbob
d292fbaee8
remove superfluous newline 2025-02-20 14:59:09 +00:00
Cucumberrbob
8e1f61472a
remove commented out line 2025-02-20 14:58:37 +00:00
Cucumberrbob
439b266946
Actually use GetSymlinkPath 2025-02-20 14:57:44 +00:00
Wald764
66f0ae0e7c ⬆️ DebridLinkFr.NET to 1.0.4 2025-02-18 18:38:07 +01:00
Cucumberrbob
5a78125053
[PM] fix: search subdirectories using item.Id as folderId when getting downloaod links 2025-02-18 11:51:30 +00:00
Cucumberrbob
29914138aa
cleanup 2025-02-17 23:31:13 +00:00
Cucumberrbob
c43be84507
Delete file if exists when copying to {error,processed}StorePath (watch folder) 2025-02-17 23:03:38 +00:00
Cucumberrbob
2bbbf0fd10
Use ISynologyClient (mockable) and inject IDelayProvider so SynologyTorrentClient is testable 2025-02-17 22:00:19 +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
Cucumberrbob
daf8a9c6da
DownloadHelper: use IFileSystem for testable filesystem access 2025-02-17 21:57:02 +00:00
Cucumberrbob
95307f2933
Use AllDebridNetClientFactory so AD client can be dependency-injected 2025-02-17 21:56:32 +00:00
Roger Far
fe241db5db Upgrade AllDebrid and Downloader.NET to the latest versions.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2025-02-16 09:44:21 -07:00
Roger Far
7c3c1fb24c
Merge pull request #692 from Cucumberrbob/fix/include-exclude-pm-tb
[PM] [TB] Fix: Implement `IncludeRegex`, `ExcludeRegex`, and `DownloadMinSize`
2025-02-16 09:30:19 -07:00
Cucumberrbob
9299314b14
Log when rejecting files in TB GetDownloadLinks 2025-02-13 11:50:40 +00:00
Cucumberrbob
e5e64e6946
Include torrent in logs when rejecting files in PM GetDownloadLinks 2025-02-13 11:41:41 +00:00
Roger Far
56c25770c3 Cleanup. 2025-02-12 20:27:29 -07:00
Roger Far
c005bda484
Merge branch 'master' into pr-main-repo 2025-02-12 20:24:54 -07:00
Roger Far
f58b7d3e72 Refactored TorrentClientKind to Provider. Upgrade Downloader.NET 2025-02-12 20:24:22 -07:00
Roger Far
780d0e5118 Add fixes for AllDebrid and their new API. 2025-02-12 19:48:48 -07:00
Cucumberrbob
26f1f26cd1
Ensure MinDownloadSize, IncludeRegex and ExcludeRegex are honoured by TorBoxTorrentClient 2025-02-07 14:43:59 +00:00
Cucumberrbob
9e223de32e
Ensure MinDownloadSize, IncludeRegex and ExcludeRegex are honoured by PremiumizeTorrentClient 2025-02-07 14:40:13 +00:00
Wald764
f1bdc7d8b4 ♻️ fix a reference to RD instead of DL in DebridLinkTorrentClient 2025-02-03 00:49:36 +01:00
Cucumberrbob
48766e3d44 🐛 Fix build errors by not using Torrent = in DebridLinkTorrentClient
use `Data.Models.Data.Torrent`instead of `Torrent` and `Download = RdtClient.Data.Models.Torrent`
2025-02-03 00:25:02 +01:00
Cucumberrbob
56a61ad012 Use exact path for symlink source when using SymlinkDownloader 2025-02-02 22:11:26 +01:00
Wald764
303244127b ♻️ fix typo in Torrents.cs 2025-02-02 17:50:51 +01:00
Wald764
20fbf8833a ♻️ rename occurrences of debridlinkfr to debridlink 2025-02-02 17:19:41 +01:00
Wald764
d6d1813340 🐛 implement PR suggestions 2025-02-02 17:10:41 +01:00
Wald764
7902f56d66 🐛 endpoint /seedbox/cached removed by DebridLink 2025-02-02 16:46:35 +01:00
Wald764
4198b6ab55 🐛 fixes about the providers order and addition of GetFileName to DebridLinkFrTorrentClient 2025-02-02 16:26:46 +01:00
Wald764
59c47bfe1a 🎉 add support of DebridLinkFr 2025-01-31 10:07:29 +01:00
Roger Far
a566f47988 Set the download client based on the torrent instead of hardcoded when upload a torrent from the web GUI. 2025-01-29 19:10:14 -07:00
Roger Far
24c759e4e6 Small fixes in the download client. 2025-01-29 19:03:38 -07:00
Roger Far
ef8142453f
Merge branch 'master' into fix/bad-download-path 2025-01-29 18:59:31 -07:00
Roger Far
f379d4efb8 DownloadStation cleanup. 2025-01-29 18:55:24 -07:00
Cucumberrbob
0c9de86531
rename symlinkPath -> symlinkSourcePath 2025-01-29 12:19:52 +00:00
Cucumberrbob
82f0bb8bbe
Use static GetSymlinkPath on AllDebridTorrentClient to get the symlink (since the behaviour is unique to the debrid service) 2025-01-29 12:11:25 +00:00
Cucumberrbob
beb0299a0b
revert changes to DownloadHelper.cs 2025-01-29 11:07:20 +00:00
YvesPa
062787143f Throw an lisible error if not config 2025-01-28 14:12:37 +01:00
YvesPa
eeef6fb7fe Merge remote-tracking branch 'rogerfar/master'
# Conflicts:
#	server/RdtClient.Service/RdtClient.Service.csproj
#	server/RdtClient.Service/Services/DownloadClient.cs
2025-01-22 19:11:23 +01:00
YvesPa
85e07f3c90 Update to nuget Synology project 2025-01-22 17:42:04 +01:00
Roger Far
ce223d3e2c Add qBittorrent endpoint transfer/info. 2025-01-19 20:43:28 -07:00
Roger Far
3ed80909de Upgrade packages. 2025-01-19 19:58:29 -07:00
Roger Far
b8c183c079 Refactored out merge pattern for more readable syntax. 2025-01-19 19:57:39 -07:00
Roger Far
e449bd7928 Refactored out goto statement. 2025-01-19 19:55:19 -07:00
YvesPa
735912da5d Change log position 2025-01-10 16:45:50 +01:00
YvesPa
7d2d7fa35f Merge remote-tracking branch 'rogerfar/master' 2025-01-10 16:27:04 +01:00
Sculas
00e499593e
fix: Fix Alldebrid path again 2025-01-09 16:23:56 +01:00
Sculas
d6305c26f8
fix: Only add path separator in specific cases 2025-01-08 13:41:47 +01:00
Sculas
56934e3183
refactor: Improve logging 2025-01-07 15:15:31 +01:00
Sculas
38a3bc1537
perf(SymlinkDownloader): Skip file search when using Alldebrid 2025-01-07 14:34:02 +01:00
Sculas
8fe277fa52
fix(SymlinkDownloader): Add search path to potential file paths 2025-01-07 14:26:26 +01:00
Sculas
ee9e80f7d2
fix: Only apply AllDebrid-specific path fixes to AllDebrid 2025-01-06 12:41:41 +01:00
Roger Far
d5ee5d209c Changed how files are saved. 2025-01-05 20:56:37 -07:00
Roger Far
d43774d9b5 Fix hanging Aria2 downloads when files are being copied or cannot be found on the host. 2025-01-05 20:49:55 -07:00
Sculas
268bb6826c
fix: Fix invalid download path with single-file torrents 2025-01-05 22:17:22 +01:00
Sculas
0026541dca
fix(AllDebrid): Implement filters & fix file paths 2025-01-04 04:29:26 +01:00
Roger Versluis
34aec3d45d no message 2025-01-03 15:54:43 -07:00
Sam Heinz
409e47920e Revert "[TB] Download via zip if file count is over 50"
This reverts commit 6afef14855.
2025-01-02 21:21:52 +10:00
Sam Heinz
fa0f535858 [TB] Update TorBox.NET to 1.3.2 2025-01-02 13:15:59 +10:00
Sam Heinz
065afe9461 [TB] Set seeding based on website seeding setting
The default seed value for website dash is used to set whether to seed or not for new uncached torrents added via rdtclient
2025-01-02 13:15:42 +10:00
Sam Heinz
6afef14855 [TB] Download via zip if file count is over 50
Due to rate limiting issues this is implemented again, it works now since TB reenabled HEAD method for zip downloads on their backend
2025-01-02 13:10:36 +10:00
Sam Heinz
78daeeeaf3 [TB] Update TorBox.NET to 1.3.0 2024-12-28 16:52:45 +10:00
Sam Heinz
e21dc7279a [TB] Fix Index was out of range error
put < when shouldve put >
2024-12-28 01:36:21 +10:00
Sam Heinz
1ad3dc51dd
[TB] Fix source parameter null log spam #618 2024-12-12 17:46:46 +10:00
Roger Far
ea364eefc5 Cleanup, bump to 91.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-12-11 20:15:25 -07:00
Sam Heinz
ac6300a504 [TB] Replace null with empty string for filenames in TorrentClient
Not sure if its better to do this or allow null value to db, but i had this originally and it worked so i think im better off leaving it for now, but idk.

Also got fix for incorrect log
2024-12-11 00:03:43 +10:00
Sam Heinz
9d03c20aaa [TB] Change DownloadHelper to use download.FileName
Also adds the UpdateFileName function to DownloadHelper & DownloadData to push FileName to DB
2024-12-10 23:47:55 +10:00
Sam Heinz
350185b702 [TB] Refactor GetFileName in Torrent Clients 2024-12-10 23:45:13 +10:00
Sam Heinz
a1599ee716 [TB] Add FileName value to Download model 2024-12-10 23:44:11 +10:00
YvesPa
f9335be163 Merge remote-tracking branch 'rogerfar/master' 2024-12-10 11:12:55 +01:00
YvesPa
346982fe8d Manage error 2024-12-10 11:05:39 +01:00
Sam Heinz
3364deecbb [TB] Add download state for stalledDL 2024-12-10 15:25:45 +10:00
Sam Heinz
dffce96a45 [TB] Add default for fileName in DownloadHelper 2024-12-10 15:25:30 +10:00
Sam Heinz
c34c62f879 [TB] Move handling filenames from DownloadHelper to TorrentClients 2024-12-10 15:10:55 +10:00
Roger Far
165d83361b Removed InstantAvailability endpoint from AllDebrid. 2024-12-06 18:11:24 -07:00
Sam Heinz
99c30bbc4f [TB] Fix source parameter null error 2024-11-27 08:19:40 +10:00
Sam Heinz
8b16bd8ee2 [TB] Download files individually rather than via zip 2024-11-27 05:10:24 +10:00
Roger Far
116ca29131 Ignore the "Only download available files on debrid provider" for real-debrid and disable the instant availability completely for Real Debrid. 2024-11-24 06:05:23 -07:00
Roger Far
d932089b90 Catch disabled instant availability endpoint from Real Debrid.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-11-24 05:45:22 -07:00
Roger Versluis
ee5b5f8dc3 Upgrade to .NET 9, code cleanup. 2024-11-18 03:39:12 -07:00
Roger Far
7573492bcf
Merge pull request #585 from asylumexp/master
TorBox support
2024-11-18 03:28:51 -07:00
Sam Heinz
b12f6812cf update torbox.net to 1.2.1 2024-11-12 15:16:03 +10:00
Sam Heinz
ec4e160288 disable seeding
Would rather have seeding disabled and Torbox support be merged then fix it in December when I have time again.
2024-11-12 14:29:47 +10:00
Sam Heinz
b78f0cdd95
Remove zipped 2024-11-11 17:59:00 +10:00
YvesPa
5e52e2dd8c Use local Synology for test 2024-10-17 14:32:53 +02:00
YvesPa
c562e75a97 correct Path with category 2024-10-15 21:48:48 +02:00
YvesPa
d15b1a2c01 some changes for tests 2024-10-15 18:27:11 +02:00
YvesPa
c6beedf675 Correct RealDebrid renaming sometimes 2024-09-25 18:07:34 +02:00
YvesPa
fcbd9d8096 Correct Path using qbittorrent 2024-09-25 14:51:37 +02:00
Sam Heinz
9104197000 Update TorBox.NET to v1.1.2
fixes GetInfoAsync rename to GetHashInfoAsync
2024-09-25 14:53:54 +10:00
YvesPa
047326a30f Add Synology Download Station 2024-09-23 12:51:04 +02:00
GabbeHags
df084bcebe download limit now takes in to consideration total active downloads 2024-09-15 21:04:55 +02:00
Sam Heinz
194b9fd2a3 Update TorBox.NET to 1.0.1 2024-09-13 16:00:03 +10:00
Sam Heinz
446b1c0180 Fix error from merge from upstream, fix error on processing 2024-09-12 19:52:03 +10:00
Sam Heinz
6bac21b426 Update for TorBoxNET v1.0.0.42 changes 2024-09-09 22:27:51 +10:00
Sam Heinz
0987b1f18c Merge remote-tracking branch 'upstream/master' 2024-09-08 23:57:33 +10:00
Sam Heinz
320c52c4be Handle zipped DL only w/ file count > 100 2024-09-04 17:14:36 +10:00
Roger Far
35f959ee26 Fixed the DownloadHelper creating ghost folders. Also don't delete the file when starting a symlink download.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-09-03 19:59:21 -06:00
Roger Far
b66b864cae Revert "Prevent creation of download folders when using the symlink downloader."
This reverts commit 078bbe4bfb.
2024-09-03 19:14:36 -06:00
Roger Far
078bbe4bfb Prevent creation of download folders when using the symlink downloader. 2024-09-02 21:08:00 -06:00
Roger Far
cc52f5f7f5 Fixed download progress reporting to the qBittorrent API. 2024-09-02 21:07:46 -06:00
Roger Far
fae983237a Merge branch 'master' of https://github.com/rogerfar/rdt-client 2024-09-02 19:16:23 -06:00
Roger Far
f65e3fb405 Upgrade packages and build with Alpine 3.20. 2024-09-02 19:16:01 -06:00
Sam Heinz
70584d1acb Add DB values for seeding and zipped, pass to addtorrent 2024-09-01 20:14:07 +10:00
Sam Heinz
91dcdb9d7c Fix importing from TorBox, adding queued torrents 2024-09-01 16:25:36 +10:00
Sam Heinz
e20dd84e1d Fix adding torrent via file
it was a reference conflict between System.Io.File and TorBoxNet.File, but committing anyways to make sure i don't forget that i fixed it
2024-08-31 19:27:20 +10:00
Sam Heinz
e60059a5bd Fix deleting torrents from provider 2024-08-31 10:17:27 +10:00
Sam Heinz
183798db2d Fix TorBox GetAvailability
Won't display anything in the UI though as its set to only show available files for RD
2024-08-30 17:26:53 +10:00
Sam Heinz
754588091d Fix seeding 2024-08-29 07:16:54 +10:00
Sam Heinz
c34f91fc27 Add UI elements for TorBox, fix downloads. 2024-08-28 17:05:56 +10:00
Sam Heinz
395f83847e Add Getting DL link, tracking via hash 2024-08-27 19:11:24 +10:00
Sam Heinz
fc9ea4c29a Implement queudtorrents, selecting files, hash rather than id 2024-08-27 11:06:33 +10:00
Mitchell Kelly
6d4440de20 Fixed issue moving downloaded files in the base directory 2024-08-04 20:07:54 -04:00
Roger Far
788fe654be Fixed deserialization issue in Real-Debrid provider. 2024-07-28 21:43:17 -06:00
Roger Far
7a8a0946d1 Force update torrent data when no filename is set. 2024-07-28 21:42:08 -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
Sam Heinz
772631d47f partially complete about 1/4 of the TorBoxClient
Up to available files
2024-07-18 20:14:35 +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
Roger Far
343d2d078c Merge branch 'master' of https://github.com/rogerfar/rdt-client 2024-07-13 19:40:50 -06:00
Roger Far
2ec3a3b5ca Prevent spamming Real-Debrid when a torrent is completed, do more efficient periodic updates. Fetch more torrents in 1 go to prevent too many endpoint requests. 2024-07-13 19:40:33 -06:00
iPromKnight
297816d671
Rate limit RD requests through the http client 2024-07-13 12:13:21 +01:00
Roger Versluis
86eaccd439 Add some error handling for calculating progress for qBittorrent.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-06-03 08:12:09 -06:00
Roger Far
2bf1c997d8 Aria2c fix #2.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-05-04 19:13:56 -06:00
Roger Versluis
06c034f18a Fixed download path issue with Aria2c when a category is set.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-05-03 10:26:15 -06:00
Roger Far
a79e0849d6 Fixed nullable issues in the qbittorrent endpoint. 2024-05-02 23:07:33 -06:00