2025-02-18 17:52:09 +08:00
|
|
|
type LogConfig = {
|
|
|
|
to: string;
|
|
|
|
level: string;
|
|
|
|
maxDays: number;
|
|
|
|
disablePrintColor: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
type AuthConfig = {
|
|
|
|
method: string;
|
|
|
|
token: string;
|
|
|
|
};
|
|
|
|
|
|
|
|
type WebServerConfig = {
|
|
|
|
addr: string;
|
|
|
|
port: number;
|
|
|
|
user: string;
|
|
|
|
password: string;
|
|
|
|
pprofEnable: boolean;
|
|
|
|
};
|
|
|
|
|
2025-02-21 18:30:13 +08:00
|
|
|
type TransportTlsConfig = {
|
|
|
|
enable: boolean;
|
|
|
|
certFile: string;
|
|
|
|
keyFile: string;
|
|
|
|
trustedCaFile: string;
|
|
|
|
serverName: string;
|
|
|
|
disableCustomTLSFirstByte: boolean;
|
|
|
|
};
|
|
|
|
|
2025-02-18 17:52:09 +08:00
|
|
|
type TransportConfig = {
|
2025-02-21 18:30:13 +08:00
|
|
|
dialServerTimeout: number;
|
|
|
|
dialServerKeepalive: number;
|
2025-02-18 17:52:09 +08:00
|
|
|
poolCount: number;
|
2025-02-21 18:30:13 +08:00
|
|
|
tcpMux: boolean;
|
|
|
|
tcpMuxKeepaliveInterval: number;
|
2025-02-18 17:52:09 +08:00
|
|
|
protocol: string;
|
|
|
|
connectServerLocalIP: string;
|
2025-02-21 18:30:13 +08:00
|
|
|
proxyURL: string;
|
|
|
|
tls: TransportTlsConfig;
|
|
|
|
heartbeatInterval: number;
|
|
|
|
heartbeatTimeout: number;
|
2025-02-18 17:52:09 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
interface FrpcCommonConfig {
|
|
|
|
user: string;
|
|
|
|
serverAddr: string;
|
|
|
|
serverPort: number;
|
|
|
|
loginFailExit: boolean;
|
|
|
|
log: LogConfig;
|
|
|
|
auth: AuthConfig;
|
|
|
|
webServer: WebServerConfig;
|
|
|
|
transport: TransportConfig;
|
|
|
|
udpPacketSize: number;
|
2025-02-21 18:30:13 +08:00
|
|
|
metadatas: Record<string, any>;
|
2025-02-18 17:52:09 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
interface FrpcProxyConfig {
|
|
|
|
name: string;
|
|
|
|
type: string;
|
|
|
|
localIP: string;
|
|
|
|
localPort: number;
|
|
|
|
remotePort: number;
|
|
|
|
}
|