diff --git a/server/RdtClient.Data/RdtClient.Data.csproj b/server/RdtClient.Data/RdtClient.Data.csproj
index ca714f0..50558bb 100644
--- a/server/RdtClient.Data/RdtClient.Data.csproj
+++ b/server/RdtClient.Data/RdtClient.Data.csproj
@@ -16,7 +16,7 @@
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/server/RdtClient.Service/RdtClient.Service.csproj b/server/RdtClient.Service/RdtClient.Service.csproj
index c736d2e..f01e9d6 100644
--- a/server/RdtClient.Service/RdtClient.Service.csproj
+++ b/server/RdtClient.Service/RdtClient.Service.csproj
@@ -15,11 +15,11 @@
-
+
-
-
+
+
diff --git a/server/RdtClient.Service/Services/Torrents.cs b/server/RdtClient.Service/Services/Torrents.cs
index cc39252..d1ff70d 100644
--- a/server/RdtClient.Service/Services/Torrents.cs
+++ b/server/RdtClient.Service/Services/Torrents.cs
@@ -115,7 +115,7 @@ public class Torrents(
var id = await TorrentClient.AddMagnet(magnetLink);
- var hash = magnet.InfoHash.ToHex();
+ var hash = magnet.InfoHashes.V1OrV2.ToHex();
var newTorrent = await Add(id, hash, magnetLink, false, torrent);
@@ -130,7 +130,7 @@ public class Torrents(
Directory.CreateDirectory(Settings.Get.General.CopyAddedTorrents);
}
- var copyFileName = Path.Combine(Settings.Get.General.CopyAddedTorrents, $"{FileHelper.RemoveInvalidFileNameChars(magnet.Name)}.magnet");
+ var copyFileName = Path.Combine(Settings.Get.General.CopyAddedTorrents, $"{FileHelper.RemoveInvalidFileNameChars(magnet.Name!)}.magnet");
if (File.Exists(copyFileName))
{
@@ -166,7 +166,7 @@ public class Torrents(
var id = await TorrentClient.AddFile(bytes);
- var hash = monoTorrent.InfoHash.ToHex();
+ var hash = monoTorrent.InfoHashes.V1OrV2.ToHex();
var newTorrent = await Add(id, hash, fileAsBase64, true, torrent);
diff --git a/server/RdtClient.Web/Controllers/QBittorrentController.cs b/server/RdtClient.Web/Controllers/QBittorrentController.cs
index d0c57cb..e80cfed 100644
--- a/server/RdtClient.Web/Controllers/QBittorrentController.cs
+++ b/server/RdtClient.Web/Controllers/QBittorrentController.cs
@@ -123,7 +123,7 @@ public class QBittorrentController(ILogger logger, QBitto
[HttpPost]
public ActionResult AppDefaultSavePath()
{
- var result = Settings.AppDefaultSavePath;
+ var result = Service.Services.Settings.AppDefaultSavePath;
return Ok(result);
}
@@ -316,6 +316,7 @@ public class QBittorrentController(ILogger logger, QBitto
foreach (var url in urls)
{
+ try{
if (url.StartsWith("magnet"))
{
await qBittorrent.TorrentsAddMagnet(url.Trim(), request.Category, null);
@@ -330,6 +331,15 @@ public class QBittorrentController(ILogger logger, QBitto
{
return BadRequest($"Invalid torrent link format {url}");
}
+ }
+ catch (RDNET.RealDebridException ex)
+ {
+ // Infringing file.
+ if (ex.ErrorCode == 35)
+ {
+ return Ok("Fails.");
+ }
+ }
}
return Ok();
diff --git a/server/RdtClient.Web/Controllers/TorrentsController.cs b/server/RdtClient.Web/Controllers/TorrentsController.cs
index 634e9e2..69536b5 100644
--- a/server/RdtClient.Web/Controllers/TorrentsController.cs
+++ b/server/RdtClient.Web/Controllers/TorrentsController.cs
@@ -134,7 +134,7 @@ public class TorrentsController(ILogger logger, Torrents tor
var torrent = await MonoTorrent.Torrent.LoadAsync(bytes);
- var result = await torrents.GetAvailableFiles(torrent.InfoHash.ToHex());
+ var result = await torrents.GetAvailableFiles(torrent.InfoHashes.V1OrV2.ToHex());
return Ok(result);
}
@@ -148,9 +148,14 @@ public class TorrentsController(ILogger logger, Torrents tor
return BadRequest();
}
+ if (String.IsNullOrEmpty(request.MagnetLink))
+ {
+ return BadRequest("MagnetLink cannot be null or empty");
+ }
+
var magnet = MagnetLink.Parse(request.MagnetLink);
- var result = await torrents.GetAvailableFiles(magnet.InfoHash.ToHex());
+ var result = await torrents.GetAvailableFiles(magnet.InfoHashes.V1OrV2.ToHex());
return Ok(result);
}
@@ -226,7 +231,7 @@ public class TorrentsController(ILogger logger, Torrents tor
{
var magnet = MagnetLink.Parse(request.MagnetLink);
- availableFiles = await torrents.GetAvailableFiles(magnet.InfoHash.ToHex());
+ availableFiles = await torrents.GetAvailableFiles(magnet.InfoHashes.V1OrV2.ToHex());
}
else if (file != null)
{
@@ -240,7 +245,7 @@ public class TorrentsController(ILogger logger, Torrents tor
var torrent = await MonoTorrent.Torrent.LoadAsync(bytes);
- availableFiles = await torrents.GetAvailableFiles(torrent.InfoHash.ToHex());
+ availableFiles = await torrents.GetAvailableFiles(torrent.InfoHashes.V1OrV2.ToHex());
}
else
{
diff --git a/server/RdtClient.Web/RdtClient.Web.csproj b/server/RdtClient.Web/RdtClient.Web.csproj
index a7bb243..792a0da 100644
--- a/server/RdtClient.Web/RdtClient.Web.csproj
+++ b/server/RdtClient.Web/RdtClient.Web.csproj
@@ -38,7 +38,7 @@
-
+