immisterio / Lampac

240 stars 52 forks source link

Add ability to configure listening port for MonoTorrent #35

Open vassoz opened 3 months ago

vassoz commented 3 months ago

Need to setup manual port forwarding.

vassoz commented 3 months ago

Here is the patch to add it:

From 160e4667264936b4aaaa0e28d9e0054b20fd6d86 Mon Sep 17 00:00:00 2001
From: Vasyl Petrushko <vassoz@gmail.com>
Date: Mon, 24 Jun 2024 20:53:27 +0000
Subject: [PATCH] Adds listening port config for DLNA's torrent client.

---
 DLNA/ApiController.cs              | 1 +
 Shared/Models/DLNA/DLNASettings.cs | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/DLNA/ApiController.cs b/DLNA/ApiController.cs
index 9911138..d67d80e 100644
--- a/DLNA/ApiController.cs
+++ b/DLNA/ApiController.cs
@@ -146,6 +146,7 @@ namespace Lampac.Controllers
                 MaximumDownloadSpeed = AppInit.conf.dlna.downloadSpeed,
                 MaximumDiskReadRate = AppInit.conf.dlna.maximumDiskReadRate,
                 MaximumDiskWriteRate = AppInit.conf.dlna.maximumDiskWriteRate,
+                ListenPort = AppInit.conf.dlna.listenPort,

                 AllowedEncryption = AppInit.conf.dlna.allowedEncryption ? 
                     new List<EncryptionType>() { EncryptionType.RC4Full, EncryptionType.RC4Header, EncryptionType.PlainText } : 
diff --git a/Shared/Models/DLNA/DLNASettings.cs b/Shared/Models/DLNA/DLNASettings.cs
index 068b928..0c1340b 100644
--- a/Shared/Models/DLNA/DLNASettings.cs
+++ b/Shared/Models/DLNA/DLNASettings.cs
@@ -21,5 +21,7 @@
         public int maximumDiskWriteRate { get; set; }

         public bool allowedEncryption { get; set; }
+
+        public int listenPort { get; set; }
     }
 }
-- 
2.34.1
immisterio commented 3 months ago

Добавил

vassoz commented 3 months ago

Docker didn't get the change: Neither latest nor amd64-v118 has the change.

Tested by: /admin/init/current "dlna": { "listenPort": 12345 }, Does not appear in /admin/init/current .

Yet same config works correctly with the dlls built locally.

I wasn't able to find the release scripts so I'm not sure what's going on. It would be nice to have the release scripts and workflows in github the flow is easy to follow.