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
478cc0e714
Merge branch 'main' into fix/pm-all-files-excluded
2025-04-13 14:52:09 +01:00
Cucumberrbob
75f115fd42
[TB] Make zipped downloads optional
2025-04-13 14:47:12 +01:00
Roger Far
1ce3d20541
Merge pull request #769 from Cucumberrbob/fix/rd-exclude-all
...
fix: return number of files selected from `SelectFiles` so we can handle all files excluded for RD
2025-04-13 07:41:55 -06: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
Roger Far
88358c8272
Merge pull request #754 from Cucumberrbob/perf/tb-dont-refetch-torrentlist-in-providerupdater
...
[TB] use `torrentClientTorrent` (if passed) instead of re-fetching in `UpdateData`
2025-04-13 07:40:16 -06:00
Cucumberrbob
84d144ed7b
[PM] Return empty list, not null when all files filtered out in GetDownloadLinks
2025-04-09 10:41:50 +01:00
Cucumberrbob
aa3f24ff50
Return number of selected files from SelectFiles so we can handle all files being excluded
2025-03-27 12:01:53 +00:00
Cucumberrbob
3780a954a2
add setting to change RD api hostname
2025-03-23 14:08:27 +00:00
Cucumberrbob
99ea3f008f
fix merge (again!)
2025-03-23 13:32:37 +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
3d4e656121
Merge pull request #755 from Cucumberrbob/perf/providerupdater-dont-update-when-all-rdfinished
...
`ProviderUpdater`: don't run if all torrents finished and `AutoImport == false`
2025-03-21 15:07:12 -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
Roger Far
2be825e248
Merge pull request #741 from Cucumberrbob/feat/ad-rd-exclude-all-fail-torrent
...
feat: [AD] [RD] don't download anything when all files excluded
2025-03-21 14:14:18 -06:00
Roger Far
0b7749376a
Merge pull request #735 from Cucumberrbob/fix/tb-include-version-in-user-agent
...
include version when setting torbox api client useragent
2025-03-21 14:12:30 -06:00
Cucumberrbob
7eb1a610b4
use ternary not (Boolean) switch
2025-03-21 13:35:51 +00: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
e9c4544d34
ProviderUpdater: don't run if all torrents finished and AutoImport == false
2025-03-17 20:50:09 +00:00
Cucumberrbob
ab5a013edb
[TB] use torrentClientTorrent (if it's passed) instead of fetching in UpdateData
...
Makes `ProviderUpdater` only cause 2 API requests each run rather than `O(n)` where `n` is the number of torrents
2025-03-17 20:24:31 +00:00
Cucumberrbob
e6f7db0763
fix merge
2025-03-16 15:49:46 +00:00
Cucumberrbob
609c67e0c6
Merge branch 'master' into refactor/get-download-info
2025-03-16 15:46:36 +00:00
Cucumberrbob
93fac23128
run dotnet format
2025-03-16 15:34:25 +00:00
Sam Heinz
afc7d1a964
[TB] fix: replace Contains with EndsWith
2025-03-17 00:50:51 +10:00
Sam Heinz
7a822bef5c
[TB] fix: extract folder move logic
2025-03-17 00:28:19 +10:00
Sam Heinz
7d1aeed85c
[TB] fix: getting provider in UnpackClient
...
Co-authored-by: Cucumberrbob <128094686+Cucumberrbob@users.noreply.github.com>
2025-03-16 23:33:17 +10:00
Sam Heinz
bd96795f34
[TB] fix: moving hash dir files too far up
2025-03-16 20:45:34 +10:00
Sam Heinz
9d57466472
[TB] fix: download urls still not returning filename via HEAD.
2025-03-16 20:45:34 +10:00
Sam Heinz
fd7bc529c8
[TB] fix: move MoveHashDirectoryUpTB to TorBoxTorrentClient
2025-03-16 20:45:34 +10:00
Sam Heinz
bf023b333b
[TB] fix: run MoveHashDirectoryUpTB only once
...
Signed-off-by: Sam Heinz <54530346+asylumexp@users.noreply.github.com>
2025-03-16 20:45:30 +10:00
Sam Heinz
7019c79814
[TB] fix: CLR type names in UnpackClient
...
Co-authored-by: Cucumberrbob <128094686+Cucumberrbob@users.noreply.github.com>
2025-03-15 22:20:50 +10:00
Sam Heinz
6b211c6e7c
[TB] fix: getting provider in UnpackClient
...
Co-Authored-By: Cucumberrbob <128094686+Cucumberrbob@users.noreply.github.com>
2025-03-15 22:19:58 +10:00
Sam Heinz
9525498671
[TB] fix: get files from torrent name folder in TB zip
2025-03-13 00:35:42 +10:00
Sam Heinz
edf443adfc
[TB] fix: move files from hash folder in TB zips to root download dir
2025-03-13 00:24:43 +10:00
Sam Heinz
10176357e4
[TB] fix: unpacking zip downloads
...
may have unintended consequences by fixing this as it may now unpack zips in individual file downloads that aren't intended to be unpacked?
2025-03-12 23:05:19 +10:00
Sam Heinz
ea9c90552b
[TB] fix: timeout to use settings timeout val
2025-03-12 22:50:18 +10:00
Sam Heinz
087653e5b6
[TB] fix: calling fileFilter twice in getdllinks
2025-03-12 22:27:48 +10:00
Sam Heinz
85a0e7b04f
[TB] fix nit about bool -> var
2025-03-12 22:18:15 +10:00
Sam Heinz
dc9c7ff050
[TB] Add downloading via zip functionality
2025-03-12 18:19:24 +10: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
d6efff2fb5
add rest of xmldoc for DownloadInfos
2025-03-11 12:44:48 +00:00
Cucumberrbob
c50afe9e64
[TB] GetDownloadLinks -> GetDownloadInfos
2025-03-11 12:14:15 +00:00
Cucumberrbob
0cc15d26c3
[RD] GetDownloadLinks -> GetDownloadInfos
2025-03-11 12:14:09 +00:00
Cucumberrbob
7615883fdb
[PM] GetDownloadLinks -> GetDownloadInfos
2025-03-11 12:14:04 +00:00
Cucumberrbob
2b2c5462f1
[DL] GetDownloadLinks -> GetDownloadInfos
2025-03-11 12:13:44 +00:00
Cucumberrbob
88af15b3bc
[AD] GetDownloadLinks -> GetDownloadInfos
...
Also makes the tests work wiith this new method
2025-03-11 12:13:24 +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
2ae3b85dac
[RD] mark torrent failed when all files excluded by filters
2025-03-08 13:46:07 +00:00
Cucumberrbob
097ea93410
[AD] mark torrent failed when all files excluded by filters
2025-03-08 13:46:02 +00:00
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
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.
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