endpoint-sentinel
Version:
User-friendly security scanner with interactive setup that scales from beginner to expert
86 lines • 2.08 kB
TypeScript
/**
* Configuration Management System
* Handles domain-specific configurations for easy scanning setup
*/
import { ScanConfig, AuthScheme } from '../types/scanner.js';
export interface DomainConfig {
domain: string;
name?: string;
authType: AuthScheme;
token?: string;
cookie?: string;
defaultKeywords?: string[];
rateLimit?: number;
customHeaders?: Record<string, string>;
notes?: string;
createdAt: Date;
updatedAt: Date;
}
export interface ConfigStore {
version: string;
configs: Record<string, DomainConfig>;
globalDefaults: Partial<ScanConfig>;
}
export declare class ConfigManager {
private configDir;
private configFile;
private store;
constructor();
/**
* Normalizes URL by adding protocol if missing
*/
private normalizeUrl;
/**
* Get domain from URL
*/
private extractDomain;
/**
* Load existing config store or create new one
*/
private loadOrCreateStore;
/**
* Save config store to disk
*/
private saveStore;
/**
* Validate domain config
*/
private validateDomainConfig;
/**
* Check if config exists for domain
*/
hasConfig(url: string): boolean;
/**
* Get config for domain
*/
getConfig(url: string): DomainConfig | null;
/**
* Save config for domain
*/
saveConfig(url: string, config: Partial<DomainConfig>): DomainConfig;
/**
* Delete config for domain
*/
deleteConfig(url: string): boolean;
/**
* List all saved configs
*/
listConfigs(): DomainConfig[];
/**
* Convert domain config to scan config
*/
buildScanConfig(url: string, overrides?: Partial<ScanConfig>): ScanConfig;
/**
* Update global defaults
*/
updateGlobalDefaults(defaults: Partial<ScanConfig>): void;
/**
* Get config file path for manual editing
*/
getConfigPath(): string;
/**
* Reset all configurations
*/
reset(): void;
}
//# sourceMappingURL=config-manager.d.ts.map