Fix issue with Jellyfin using local IP adress not server public URL, now pulic URL is set in plugin.
This commit is contained in:
@@ -403,6 +403,19 @@ public class StreamProxyService : IDisposable
|
||||
var baseUri = new Uri(originalBaseUrl);
|
||||
var baseUrl = $"{baseUri.Scheme}://{baseUri.Host}{string.Join('/', baseUri.AbsolutePath.Split('/')[..^1])}";
|
||||
|
||||
// Extract itemId query parameter from proxyBaseUrl to propagate it
|
||||
var itemIdParam = string.Empty;
|
||||
var queryMarker = "?itemId=";
|
||||
if (proxyBaseUrl.Contains(queryMarker, StringComparison.Ordinal))
|
||||
{
|
||||
var queryStart = proxyBaseUrl.IndexOf(queryMarker, StringComparison.Ordinal);
|
||||
if (queryStart >= 0)
|
||||
{
|
||||
itemIdParam = proxyBaseUrl[queryStart..];
|
||||
proxyBaseUrl = proxyBaseUrl[..queryStart]; // Remove query from base URL
|
||||
}
|
||||
}
|
||||
|
||||
// Pattern to match .m3u8 and .ts/.mp4 segment references
|
||||
var pattern = @"(?:^|\n)([^#\n][^\n]*\.(?:m3u8|ts|mp4|m4s|aac)[^\n]*)";
|
||||
|
||||
@@ -416,11 +429,11 @@ public class StreamProxyService : IDisposable
|
||||
{
|
||||
// Rewrite absolute URLs to proxy
|
||||
var relativePath = url.Replace(baseUrl + "/", string.Empty, StringComparison.Ordinal);
|
||||
return $"\n{proxyBaseUrl}/{relativePath}";
|
||||
return $"\n{proxyBaseUrl}/{relativePath}{itemIdParam}";
|
||||
}
|
||||
|
||||
// Relative URL - rewrite to proxy
|
||||
return $"\n{proxyBaseUrl}/{url}";
|
||||
return $"\n{proxyBaseUrl}/{url}{itemIdParam}";
|
||||
});
|
||||
|
||||
return rewritten;
|
||||
|
||||
Reference in New Issue
Block a user