public bool Run(string line) { if (line.ToLower() != ".clear") { return(false); } var windowManager = DozeObject.FindObjectOfType <WindowsObject>(); if (windowManager != null) { windowManager.ExecuteCode <ConsoleContent>("control-general:console_status", (console) => { console.ConsoleTextBox.Clear(); }); Message = ""; return(true); } else { Message = "Window manager not available for getting console object"; return(false); } }
public void ImmediateWrite(object what, JournalingLevel level) { var journal = DozeObject.FindObjectOfType <JournalObject>(); if (journal == null) { throw new NullReferenceException($"Journal object can't be null for ImmediateWrite from TxtJournalProvider!"); } var settings = journal.GetSettingsContainer(); if (settings == null) { throw new NullReferenceException($"Journal object settings can't be null for ImmediateWrite from TxtJournalProvider!"); } if (!Directory.Exists(settings.Dir)) { Directory.CreateDirectory(settings.Dir); } var file = settings.Dir + "\\" + settings.FileNameAssociates[(int)level] + $".{settings.FilesExtension}"; if (!File.Exists(file)) { File.Create(file).Close(); } using FileStream fs = new FileStream(file, FileMode.OpenOrCreate); var bytes = Encoding.UTF8.GetBytes(what.ToString()); fs.Write(bytes, 0, bytes.Length); }
public DozePlugin(string name, Version version, string description) { PluginName = name; PluginVersion = version; PluginDescription = description; PluginManager = DozeObject.FindObjectOfType <PluginsObject>(); }
private void SetState(WindowVisualState state) { if (WindowManager == null) { WindowManager = DozeObject.FindObjectOfType <WindowsObject>(); } WindowManager.SetState("window-general:login", state); }
private async void ShutdownServerButton_Click(object sender, EventArgs e) { var visualObjectManager = DozeObject.FindObjectOfType <WindowsObject>(); visualObjectManager.SetState("control-general:network_status", WindowVisualState.Loading); await Task.Run(() => Network.Shutdown()); visualObjectManager.SetState("control-general:network_status", WindowVisualState.Visible); }
public void Load() { ParentSettings = DozeObject.FindObjectOfType <ExternalSettingsObject>(); FilePath = Path.Combine("settings", "database.env"); if (!File.Exists(GetPath())) { Default(); } PlaceholderObject = ParentSettings.Open(GetPath()); }
static void Main() { DozeClientApplication.Run(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var wo = DozeObject.FindObjectOfType <WindowsObject>(); var obj = wo.CacheOrGetOriginalObject(new Login(), "window-general:login"); wo.SetState("window-general:login", WindowVisualState.Loading); Application.Run(obj); }
public void OnNext(BaseData value) { var network = DozeObject.FindObjectOfType <NetworkObject>(); var rec = value.As <TcpNetworkData>(); if (rec.PacketContent.Identifier == (int)Packets.GuardRequest) { var packet = rec.PacketContent.Convert <GuardRequest>(); var db = DozeObject.FindObjectOfType <DatabaseObject>(); if (db == null) { } } }
public bool Run(string line) { if (line.ToLower() != ".help") { return(false); } var allCommands = DozeObject.FindObjectOfType <TerminalObject>().GetCommands(); foreach (var command in allCommands) { Message += $"Command: {command.Name}. Description: {command.Description}. Syntax: {command.GetHelp()}" + Environment.NewLine; } return(true); }
public void OnNext(BaseData value) { var log = DozeObject.FindObjectOfType <NetworkObject>().GetLog(); if (log != null) { var conn = value.As <TcpConnection>(); if (conn.IsConnected) { log.WriteLine($"Actor '{conn.Identifier}' connected", LogLevel.Info); } else { log.WriteLine($"Actor '{conn.Identifier}' disconnected", LogLevel.Info); } } }
public void OnNext(BaseData value) { var conn = value.As <TcpConnection>(); if (!conn.IsConnected) { var windowManager = DozeObject.FindObjectOfType <WindowsObject>(); if (windowManager != null) { windowManager.SetState(WindowVisualState.Loading); } else { Environment.Exit(0); } } }
private static LargeInteger GetExpirationTicks() { var subObject = DozeObject.FindObjectOfType <SubscriptionObject>(); if (subObject != null) { var productId = /* ex. pubg lite */ 1; var testExpirationTime = /* ex. min valu as expiration time */ DateTime.MinValue; var timeController = subObject.GetComponent <TimeControllerComponent>(); if (timeController != null) { timeController.AddExpiration(productId, testExpirationTime); return(LargeInteger.FromFileTime(timeController.ToFileTime(productId))); } } return(LargeInteger.Zero); }
public void OnVisible() { if (!Initialized) { Network = DozeObject.FindObjectOfType <NetworkObject>(); Initialized = true; } var service = Network.GetService(); if (service == null || !service.IsRunned()) { MaxConnectionsInfoLabel.Text = "not listen"; MaxConnectionsInfoProgress.Value = 0; RunServerButton.Enabled = true; ShutdownServerButton.Enabled = false; RestartServerButton.Enabled = false; ServerSettingsInfoButton.Enabled = false; NetworkWorkIndicator.Visible = false; } else { var maxConnections = Network.MaxConnections; var connections = service.GetConnections(); var currentConnections = connections.Count; MaxConnectionsInfoProgress.Maximum = maxConnections; MaxConnectionsInfoLabel.Text = $"{currentConnections} / {maxConnections}"; MaxConnectionsInfoProgress.Value = currentConnections; RunServerButton.Enabled = !service.IsRunned(); ShutdownServerButton.Enabled = service.IsRunned(); RestartServerButton.Enabled = service.IsRunned(); ServerSettingsInfoButton.Enabled = true; NetworkWorkIndicator.Visible = false; DllConnectionsCombo.Items.Clear(); LoaderConnectionsCombo.Items.Clear(); SuiteConnectionsCombo.Items.Clear(); } }
private void ServerSettingsInformationWindow_Load(object sender, EventArgs e) { var network = DozeObject.FindObjectOfType <NetworkObject>(); if (network != null) { var settings = network.GetSettings(); if (settings != null) { AddressInfoLabel.Text = $"Address: {network.Address}"; PortInfoLabel.Text = $"Port: {network.Port}"; var enabledSecurity = settings.Read <bool>("enable", "security") ? "RSA (two factored)" : "None"; SecurityEnabledInfoLabel.Text = $"Crypto: {enabledSecurity}"; MaxConnectionsInfoLabel.Text = $"Max connections: {network.MaxConnections}"; KeySizeInfoLabel.Text = $"Protocol: {settings.Read<string>("protocol", "security")}"; } } }
public void OnNext(BaseData value) { var network = DozeObject.FindObjectOfType <NetworkObject>(); var rec = value.As <TcpNetworkData>(); if (rec.PacketContent.Identifier == (int)Packets.GetSubscriptionsRequest) { var packet = rec.PacketContent.Convert <GetSubscriptionsRequest>(); if (packet != null) { bool result = false; string message = ""; List <Subscription> availableSubscriptions = new List <Subscription>(); var db = DozeObject.FindObjectOfType <DatabaseObject>(); if (db != null) { using (var ctx = db.CreateContext()) { var accessor = ctx.GetAccesorOfType <UserSubscriptionsAccessor>(); if (accessor != null) { var searchResult = accessor.Where((x) => x.UserId == packet.UserIdentifier).ToList(); if (searchResult.Count > 0) { var userAccessor = ctx.GetAccesorOfType <UserAccessor>(); if (userAccessor != null) { var user = userAccessor.SelectOne((x) => x.Id == packet.UserIdentifier); if (user != null) { foreach (var item in searchResult) { if (item.IsActive & !item.IsLocked) { if (item.ExpiredAt > DateTime.Now) { var productAccessor = ctx.GetAccesorOfType <ProductAccessor>(); if (productAccessor != null) { var product = productAccessor.SelectOne((x) => x.Id == item.ProductId); if (product != null) { availableSubscriptions.Add(new Subscription(product.Id, product.Title, product.Status, product.IsAvailable, item.BoughtAt, item.ExpiredAt)); result = true; } else { result = false; message = $"Error: '{GetSubscriptionsProcessorCode.CannotGetProductFromAccessor}'"; break; } } else { result = false; message = $"Error: '{GetSubscriptionsProcessorCode.CannotGetProductsAccessor}'"; break; } } } } } } else { result = false; message = $"Error: '{GetSubscriptionsProcessorCode.CannotGetUserAccessor}'"; } } else { result = false; message = $"Not active subscriptions"; } } else { result = false; message = $"Error: '{GetSubscriptionsProcessorCode.CannotGetDatabase}'"; } } } else { result = false; message = $"Error: '{GetSubscriptionsProcessorCode.CannotGetDatabase}'"; } network.GetService().Send(new GetSubscriptionsResponse() { Result = result, Message = message, AvailableSubscriptions = availableSubscriptions }, rec.Connection); } } }
public void OnNext(BaseData value) { var network = DozeObject.FindObjectOfType <NetworkObject>(); var rec = value.As <TcpNetworkData>(); if (rec.PacketContent.Identifier == (int)Packets.AuthenticateRequest) { bool result = false; string message = ""; long id = -1; int balance = 0; var authenticateRequest = rec.PacketContent.Convert <AuthenticateRequest>(); var db = DozeObject.FindObjectOfType <DatabaseObject>(); using (var ctx = db.CreateContext()) { var userAccessor = ctx.GetAccesorOfType <UserAccessor>(); if (userAccessor != null) { var currentUserFromDb = userAccessor.SelectOne((x) => x.Email.ToLower() == authenticateRequest.Login.ToLower()); if (currentUserFromDb != null) { result = currentUserFromDb.PasswordHash == authenticateRequest.PasswordHash; if (result) { if (currentUserFromDb.HardwareId != "") { result = currentUserFromDb.HardwareId == authenticateRequest.Hardware; } if (result) { id = currentUserFromDb.Id; balance = currentUserFromDb.Balance; } } else { result = false; message = $"Invalid login or password"; } } else { result = false; message = $"User '{authenticateRequest.Login}' not found in database. Please register"; } } else { result = false; message = $"Server error: '{(int)AuthenticateProcessorResponseCode.UserAccessorUnavailable}'. Please report that error to operator"; } } network.GetService().Send( new AuthenticateResponse() { Result = result, Message = message, UserIdentifier = id, Balance = balance }, rec.Connection); } }
public async void OnLoading() { if (IsLoadingNow) { return; } IsLoadingNow = true; LoginButton.Enabled = false; ShadowPanel.Visible = true; LoginProgressIndicator.Visible = true; CreateAccountLink.Enabled = false; ForgotAccountLink.Enabled = false; if (!IsInitialized && !IsLoginAttempt) { LoadingStatusText.Text = "initializing secure handshake"; WindowManager = DozeObject.FindObjectOfType <WindowsObject>(); LoginCtx = DozeObject.FindObjectOfType <LoginContext>(); if (LoginCtx == null) { LoginCtx = DozeObject.Create <LoginContext>(); } if (await LoginCtx.ConnectAsync()) { DozeObject.FindObjectOfType <WindowsObject>().SetState("window-general:login", WindowVisualState.Visible); } else { LoadingStatusText.Text = "connection timeout"; } } if (IsLoginAttempt) { LoadingStatusText.Text = "request auhtorization"; if (!TryGetTextBoxString(LoginTextBox, out string login, () => { LoginTextBox.Text = ""; LoginTextBox.PlaceholderText = "this field can't be empty!"; PasswordTextBox.Text = ""; SetState(WindowVisualState.Visible); IsLoginAttempt = false; })) { return; } if (!TryGetTextBoxString(PasswordTextBox, out string password, () => { LoginTextBox.Text = ""; PasswordTextBox.PlaceholderText = "this field can't be empty!"; PasswordTextBox.Text = ""; SetState(WindowVisualState.Visible); IsLoginAttempt = false; })) { return; } var loginAttemptResult = await LoginCtx.LoginAttemptAsync(login, password); if (loginAttemptResult.AttemptResult == LoginAttemptResult.Ok) { var cachedWindow = WindowManager.CacheOrGetOriginalObject(new MainWindow(), "window-general:main"); Hide(); cachedWindow.FormClosed += (e, args) => { Close(); }; cachedWindow.Show(); } else { MessageBox.Show(loginAttemptResult.Message, "Authenticate error"); SetState(WindowVisualState.Visible); } IsLoginAttempt = false; } IsLoadingNow = false; }