Release v1.2.0: Integrate osquery for enhanced system information
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>
This commit is contained in:
39
LD-SysInfo/Config.cs
Normal file
39
LD-SysInfo/Config.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
#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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user