@@ -46,6 +46,8 @@ export interface FrpProcessManagerOptions {
4646 workDir ?: string
4747 /** Path to config file (overrides default) */
4848 configPath ?: string
49+ /** Config directory for preset configs (overrides workDir/config) */
50+ configDir ?: string
4951 /** FRP version (defaults to latest) */
5052 version ?: string
5153 /** Mode: client or server */
@@ -85,6 +87,7 @@ export class FrpProcessManager extends EventEmitter {
8587 private readonly specifiedVersion ?: string
8688 private readonly logger : RuntimeLogger
8789 private readonly configPath : string
90+ private readonly configDir : string
8891
8992 // Component instances
9093 private readonly processController : ProcessController
@@ -105,6 +108,7 @@ export class FrpProcessManager extends EventEmitter {
105108 this . specifiedVersion = options . version
106109 this . workDir = options . workDir || join ( homedir ( ) , '.frp-bridge' )
107110 this . configPath = options . configPath || join ( this . workDir , `frp${ this . mode === 'client' ? 'c' : 's' } .toml` )
111+ this . configDir = options . configDir || join ( this . workDir , 'config' )
108112 this . logger = options . logger ?? consola . withTag ( 'FrpProcessManager' )
109113
110114 // Initialize components
@@ -117,6 +121,7 @@ export class FrpProcessManager extends EventEmitter {
117121 } )
118122 this . presetConfigManager = new PresetConfigManager ( {
119123 workDir : this . workDir ,
124+ configDir : this . configDir ,
120125 logger : this . logger
121126 } )
122127
@@ -378,7 +383,7 @@ export class FrpProcessManager extends EventEmitter {
378383 }
379384
380385 // 3. 使用 saveFrpConfigFile 生成配置文件
381- saveFrpConfigFile ( this . configPath , tunnels , presetConfig , type )
386+ saveFrpConfigFile ( this . configPath , tunnels , presetConfig , type , this . logger )
382387
383388 this . logger . info ( `Generated FRP config: ${ this . configPath } ` )
384389 }
0 commit comments