[TB] Make zipped downloads optional

This commit is contained in:
Cucumberrbob 2025-04-13 14:44:35 +01:00
parent c34eaf2968
commit 75f115fd42
No known key found for this signature in database
GPG key ID: 2B935C47401C3614
2 changed files with 5 additions and 1 deletions

View file

@ -197,6 +197,10 @@ or
[Description("The interval to check the torrents info on the providers API. Minumum is 3 seconds. When there are no active downloads this limit is increased * 3.")]
public Int32 CheckInterval { get; set; } = 10;
[DisplayName("Prefer zipped downloads")]
[Description("Torbox only. When selected, rdt-client will try to download the entire torrent as a .zip from TorBox and unpack it instead of downloading each file individually.")]
public Boolean PreferZippedDownloads { get; set; } = false;
[DisplayName("Auto Import Defaults")]
public DbSettingsDefaultsWithCategory Default { get; set; } = new();
}

View file

@ -290,7 +290,7 @@ public class TorBoxTorrentClient(ILogger<TorBoxTorrentClient> logger, IHttpClien
var torrentId = await GetClient().Torrents.GetHashInfoAsync(torrent.Hash, skipCache: true);
var downloadableFiles = torrent.Files.Where(file => fileFilter.IsDownloadable(torrent, file.Path, file.Bytes)).ToList();
if (downloadableFiles.Count == torrent.Files.Count && torrent.DownloadClient != Data.Enums.DownloadClient.Symlink)
if (downloadableFiles.Count == torrent.Files.Count && torrent.DownloadClient != Data.Enums.DownloadClient.Symlink && Settings.Get.Provider.PreferZippedDownloads)
{
logger.LogDebug("Downloading files from TorBox as a zip.");
return [$"https://torbox.app/fakedl/{torrentId?.Id}/zip"];