1.9 KiB
1.9 KiB
LagZero API Documentation
IPC Interfaces
The LagZero backend exposes several IPC interfaces for the frontend to interact with the core system.
Categories API (window.categories)
getAll(): Promise<Category[]>- Returns all configured categories.
save(category: Category): Promise<Category[]>- Creates or updates a category.
delete(id: string): Promise<Category[]>- Deletes a category by ID.
match(name: string, processes: string[]): Promise<string | null>- Attempts to auto-classify a game based on its name and process list using configured rules.
Profiles API (window.profiles)
getAll(): Promise<ConfigProfile[]>- Returns all configuration profiles.
save(profile: ConfigProfile): Promise<ConfigProfile[]>- Creates or updates a configuration profile.
delete(id: string): Promise<ConfigProfile[]>- Deletes a profile by ID.
Proxy Monitor API (window.proxyMonitor)
start(gameId: string, processNames: string[]): Promise- Starts the intelligent proxy monitor for a specific game.
- Enables chain proxy detection (child process monitoring).
stop(): Promise- Stops the current monitoring session.
System API (window.system)
scanProcesses(): Promise<string[]>- Returns a list of currently running process names.
getProcessTree(): Promise<ProcessInfo[]>- Returns the full process tree (Windows only).
Data Models
Category
interface Category {
id: string;
name: string;
parentId?: string;
rules?: string[]; // Regex patterns for auto-classification
icon?: string;
order?: number;
}
ConfigProfile
interface ConfigProfile {
id: string;
name: string;
description?: string;
rules: ConfigRule[];
chainProxy: boolean;
}
interface ConfigRule {
type: 'process' | 'domain' | 'ip';
value: string[];
outbound: 'proxy' | 'direct' | 'block';
}