123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- //GLOBAL
- enum ModeType {
- rule,
- global,
- direct,
- }
- enum LogLevel {
- silent,
- error,
- warning,
- info,
- debug,
- }
- enum ProcessMode {
- always,
- strict,
- off
- }
- enum Fingerprint{
- chrome,
- firefox,
- safari,
- iOS,
- android,
- edge,
- random
- }
- class BasicConfig {
- final int mixedPort;
- final bool allowLan;
- final String bindAddress;
- final String mode;
- final String logLevel;
- final String externalController;
- final bool unifiedDelay;
- final bool geodataMode;
- final bool tcpConcurrent;
- final String findProcessMode;
- final String globalClientFingerprint;
- BasicConfig({
- required this.mixedPort,
- required this.allowLan,
- required this.bindAddress,
- required this.mode,
- required this.logLevel,
- required this.externalController,
- required this.unifiedDelay,
- required this.geodataMode,
- required this.tcpConcurrent,
- required this.findProcessMode,
- required this.globalClientFingerprint,
- });
- // 可以添加一个方法来从Map或JSON解析创建BasicConfig实例
- factory BasicConfig.fromMap(Map<String, dynamic> map) {
- return BasicConfig(
- mixedPort: map['mixed-port'],
- allowLan: map['allow-lan'],
- bindAddress: map['bind-address'],
- mode: map['mode'],
- logLevel: map['log-level'],
- externalController: map['external-controller'],
- unifiedDelay: map['unified-delay'],
- geodataMode: map['geodata-mode'],
- tcpConcurrent: map['tcp-concurrent'],
- findProcessMode: map['find-process-mode'],
- globalClientFingerprint: map['global-client-fingerprint'],
- );
- }
- Map<String, dynamic> toJson() {
- return {
- 'mixed-port': mixedPort,
- 'allow-lan': allowLan,
- 'bind-address': bindAddress,
- 'mode': mode,
- 'log-level': logLevel,
- 'external-controller': externalController,
- 'unified-delay': unifiedDelay,
- 'geodata-mode': geodataMode,
- 'tcp-concurrent': tcpConcurrent,
- 'find-process-mode': findProcessMode,
- 'global-client-fingerprint': globalClientFingerprint,
- };
- }
- String toYaml() {
- return '''
- mixed-port: $mixedPort
- allow-lan: $allowLan
- bind-address: '$bindAddress'
- mode: $mode
- log-level: $logLevel
- external-controller: '$externalController'
- unified-delay: $unifiedDelay
- geodata-mode: $geodataMode
- tcp-concurrent: $tcpConcurrent
- find-process-mode: $findProcessMode
- global-client-fingerprint: $globalClientFingerprint
- ''';
- }
- }
|