From b4cd21da412a15b039553b5b4c00856174b0a64c Mon Sep 17 00:00:00 2001 From: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com> Date: Thu, 16 Apr 2026 21:45:52 -0500 Subject: [PATCH] Didn't work but I'm half convinced cookie containers never fucking work in .NET anyway so trying the shitty Rainbet hack since that at least was good enough to establish the WebSocket --- KfChatDotNetBot/Services/Winna.cs | 27 ++++----------------------- KfChatDotNetBot/Settings/BuiltIn.cs | 2 ++ 2 files changed, 6 insertions(+), 23 deletions(-) diff --git a/KfChatDotNetBot/Services/Winna.cs b/KfChatDotNetBot/Services/Winna.cs index 6896b80..92c5752 100644 --- a/KfChatDotNetBot/Services/Winna.cs +++ b/KfChatDotNetBot/Services/Winna.cs @@ -2,6 +2,7 @@ using System.Net; using System.Net.WebSockets; using System.Text.Json; using KfChatDotNetBot.Models; +using KfChatDotNetBot.Settings; using NLog; using Websocket.Client; @@ -19,7 +20,6 @@ public class Winna : IDisposable public event OnWinnaBetEventHandler? OnWinnaBet; public event OnWsDisconnectionEventHandler? OnWsDisconnection; private string? _userAgent; - private CookieContainer _cookieContainer = new(); public Winna(string? proxy = null) { @@ -33,35 +33,16 @@ 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 cookies = + (await SettingsProvider.GetValueAsync(BuiltIn.Keys.WinnaCookies)).JsonDeserialize>(); 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; + clientWs.Options.SetRequestHeader("Cookie", string.Join("; ", cookies!)); if (_proxy == null) return clientWs; _logger.Debug($"Using proxy address {_proxy}"); clientWs.Options.Proxy = new WebProxy(_proxy); diff --git a/KfChatDotNetBot/Settings/BuiltIn.cs b/KfChatDotNetBot/Settings/BuiltIn.cs index d31fd27..69dad57 100644 --- a/KfChatDotNetBot/Settings/BuiltIn.cs +++ b/KfChatDotNetBot/Settings/BuiltIn.cs @@ -584,6 +584,8 @@ public static class BuiltIn public static string WinnaEnabled = "Winna.Enabled"; [BuiltInSetting("BossmanJack's Winna username", SettingValueType.Text, "ImBossmanJack")] public static string WinnaBmjUsername = "Winna.BmjUsername"; + [BuiltInSetting("Array of cookies as a shitty hack to get Winna going", SettingValueType.Array, "[]")] + public static string WinnaCookies = "Winna.Cookies"; } }