using Newtonsoft.Json; using Shared; using Shared.Engine; using Newtonsoft.Json.Linq; using Shared.Models.Online.Settings; using Shared.Models.Module; namespace Uaflix { public class ModInit { public static double Version => 3.1; public static OnlinesSettings UaFlix; public static bool ApnHostProvided; public static OnlinesSettings Settings { get => UaFlix; set => UaFlix = value; } /// /// модуль загружен /// public static void loaded(InitspaceModel initspace) { UpdateService.Start(initspace.memoryCache, initspace.nws); UaFlix = new OnlinesSettings("Uaflix", "https://uafix.net", streamproxy: false, useproxy: false) { displayname = "UaFlix", group = 0, group_hide = false, globalnameproxy = null, displayindex = 0, proxy = new Shared.Models.Base.ProxySettings() { useAuth = true, username = "a", password = "a", list = new string[] { "socks5://IP:PORT" } }, // Note: OnlinesSettings не має властивості additional, використовуємо інший підхід }; var conf = ModuleInvoke.Conf("Uaflix", UaFlix); bool hasApn = ApnHelper.TryGetInitConf(conf, out bool apnEnabled, out string apnHost); conf.Remove("apn"); conf.Remove("apn_host"); UaFlix = conf.ToObject(); if (hasApn) ApnHelper.ApplyInitConf(apnEnabled, apnHost, UaFlix); ApnHostProvided = hasApn && apnEnabled && !string.IsNullOrWhiteSpace(apnHost); if (hasApn && apnEnabled) { UaFlix.streamproxy = false; } else if (UaFlix.streamproxy) { UaFlix.apnstream = false; UaFlix.apn = null; } // Виводити "уточнити пошук" AppInit.conf.online.with_search.Add("uaflix"); } } }