mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
core: allow cors requests (#13199)
This commit is contained in:
@@ -177,7 +177,7 @@ hr {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#jackett-allowext, #jackett-allowupdate, #jackett-logging, #jackett-prerelease, #jackett-cache-enabled {
|
||||
#jackett-allowext, #jackett-allowcors, #jackett-allowupdate, #jackett-logging, #jackett-prerelease, #jackett-cache-enabled {
|
||||
width: 25px;
|
||||
}
|
||||
|
||||
|
@@ -125,6 +125,7 @@ function loadJackettSettings() {
|
||||
|
||||
$("#jackett-savedir").val(data.blackholedir);
|
||||
$("#jackett-allowext").attr('checked', data.external);
|
||||
$("#jackett-allowcors").attr('checked', data.cors);
|
||||
$("#jackett-allowupdate").attr('checked', data.updatedisabled);
|
||||
$("#jackett-prerelease").attr('checked', data.prerelease);
|
||||
$("#jackett-logging").attr('checked', data.logging);
|
||||
@@ -1528,6 +1529,7 @@ function bindUIButtons() {
|
||||
var jackett_basepathoverride = $("#jackett-basepathoverride").val();
|
||||
var jackett_baseurloverride = $("#jackett-baseurloverride").val();
|
||||
var jackett_external = $("#jackett-allowext").is(':checked');
|
||||
var jackett_cors = $("#jackett-allowcors").is(':checked');
|
||||
var jackett_update = $("#jackett-allowupdate").is(':checked');
|
||||
var jackett_prerelease = $("#jackett-prerelease").is(':checked');
|
||||
var jackett_logging = $("#jackett-logging").is(':checked');
|
||||
@@ -1548,6 +1550,7 @@ function bindUIButtons() {
|
||||
var jsonObject = {
|
||||
port: jackett_port,
|
||||
external: jackett_external,
|
||||
cors: jackett_cors,
|
||||
updatedisabled: jackett_update,
|
||||
prerelease: jackett_prerelease,
|
||||
blackholedir: $("#jackett-savedir").val(),
|
||||
|
@@ -161,7 +161,7 @@ hr {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#jackett-allowext, #jackett-allowupdate, #jackett-logging, #jackett-prerelease, #jackett-cache-enabled {
|
||||
#jackett-allowext, #jackett-allowcors, #jackett-allowupdate, #jackett-logging, #jackett-prerelease, #jackett-cache-enabled {
|
||||
width: 25px;
|
||||
}
|
||||
|
||||
|
@@ -28,8 +28,8 @@
|
||||
<link rel="stylesheet" type="text/css" href="../bootstrap/bootstrap.min.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../animate.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../css/tagify.css?changed=11662">
|
||||
<link rel="stylesheet" type="text/css" href="../custom.css?changed=202204222" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=202204222" media="only screen and (max-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom.css?changed=202204223" media="only screen and (min-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=202204223" media="only screen and (max-device-width: 480px)">
|
||||
<link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.min.css?changed=2017083001">
|
||||
<link rel="stylesheet" type="text/css" href="../css/bootstrap-multiselect.css?changed=2017083001" />
|
||||
<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css?changed=2017083001">
|
||||
@@ -178,6 +178,10 @@
|
||||
<span class="input-header">External access: </span>
|
||||
<input id="jackett-allowext" class="form-control input-right" type="checkbox" />
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<span class="input-header">Allow CORS: </span>
|
||||
<input id="jackett-allowcors" class="form-control input-right" type="checkbox" />
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<span class="input-header">Disable auto update: </span>
|
||||
<input id="jackett-allowupdate" class="form-control input-right" type="checkbox" />
|
||||
|
@@ -16,7 +16,7 @@
|
||||
|
||||
<link href="../bootstrap/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="../animate.css" rel="stylesheet">
|
||||
<link href="../custom.css?changed=202204222" rel="stylesheet">
|
||||
<link href="../custom.css?changed=202204223" rel="stylesheet">
|
||||
|
||||
<title>Jackett</title>
|
||||
</head>
|
||||
|
@@ -33,6 +33,7 @@ namespace Jackett.Common.Models.Config
|
||||
|
||||
public int Port { get; set; }
|
||||
public bool AllowExternal { get; set; }
|
||||
public bool AllowCORS { get; set; }
|
||||
public string APIKey { get; set; }
|
||||
public string AdminPassword { get; set; }
|
||||
public string InstanceId { get; set; }
|
||||
|
@@ -14,6 +14,8 @@ namespace Jackett.Common.Models.DTO
|
||||
[DataMember]
|
||||
public bool external { get; set; }
|
||||
[DataMember]
|
||||
public bool cors { get; set; }
|
||||
[DataMember]
|
||||
public string api_key { get; set; }
|
||||
[DataMember]
|
||||
public string blackholedir { get; set; }
|
||||
@@ -66,6 +68,7 @@ namespace Jackett.Common.Models.DTO
|
||||
this.notices = notices;
|
||||
port = config.Port;
|
||||
external = config.AllowExternal;
|
||||
cors = config.AllowCORS;
|
||||
api_key = config.APIKey;
|
||||
blackholedir = config.BlackholeDir;
|
||||
updatedisabled = config.UpdateDisabled;
|
||||
|
@@ -79,6 +79,7 @@ namespace Jackett.Server.Controllers
|
||||
var originalAllowExternal = serverConfig.AllowExternal;
|
||||
var port = config.port;
|
||||
var external = config.external;
|
||||
var cors = config.cors;
|
||||
var saveDir = config.blackholedir;
|
||||
var updateDisabled = config.updatedisabled;
|
||||
var preRelease = config.prerelease;
|
||||
@@ -113,10 +114,12 @@ namespace Jackett.Server.Controllers
|
||||
var omdbApiUrl = config.omdburl;
|
||||
|
||||
if (config.basepathoverride != serverConfig.BasePathOverride)
|
||||
{
|
||||
webHostRestartNeeded = true;
|
||||
}
|
||||
|
||||
if (config.cors != serverConfig.AllowCORS)
|
||||
webHostRestartNeeded = true;
|
||||
|
||||
serverConfig.AllowCORS = cors;
|
||||
serverConfig.UpdateDisabled = updateDisabled;
|
||||
serverConfig.UpdatePrerelease = preRelease;
|
||||
serverConfig.BasePathOverride = basePathOverride;
|
||||
|
@@ -30,6 +30,8 @@ namespace Jackett.Server
|
||||
{
|
||||
public class Startup
|
||||
{
|
||||
private const string AllowAllOrigins = "AllowAllOrigins";
|
||||
|
||||
public Startup(IConfiguration configuration) => Configuration = configuration;
|
||||
|
||||
public IConfiguration Configuration { get; }
|
||||
@@ -37,9 +39,14 @@ namespace Jackett.Server
|
||||
// This method gets called by the runtime. Use this method to add services to the container.
|
||||
public IServiceProvider ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
services.AddResponseCompression();
|
||||
services.AddResponseCompression()
|
||||
.AddCors(
|
||||
options =>
|
||||
{
|
||||
options.AddPolicy(name: AllowAllOrigins, corsPolicyBuilder => corsPolicyBuilder.AllowAnyOrigin());
|
||||
|
||||
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
|
||||
})
|
||||
.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
|
||||
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme,
|
||||
options =>
|
||||
{
|
||||
@@ -49,8 +56,6 @@ namespace Jackett.Server
|
||||
options.Cookie.Name = "Jackett";
|
||||
});
|
||||
|
||||
|
||||
|
||||
#if NET461
|
||||
services.AddMvc(
|
||||
config => config.Filters.Add(
|
||||
@@ -141,6 +146,9 @@ namespace Jackett.Server
|
||||
|
||||
app.UseAuthentication();
|
||||
|
||||
if (Helper.ServerConfiguration.AllowCORS)
|
||||
app.UseCors(AllowAllOrigins);
|
||||
|
||||
app.UseMvc();
|
||||
}
|
||||
#else
|
||||
@@ -183,6 +191,9 @@ namespace Jackett.Server
|
||||
|
||||
app.UseRouting();
|
||||
|
||||
if (Helper.ServerConfiguration.AllowCORS)
|
||||
app.UseCors(AllowAllOrigins);
|
||||
|
||||
app.UseEndpoints(endpoints => endpoints.MapControllers());
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user