12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import 'config_imports.dart';
- class AppConfigBuilder {
- BasicConfig? _basicConfig;
- DNSConfig? _dnsConfig;
- TunConfig? _tunConfig;
- List<ProxyConfig>? _proxies;
- List<ProxyGroup>? _proxyGroups;
- List<Rule>? _rules;
- AppConfigBuilder setBasicConfig(BasicConfig basicConfig) {
- _basicConfig = basicConfig;
- return this;
- }
- AppConfigBuilder setDNSConfig(DNSConfig? dnsConfig) {
- _dnsConfig = dnsConfig;
- return this;
- }
- AppConfigBuilder setTunConfig(TunConfig? tunConfig) {
- _tunConfig = tunConfig;
- return this;
- }
- AppConfigBuilder setProxies(List<ProxyConfig>? proxies) {
- _proxies = proxies;
- return this;
- }
- AppConfigBuilder setProxyGroups(List<ProxyGroup>? proxyGroups) {
- _proxyGroups = proxyGroups;
- return this;
- }
- AppConfigBuilder setRules(List<Rule>? rules) {
- _rules = rules;
- return this;
- }
- AppConfig build() {
- // 默认的值或者抛出异常,取决于您的需求
- return AppConfig(
- basicConfig: _basicConfig ?? BasicConfig(mixedPort: 9788,allowLan: false,bindAddress: '*',mode: ModeType.rule.name,logLevel: LogLevel.warning.name,externalController: '127.0.0.1:9799',unifiedDelay: false,geodataMode: true,tcpConcurrent: true,findProcessMode: ProcessMode.strict.name,globalClientFingerprint: Fingerprint.chrome.name),
- dnsConfig: _dnsConfig,
- tunConfig: _tunConfig,
- proxies: _proxies ?? [],
- proxyGroups: _proxyGroups ?? [],
- rules: _rules ?? [],
- );
- }
- }
|