From 44800491c04b6e60458b34c18657f97d6734319c Mon Sep 17 00:00:00 2001 From: Kayomani Date: Fri, 24 Jul 2015 20:15:08 +0100 Subject: [PATCH] Added UI for allowing external access, stop server listening on the old port when changing ports. Config migration bug fixes. --- Build.bat | 3 + src/Jackett.Console/ConsoleOptions.cs | 4 +- src/Jackett.Console/Program.cs | 15 +++++ src/Jackett/Content/custom.css | 4 ++ src/Jackett/Content/custom.js | 14 +++-- src/Jackett/Content/index.html | 19 +++++-- src/Jackett/Content/logos/BakaBT.png | Bin 0 -> 3769 bytes src/Jackett/Controllers/APIController.cs | 11 +++- src/Jackett/Controllers/AdminController.cs | 14 ++++- src/Jackett/Engine.cs | 16 +++++- src/Jackett/Indexers/IPTorrents.cs | 25 +++++++-- src/Jackett/Indexers/MoreThanTV.cs | 2 +- src/Jackett/Jackett.csproj | 1 + src/Jackett/Services/ConfigurationService.cs | 56 +++++++++++++++---- src/Jackett/Services/ServerService.cs | 2 +- 15 files changed, 149 insertions(+), 37 deletions(-) create mode 100644 src/Jackett/Content/logos/BakaBT.png diff --git a/Build.bat b/Build.bat index 8ee0b9dc0..c524d6c2a 100644 --- a/Build.bat +++ b/Build.bat @@ -1,5 +1,6 @@ rmdir /s /q build +rmdir /s /q Output cd src Msbuild Jackett.sln /t:Clean,Build /p:Configuration=Release cd .. @@ -9,6 +10,8 @@ copy /Y src\Jackett.Service\bin\Release\JackettService.exe build\JackettService. copy /Y src\Jackett.Service\bin\Release\JackettService.exe.config build\JackettService.exe.config copy /Y src\Jackett.Tray\bin\Release\JackettTray.exe build\JackettTray.exe copy /Y src\Jackett.Tray\bin\Release\JackettTray.exe.config build\JackettTray.exe.config +copy /Y LICENSE build\LICENSE +copy /Y README.md build\README.md cd build del *.pdb del *.xml diff --git a/src/Jackett.Console/ConsoleOptions.cs b/src/Jackett.Console/ConsoleOptions.cs index 5614b888f..752867ca0 100644 --- a/src/Jackett.Console/ConsoleOptions.cs +++ b/src/Jackett.Console/ConsoleOptions.cs @@ -9,8 +9,6 @@ namespace Jackett.Console { public class ConsoleOptions { - private bool listenPublic = false; - [Option('i', "Install", HelpText = "Install Jackett windows service (Must be admin)")] public bool Install { get; set; } @@ -47,5 +45,7 @@ namespace Jackett.Console [Option('p', "Port", HelpText = "Web server port")] public int Port { get; set; } + [Option('m', "MigrateSettings", HelpText = "Migrate settings manually (Must be admin on Windows)")] + public bool MigrateSettings { get; set; } } } diff --git a/src/Jackett.Console/Program.cs b/src/Jackett.Console/Program.cs index 9d794a088..5d257d79d 100644 --- a/src/Jackett.Console/Program.cs +++ b/src/Jackett.Console/Program.cs @@ -54,6 +54,7 @@ namespace JackettConsole // Reserve urls if (options.ReserveUrls) { + Engine.ConfigService.CreateOrMigrateSettings(); Engine.Server.ReserveUrls(doInstall: true); return; } @@ -78,6 +79,16 @@ namespace JackettConsole return; } + // Migrate settings + if (options.MigrateSettings) + { + if (Engine.ServiceConfig.ServiceRunning()) + { + Engine.ConfigService.PerformMigration(); + } + return; + } + // Show Version if (options.ShowVersion) @@ -125,6 +136,8 @@ namespace JackettConsole return; } } + + Engine.Server.SaveConfig(); } } @@ -147,6 +160,8 @@ namespace JackettConsole return; } } + + Engine.Server.SaveConfig(); } } } diff --git a/src/Jackett/Content/custom.css b/src/Jackett/Content/custom.css index 14280a204..9628b9cef 100644 --- a/src/Jackett/Content/custom.css +++ b/src/Jackett/Content/custom.css @@ -203,3 +203,7 @@ hr { margin-top: 10px; text-align: center; } + +#jackett-allowext { + width: 25px; +} diff --git a/src/Jackett/Content/custom.js b/src/Jackett/Content/custom.js index 8c4017828..7837ade39 100644 --- a/src/Jackett/Content/custom.js +++ b/src/Jackett/Content/custom.js @@ -7,6 +7,7 @@ function loadJackettSettings() { $("#api-key-input").val(data.config.api_key); $("#app-version").html(data.app_version); $("#jackett-port").val(data.config.port); + $("#jackett-allowext").attr('checked', data.config.external); var password = data.config.password; $("#jackett-adminpwd").val(password); if (password != null && password != '') { @@ -17,20 +18,21 @@ function loadJackettSettings() { $("#change-jackett-port").click(function () { var jackett_port = $("#jackett-port").val(); - var jsonObject = { port: jackett_port}; + var jackett_external = $("#jackett-allowext").is(':checked'); + var jsonObject = { port: jackett_port, external: jackett_external}; var jqxhr = $.post("/admin/set_port", JSON.stringify(jsonObject), function (data) { - if (data.result == "error") { doNotify("Error: " + data.error, "danger", "glyphicon glyphicon-alert"); return; } else { doNotify("The port has been changed. Redirecting you to the new port.", "success", "glyphicon glyphicon-ok"); - var jqxhr0 = $.post("admin/jackett_restart", null, function (data_restart) { }); - window.setTimeout(function () { url = window.location.href; - window.location.href = url.substr(0, url.lastIndexOf(":") + 1) + data.port; - + if (data.external) { + window.location.href = url.substr(0, url.lastIndexOf(":") + 1) + data.port; + } else { + window.location.href = 'http://127.0.0.1:' + data.port; + } }, 3000); } diff --git a/src/Jackett/Content/index.html b/src/Jackett/Content/index.html index ef01513c4..97c146c40 100644 --- a/src/Jackett/Content/index.html +++ b/src/Jackett/Content/index.html @@ -35,26 +35,33 @@ API Key: + +
+

Configured Indexers

+
+
+

Jackett Configuration

Admin Password: - +
Server port:
-
-

Configured Indexers

-
+
+ External access: + +