mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
x-forwarded-for headers
This commit is contained in:
@@ -146,6 +146,17 @@ public class JellyfinProxyService
|
|||||||
{
|
{
|
||||||
using var request = new HttpRequestMessage(HttpMethod.Get, url);
|
using var request = new HttpRequestMessage(HttpMethod.Get, url);
|
||||||
|
|
||||||
|
// Forward client IP address to Jellyfin so it can identify the real client
|
||||||
|
if (_httpContextAccessor.HttpContext != null)
|
||||||
|
{
|
||||||
|
var clientIp = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress?.ToString();
|
||||||
|
if (!string.IsNullOrEmpty(clientIp))
|
||||||
|
{
|
||||||
|
request.Headers.TryAddWithoutValidation("X-Forwarded-For", clientIp);
|
||||||
|
request.Headers.TryAddWithoutValidation("X-Real-IP", clientIp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool authHeaderAdded = false;
|
bool authHeaderAdded = false;
|
||||||
|
|
||||||
// Check if this is a browser request for static assets (favicon, etc.)
|
// Check if this is a browser request for static assets (favicon, etc.)
|
||||||
@@ -262,6 +273,17 @@ public class JellyfinProxyService
|
|||||||
|
|
||||||
using var request = new HttpRequestMessage(HttpMethod.Post, url);
|
using var request = new HttpRequestMessage(HttpMethod.Post, url);
|
||||||
|
|
||||||
|
// Forward client IP address to Jellyfin so it can identify the real client
|
||||||
|
if (_httpContextAccessor.HttpContext != null)
|
||||||
|
{
|
||||||
|
var clientIp = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress?.ToString();
|
||||||
|
if (!string.IsNullOrEmpty(clientIp))
|
||||||
|
{
|
||||||
|
request.Headers.TryAddWithoutValidation("X-Forwarded-For", clientIp);
|
||||||
|
request.Headers.TryAddWithoutValidation("X-Real-IP", clientIp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Handle special case for playback endpoints - Jellyfin expects wrapped body
|
// Handle special case for playback endpoints - Jellyfin expects wrapped body
|
||||||
var bodyToSend = body;
|
var bodyToSend = body;
|
||||||
if (!string.IsNullOrWhiteSpace(body))
|
if (!string.IsNullOrWhiteSpace(body))
|
||||||
@@ -424,6 +446,17 @@ public class JellyfinProxyService
|
|||||||
|
|
||||||
using var request = new HttpRequestMessage(HttpMethod.Delete, url);
|
using var request = new HttpRequestMessage(HttpMethod.Delete, url);
|
||||||
|
|
||||||
|
// Forward client IP address to Jellyfin so it can identify the real client
|
||||||
|
if (_httpContextAccessor.HttpContext != null)
|
||||||
|
{
|
||||||
|
var clientIp = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress?.ToString();
|
||||||
|
if (!string.IsNullOrEmpty(clientIp))
|
||||||
|
{
|
||||||
|
request.Headers.TryAddWithoutValidation("X-Forwarded-For", clientIp);
|
||||||
|
request.Headers.TryAddWithoutValidation("X-Real-IP", clientIp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool authHeaderAdded = false;
|
bool authHeaderAdded = false;
|
||||||
|
|
||||||
// Forward authentication headers from client (case-insensitive)
|
// Forward authentication headers from client (case-insensitive)
|
||||||
|
|||||||
Reference in New Issue
Block a user