Roger Far
4801b94c64
Upgrade packages.
2025-05-18 11:31:38 -06:00
Roger Far
2a38d43a1b
Merge pull request #817 from Cucumberrbob/feat/turn-off-auto-unpack
...
Don't unpack if `UnpackLimit` is set to `0`
2025-05-18 11:11:49 -06:00
Roger Far
6ec3b1072b
Update server/RdtClient.Service/Services/TorrentRunner.cs
...
Co-authored-by: qodo-merge-pro[bot] <151058649+qodo-merge-pro[bot]@users.noreply.github.com>
2025-05-18 11:11:17 -06:00
Roger Far
f131726cce
Merge pull request #813 from Cucumberrbob/fix/providerupdater-logging-categoryname
...
fix: make `ProviderUpdater` log under the correct category name
2025-05-18 11:06:13 -06:00
Cucumberrbob
e17c8c5c1a
make setting UnpackLimit to 0 turn unpacking off
2025-05-17 13:30:22 +01:00
Cucumberrbob
5de0bac9d5
reformat EnrichMagnetLink
2025-05-15 23:37:17 +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
Cucumberrbob
ba821ebc2f
use ILogger<ProviderUpdater> for ProviderUpdater, not ILogger<TaskRunner>
2025-05-14 14:45:06 +01:00
Cucumberrbob
e7c2b42bd2
lock RealDebridUpdateLock when dequeuing, not when adding to the queue
2025-05-14 14:05:33 +01:00
Roger Far
0265a48aa8
Merge pull request #798 from Cucumberrbob/fix/auto-import-host-download-action
...
fix: Set `HostDownloadAction` when auto-importing torrents
2025-04-23 21:45:58 -06:00
Roger Far
4f770d923a
Merge pull request #795 from Cucumberrbob/fix/censor-downloadstation-password
...
fix: censor download station password when logging settings at startup
2025-04-23 21:45:32 -06:00
Cucumberrbob
8929ba19d2
fix: Set HostDownloadAction when auto-importing torrents
...
we had a setting for it, just never used it!
2025-04-22 20:16:18 +01:00
Cucumberrbob
03459d0129
fix: censor download station password when logging settings at startup
2025-04-20 12:14:56 +01:00
Cucumberrbob
5ba630ff52
fix: don't autodelete queued torrents
2025-04-20 12:00:47 +01:00
Cucumberrbob
a4f20fd3a4
fix: catch and handle errors when dequeuing torrent
2025-04-20 12:00:21 +01:00
Cucumberrbob
b620e29209
Run WebsocketsUpdater as a HostedService
2025-04-13 18:32:59 +01: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
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
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