From 1a49fe1976c455f933962febb623f75da67e0b0a Mon Sep 17 00:00:00 2001 From: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com> Date: Thu, 16 Apr 2026 21:10:45 -0500 Subject: [PATCH] prayge this is good enough to deal with the Cloudflare problems --- KfChatDotNetBot/Services/Winna.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/KfChatDotNetBot/Services/Winna.cs b/KfChatDotNetBot/Services/Winna.cs index 4836c82..6896b80 100644 --- a/KfChatDotNetBot/Services/Winna.cs +++ b/KfChatDotNetBot/Services/Winna.cs @@ -19,6 +19,7 @@ public class Winna : IDisposable public event OnWinnaBetEventHandler? OnWinnaBet; public event OnWsDisconnectionEventHandler? OnWsDisconnection; private string? _userAgent; + private CookieContainer _cookieContainer = new(); public Winna(string? proxy = null) { @@ -32,13 +33,35 @@ public class Winna : IDisposable await CreateWsClient(); } + public async Task PopulateCookieContainer() + { + var handler = new HttpClientHandler + { + AutomaticDecompression = DecompressionMethods.All, + CookieContainer = _cookieContainer, + UseCookies = true + }; + if (_proxy != null) + { + handler.UseProxy = true; + handler.Proxy = new WebProxy(_proxy); + } + + using var client = new HttpClient(handler); + var response = + await client.GetAsync("https://games-content-prod.winna.com/public/v1/feeds?type=allBets&perPage=6"); + _ = await response.Content.ReadAsStringAsync(); + } + private async Task CreateWsClient() { + await PopulateCookieContainer(); var factory = new Func(() => { var clientWs = new ClientWebSocket(); clientWs.Options.SetRequestHeader("Origin", "https://winna.com"); clientWs.Options.SetRequestHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0"); + clientWs.Options.Cookies = _cookieContainer; if (_proxy == null) return clientWs; _logger.Debug($"Using proxy address {_proxy}"); clientWs.Options.Proxy = new WebProxy(_proxy);