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 basePath = '';
|
||||||
|
var baseUrl = '';
|
||||||
|
|
||||||
var indexers = [];
|
var indexers = [];
|
||||||
var configuredIndexers = [];
|
var configuredIndexers = [];
|
||||||
@@ -114,6 +115,12 @@ function loadJackettSettings() {
|
|||||||
basePath = '';
|
basePath = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$("#jackett-baseurloverride").val(data.baseurloverride);
|
||||||
|
baseUrl = data.baseurloverride;
|
||||||
|
if (baseUrl === null || baseUrl === undefined) {
|
||||||
|
baseUrl = '';
|
||||||
|
}
|
||||||
|
|
||||||
api.key = data.api_key;
|
api.key = data.api_key;
|
||||||
|
|
||||||
$("#jackett-savedir").val(data.blackholedir);
|
$("#jackett-savedir").val(data.blackholedir);
|
||||||
@@ -163,9 +170,9 @@ function reloadIndexers() {
|
|||||||
availableFilters = [];
|
availableFilters = [];
|
||||||
for (var i = 0; i < data.length; i++) {
|
for (var i = 0; i < data.length; i++) {
|
||||||
var item = data[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.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(basePath + "/api/v2.0/indexers/" + item.id + "/results/torznab/");
|
item.torznab_host = resolveUrl(baseUrl, basePath + "/api/v2.0/indexers/" + item.id + "/results/torznab/");
|
||||||
item.potato_host = resolveUrl(basePath + "/api/v2.0/indexers/" + item.id + "/results/potato/");
|
item.potato_host = resolveUrl(baseUrl, basePath + "/api/v2.0/indexers/" + item.id + "/results/potato/");
|
||||||
|
|
||||||
if (item.last_error)
|
if (item.last_error)
|
||||||
item.state = "error";
|
item.state = "error";
|
||||||
@@ -922,10 +929,14 @@ function populateSetupForm(indexerId, name, config, caps, link, alternativesitel
|
|||||||
configForm.modal("show");
|
configForm.modal("show");
|
||||||
}
|
}
|
||||||
|
|
||||||
function resolveUrl(url) {
|
function resolveUrl(baseUrl, url) {
|
||||||
var a = document.createElement('a');
|
if (baseUrl != '') {
|
||||||
a.href = url;
|
url = baseUrl + url;
|
||||||
url = a.href;
|
}else{
|
||||||
|
var a = document.createElement('a');
|
||||||
|
a.href = url;
|
||||||
|
url = a.href;
|
||||||
|
}
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1514,6 +1525,7 @@ function bindUIButtons() {
|
|||||||
$("#change-jackett-port").click(function () {
|
$("#change-jackett-port").click(function () {
|
||||||
var jackett_port = Number($("#jackett-port").val());
|
var jackett_port = Number($("#jackett-port").val());
|
||||||
var jackett_basepathoverride = $("#jackett-basepathoverride").val();
|
var jackett_basepathoverride = $("#jackett-basepathoverride").val();
|
||||||
|
var jackett_baseurloverride = $("#jackett-baseurloverride").val();
|
||||||
var jackett_external = $("#jackett-allowext").is(':checked');
|
var jackett_external = $("#jackett-allowext").is(':checked');
|
||||||
var jackett_update = $("#jackett-allowupdate").is(':checked');
|
var jackett_update = $("#jackett-allowupdate").is(':checked');
|
||||||
var jackett_prerelease = $("#jackett-prerelease").is(':checked');
|
var jackett_prerelease = $("#jackett-prerelease").is(':checked');
|
||||||
@@ -1540,6 +1552,7 @@ function bindUIButtons() {
|
|||||||
blackholedir: $("#jackett-savedir").val(),
|
blackholedir: $("#jackett-savedir").val(),
|
||||||
logging: jackett_logging,
|
logging: jackett_logging,
|
||||||
basepathoverride: jackett_basepathoverride,
|
basepathoverride: jackett_basepathoverride,
|
||||||
|
baseurloverride: jackett_baseurloverride,
|
||||||
logging: jackett_logging,
|
logging: jackett_logging,
|
||||||
cache_enabled: jackett_cache_enabled,
|
cache_enabled: jackett_cache_enabled,
|
||||||
cache_ttl: jackett_cache_ttl,
|
cache_ttl: jackett_cache_ttl,
|
||||||
|
@@ -130,6 +130,10 @@
|
|||||||
<span class="input-header">Base path override: </span>
|
<span class="input-header">Base path override: </span>
|
||||||
<input id="jackett-basepathoverride" class="form-control input-right" type="text" value="" placeholder="/jackett">
|
<input id="jackett-basepathoverride" class="form-control input-right" type="text" value="" placeholder="/jackett">
|
||||||
</div>
|
</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">
|
<div class="input-area">
|
||||||
<span class="input-header">Server port: </span>
|
<span class="input-header">Server port: </span>
|
||||||
<input id="jackett-port" class="form-control input-right" type="text" value="" placeholder="9117">
|
<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 UpdateDisabled { get; set; }
|
||||||
public bool UpdatePrerelease { get; set; }
|
public bool UpdatePrerelease { get; set; }
|
||||||
public string BasePathOverride { get; set; }
|
public string BasePathOverride { get; set; }
|
||||||
|
public string BaseUrlOverride { get; set; }
|
||||||
public bool CacheEnabled { get; set; }
|
public bool CacheEnabled { get; set; }
|
||||||
public long CacheTtl { get; set; }
|
public long CacheTtl { get; set; }
|
||||||
public long CacheMaxResultsPerIndexer { get; set; }
|
public long CacheMaxResultsPerIndexer { get; set; }
|
||||||
|
@@ -28,6 +28,8 @@ namespace Jackett.Common.Models.DTO
|
|||||||
[DataMember]
|
[DataMember]
|
||||||
public string basepathoverride { get; set; }
|
public string basepathoverride { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
|
public string baseurloverride { get; set; }
|
||||||
|
[DataMember]
|
||||||
public bool cache_enabled { get; set; }
|
public bool cache_enabled { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
public long cache_ttl { get; set; }
|
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);
|
password = string.IsNullOrEmpty(config.AdminPassword) ? string.Empty : config.AdminPassword.Substring(0, 10);
|
||||||
logging = config.RuntimeSettings.TracingEnabled;
|
logging = config.RuntimeSettings.TracingEnabled;
|
||||||
basepathoverride = config.BasePathOverride;
|
basepathoverride = config.BasePathOverride;
|
||||||
|
baseurloverride = config.BaseUrlOverride;
|
||||||
cache_enabled = config.CacheEnabled;
|
cache_enabled = config.CacheEnabled;
|
||||||
cache_ttl = config.CacheTtl;
|
cache_ttl = config.CacheTtl;
|
||||||
cache_max_results_per_indexer = config.CacheMaxResultsPerIndexer;
|
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 /");
|
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 cacheEnabled = config.cache_enabled;
|
||||||
var cacheTtl = config.cache_ttl;
|
var cacheTtl = config.cache_ttl;
|
||||||
var cacheMaxResultsPerIndexer = config.cache_max_results_per_indexer;
|
var cacheMaxResultsPerIndexer = config.cache_max_results_per_indexer;
|
||||||
@@ -106,6 +115,7 @@ namespace Jackett.Server.Controllers
|
|||||||
serverConfig.UpdateDisabled = updateDisabled;
|
serverConfig.UpdateDisabled = updateDisabled;
|
||||||
serverConfig.UpdatePrerelease = preRelease;
|
serverConfig.UpdatePrerelease = preRelease;
|
||||||
serverConfig.BasePathOverride = basePathOverride;
|
serverConfig.BasePathOverride = basePathOverride;
|
||||||
|
serverConfig.BaseUrlOverride = baseUrlOverride;
|
||||||
serverConfig.CacheEnabled = cacheEnabled;
|
serverConfig.CacheEnabled = cacheEnabled;
|
||||||
serverConfig.CacheTtl = cacheTtl;
|
serverConfig.CacheTtl = cacheTtl;
|
||||||
serverConfig.CacheMaxResultsPerIndexer = cacheMaxResultsPerIndexer;
|
serverConfig.CacheMaxResultsPerIndexer = cacheMaxResultsPerIndexer;
|
||||||
|
Reference in New Issue
Block a user