diff --git a/M3U8Proxy/Controllers/M3U8.cs b/M3U8Proxy/Controllers/M3U8.cs index d5f0979..c66e1ca 100644 --- a/M3U8Proxy/Controllers/M3U8.cs +++ b/M3U8Proxy/Controllers/M3U8.cs @@ -31,7 +31,7 @@ public Proxy(IConfiguration configuration) [HttpGet] [Route("m3u8/{url}/{headers?}/{type?}")] public async Task GetM3U8(string url, string? headers = "{}", - [FromQuery] string? forcedHeadersProxy = "{}") + [FromQuery] string? forcedHeadersProxy = "{}",[FromQuery] bool? file=true) { try @@ -59,9 +59,14 @@ public async Task GetM3U8(string url, string? headers = "{}", var suffix = headersString + forcedHeadersString; if (suffix != "") suffix = "/" + suffix; var finalContent = M3U8Paser.FixAllUrls(lines, url, isPlaylistM3U8 ? _m3U8Url : _proxyUrl, suffix); - - return File(Encoding.UTF8.GetBytes(finalContent), "application/vnd.apple.mpegurl", - $"{GenerateRandomId(10)}.m3u8"); + if(file == true) + { + return File(Encoding.UTF8.GetBytes(finalContent), "application/vnd.apple.mpegurl", + $"{GenerateRandomId(10)}.m3u8"); + } + HttpContext.Response.Headers.Add("Content-Type","application/vnd.apple.mpegurl"); + HttpContext.Response.Headers.Add("Content-Length",finalContent.length); + return Ok(finalContent); } catch (Exception e) { @@ -96,4 +101,4 @@ public static string GenerateRandomId(int length) return new string(Enumerable.Repeat(chars, length) .Select(s => s[random.Next(s.Length)]).ToArray()); } -} \ No newline at end of file +}