From 2dc782bebe5910e585bc705d0f25217d81870f5b Mon Sep 17 00:00:00 2001 From: Radek Davidek Date: Wed, 4 Mar 2026 14:25:53 +0100 Subject: [PATCH] fix1 --- .../xtreamplayer/XtreamPlayerApplication.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/cz/kamma/xtreamplayer/XtreamPlayerApplication.java b/src/main/java/cz/kamma/xtreamplayer/XtreamPlayerApplication.java index 06fe24a..6310bd3 100644 --- a/src/main/java/cz/kamma/xtreamplayer/XtreamPlayerApplication.java +++ b/src/main/java/cz/kamma/xtreamplayer/XtreamPlayerApplication.java @@ -13,6 +13,8 @@ import java.net.InetSocketAddress; import java.net.URI; import java.net.URLDecoder; import java.net.URLEncoder; +import java.net.CookieManager; +import java.net.CookiePolicy; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; @@ -41,9 +43,11 @@ public final class XtreamPlayerApplication { private static final String DEFAULT_BROWSER_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"; + private static final CookieManager COOKIE_MANAGER = new CookieManager(null, CookiePolicy.ACCEPT_ALL); private static final HttpClient HTTP_CLIENT = HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(20)) .followRedirects(HttpClient.Redirect.NORMAL) + .cookieHandler(COOKIE_MANAGER) .version(HttpClient.Version.HTTP_1_1) .build(); @@ -253,12 +257,19 @@ public final class XtreamPlayerApplication { )); copyRequestHeaderIfPresent(exchange, requestBuilder, "Range"); copyRequestHeaderIfPresent(exchange, requestBuilder, "If-Range"); - copyRequestHeaderIfPresent(exchange, requestBuilder, "Referer"); - copyRequestHeaderIfPresent(exchange, requestBuilder, "Origin"); HttpRequest request = requestBuilder.build(); HttpResponse response = HTTP_CLIENT.send(request, HttpResponse.BodyHandlers.ofByteArray()); String contentType = response.headers().firstValue("Content-Type").orElse("application/octet-stream"); byte[] body = response.body() == null ? new byte[0] : response.body(); + if (response.statusCode() >= 400) { + LOGGER.warn( + "Stream proxy upstream returned status={} uri={} bytes={} contentType={}", + response.statusCode(), + maskUri(target), + body.length, + contentType + ); + } if (isHlsPlaylist(target, contentType)) { String rewritten = rewritePlaylistForProxy(target, body);