Major Features: - Integrated osquery for comprehensive system information gathering - Added OsqueryService for executing SQL queries against system tables - Implemented Osquery Console tab for interactive SQL queries System Info Improvements: - Enhanced system info collection using osquery tables - Added support for multiple GPU detection - Improved memory detection with proper GB formatting - Fixed OS Architecture detection (x64/x86) - Better network interface detection (IPv4 only) - Human-readable timestamp formatting UI/UX Enhancements: - Added window resizing with corner drag support - Implemented dynamic window sizing (SizeToContent) - Added ScrollViewer for content overflow - Improved IP address formatting with bullet points - Added field labels to all system info displays - Set minimum/maximum window size constraints Bug Fixes: - Fixed XAML StackPanel Spacing property issue - Merged duplicate MainWindow constructors - Fixed non-nullable field warnings - Fixed EventHandler nullability signatures - Removed redundant hostname/OS name fields - Fixed GPU registry query to detect all GPUs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
40 lines
1.5 KiB
C#
40 lines
1.5 KiB
C#
#nullable disable
|
|
using System;
|
|
using System.IO;
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
namespace LD_SysInfo
|
|
{
|
|
public class AppConfig
|
|
{
|
|
[JsonProperty("ServerUrl")] public string ServerUrl { get; set; } = "https://yourserver.com/api/status";
|
|
[JsonProperty("EnableLogging")] public bool EnableLogging { get; set; } = true;
|
|
[JsonProperty("KeepAlivePeriod")] public int KeepAlivePeriod { get; set; } = 30;
|
|
[JsonProperty("SystemInfoInterval")] public int SystemInfoInterval { get; set; } = 60;
|
|
[JsonProperty("ClientIdentifier")] public string ClientIdentifier { get; set; } = "your-default-client-id";
|
|
[JsonProperty("Auth")] public AuthConfig Auth { get; set; } = new();
|
|
}
|
|
|
|
public class AuthConfig
|
|
{
|
|
[JsonProperty("Username")] public string Username { get; set; } = "testuser";
|
|
[JsonProperty("Password")] public string Password { get; set; } = "testpassword";
|
|
}
|
|
|
|
public static class ConfigManager
|
|
{
|
|
private static readonly string ConfigPath = Path.Combine(AppContext.BaseDirectory, "config.json");
|
|
|
|
public static AppConfig LoadConfig(string? pathOverride = null)
|
|
{
|
|
string path = pathOverride ?? ConfigPath;
|
|
if (!File.Exists(path))
|
|
throw new FileNotFoundException($"Config file not found at {path}");
|
|
|
|
string json = File.ReadAllText(path);
|
|
return JsonConvert.DeserializeObject<AppConfig>(json) ?? new AppConfig();
|
|
}
|
|
}
|
|
}
|