using System; using System.Threading; using LinqToDB.Data; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using RTMPDash.DataModels; namespace RTMPDash { public class Program { public const string SiteName = "chaos.stream"; public const string IngressDomain = "rtmp://chaos.stream"; public const string RootDomain = "https://chaos.stream"; public const string PlayerDomain = "https://live.on.chaos.stream"; public const string FragmentDomain = "https://cdn.chaos.stream"; public const string StatsDomain = "https://stats.chaos.stream"; public const string PrivacyEmail = "chaosstream-privacy@zotan.email"; public const string CopyrightEmail = "chaosstream-copyright@zotan.email"; public const string AbuseEmail = "chaosstream-abuse@zotan.email"; public const string ServiceAnnouncementUrl = "https://t.me/chaosstream"; public const string ServiceStatusUrl = "https://status.chaos.stream"; public const string ContactInfo = "Telegram, Threema, or via email."; public static void Main(string[] args) { DataConnection.DefaultSettings = new AppDb.Settings(); ThreadPool.SetMinThreads(100, 100); CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); } public static class TimeExtensions { public static TimeSpan StripMilliseconds(this TimeSpan time) => new(time.Days, time.Hours, time.Minutes, time.Seconds); } }