mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
webui: override base url when copying feed (#12882)
Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
This commit is contained in:

committed by
GitHub

parent
f84f492d43
commit
7b8b59bde9
@@ -1,4 +1,5 @@
|
||||
var basePath = '';
|
||||
var baseUrl = '';
|
||||
|
||||
var indexers = [];
|
||||
var configuredIndexers = [];
|
||||
@@ -114,6 +115,12 @@ function loadJackettSettings() {
|
||||
basePath = '';
|
||||
}
|
||||
|
||||
$("#jackett-baseurloverride").val(data.baseurloverride);
|
||||
baseUrl = data.baseurloverride;
|
||||
if (baseUrl === null || baseUrl === undefined) {
|
||||
baseUrl = '';
|
||||
}
|
||||
|
||||
api.key = data.api_key;
|
||||
|
||||
$("#jackett-savedir").val(data.blackholedir);
|
||||
@@ -163,9 +170,9 @@ function reloadIndexers() {
|
||||
availableFilters = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var item = data[i];
|
||||
item.rss_host = resolveUrl(basePath + "/api/v2.0/indexers/" + item.id + "/results/torznab/api?apikey=" + api.key + "&t=search&cat=&q=");
|
||||
item.torznab_host = resolveUrl(basePath + "/api/v2.0/indexers/" + item.id + "/results/torznab/");
|
||||
item.potato_host = resolveUrl(basePath + "/api/v2.0/indexers/" + item.id + "/results/potato/");
|
||||
item.rss_host = resolveUrl(baseUrl, basePath + "/api/v2.0/indexers/" + item.id + "/results/torznab/api?apikey=" + api.key + "&t=search&cat=&q=");
|
||||
item.torznab_host = resolveUrl(baseUrl, basePath + "/api/v2.0/indexers/" + item.id + "/results/torznab/");
|
||||
item.potato_host = resolveUrl(baseUrl, basePath + "/api/v2.0/indexers/" + item.id + "/results/potato/");
|
||||
|
||||
if (item.last_error)
|
||||
item.state = "error";
|
||||
@@ -922,10 +929,14 @@ function populateSetupForm(indexerId, name, config, caps, link, alternativesitel
|
||||
configForm.modal("show");
|
||||
}
|
||||
|
||||
function resolveUrl(url) {
|
||||
var a = document.createElement('a');
|
||||
a.href = url;
|
||||
url = a.href;
|
||||
function resolveUrl(baseUrl, url) {
|
||||
if (baseUrl != '') {
|
||||
url = baseUrl + url;
|
||||
}else{
|
||||
var a = document.createElement('a');
|
||||
a.href = url;
|
||||
url = a.href;
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
@@ -1514,6 +1525,7 @@ function bindUIButtons() {
|
||||
$("#change-jackett-port").click(function () {
|
||||
var jackett_port = Number($("#jackett-port").val());
|
||||
var jackett_basepathoverride = $("#jackett-basepathoverride").val();
|
||||
var jackett_baseurloverride = $("#jackett-baseurloverride").val();
|
||||
var jackett_external = $("#jackett-allowext").is(':checked');
|
||||
var jackett_update = $("#jackett-allowupdate").is(':checked');
|
||||
var jackett_prerelease = $("#jackett-prerelease").is(':checked');
|
||||
@@ -1540,6 +1552,7 @@ function bindUIButtons() {
|
||||
blackholedir: $("#jackett-savedir").val(),
|
||||
logging: jackett_logging,
|
||||
basepathoverride: jackett_basepathoverride,
|
||||
baseurloverride: jackett_baseurloverride,
|
||||
logging: jackett_logging,
|
||||
cache_enabled: jackett_cache_enabled,
|
||||
cache_ttl: jackett_cache_ttl,
|
||||
|
@@ -130,6 +130,10 @@
|
||||
<span class="input-header">Base path override: </span>
|
||||
<input id="jackett-basepathoverride" class="form-control input-right" type="text" value="" placeholder="/jackett">
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<span class="input-header">Base URL override: </span>
|
||||
<input id="jackett-baseurloverride" class="form-control input-right" type="text" value="" placeholder="http://jackett:9117">
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<span class="input-header">Server port: </span>
|
||||
<input id="jackett-port" class="form-control input-right" type="text" value="" placeholder="9117">
|
||||
|
@@ -40,6 +40,7 @@ namespace Jackett.Common.Models.Config
|
||||
public bool UpdateDisabled { get; set; }
|
||||
public bool UpdatePrerelease { get; set; }
|
||||
public string BasePathOverride { get; set; }
|
||||
public string BaseUrlOverride { get; set; }
|
||||
public bool CacheEnabled { get; set; }
|
||||
public long CacheTtl { get; set; }
|
||||
public long CacheMaxResultsPerIndexer { get; set; }
|
||||
|
@@ -28,6 +28,8 @@ namespace Jackett.Common.Models.DTO
|
||||
[DataMember]
|
||||
public string basepathoverride { get; set; }
|
||||
[DataMember]
|
||||
public string baseurloverride { get; set; }
|
||||
[DataMember]
|
||||
public bool cache_enabled { get; set; }
|
||||
[DataMember]
|
||||
public long cache_ttl { get; set; }
|
||||
@@ -71,6 +73,7 @@ namespace Jackett.Common.Models.DTO
|
||||
password = string.IsNullOrEmpty(config.AdminPassword) ? string.Empty : config.AdminPassword.Substring(0, 10);
|
||||
logging = config.RuntimeSettings.TracingEnabled;
|
||||
basepathoverride = config.BasePathOverride;
|
||||
baseurloverride = config.BaseUrlOverride;
|
||||
cache_enabled = config.CacheEnabled;
|
||||
cache_ttl = config.CacheTtl;
|
||||
cache_max_results_per_indexer = config.CacheMaxResultsPerIndexer;
|
||||
|
@@ -92,6 +92,15 @@ namespace Jackett.Server.Controllers
|
||||
throw new Exception("The Base Path Override must start with a /");
|
||||
}
|
||||
|
||||
var baseUrlOverride = config.baseurloverride;
|
||||
if (baseUrlOverride != null)
|
||||
{
|
||||
baseUrlOverride = baseUrlOverride.TrimEnd('/');
|
||||
if (!Uri.TryCreate(config.baseurloverride, UriKind.Absolute, out var uri)
|
||||
|| !(uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps))
|
||||
throw new Exception("Base URL Override is invalid. Example: http://jackett:9117");
|
||||
}
|
||||
|
||||
var cacheEnabled = config.cache_enabled;
|
||||
var cacheTtl = config.cache_ttl;
|
||||
var cacheMaxResultsPerIndexer = config.cache_max_results_per_indexer;
|
||||
@@ -106,6 +115,7 @@ namespace Jackett.Server.Controllers
|
||||
serverConfig.UpdateDisabled = updateDisabled;
|
||||
serverConfig.UpdatePrerelease = preRelease;
|
||||
serverConfig.BasePathOverride = basePathOverride;
|
||||
serverConfig.BaseUrlOverride = baseUrlOverride;
|
||||
serverConfig.CacheEnabled = cacheEnabled;
|
||||
serverConfig.CacheTtl = cacheTtl;
|
||||
serverConfig.CacheMaxResultsPerIndexer = cacheMaxResultsPerIndexer;
|
||||
|
Reference in New Issue
Block a user