Add TLS trick config options

This commit is contained in:
problematicconsumer
2023-12-04 17:36:02 +03:30
parent d434467090
commit 5def216b57
13 changed files with 208 additions and 21 deletions

View File

@@ -1,6 +1,7 @@
import 'dart:convert';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:hiddify/core/model/range.dart';
import 'package:hiddify/core/utils/json_converters.dart';
import 'package:hiddify/features/config_option/model/config_option_patch.dart';
import 'package:hiddify/features/log/model/log_level.dart';
@@ -37,6 +38,18 @@ class ConfigOptionEntity with _$ConfigOptionEntity {
@Default(false) bool bypassLan,
@Default(false) bool enableFakeDns,
@Default(true) bool independentDnsCache,
@Default(false) bool enableTlsFragment,
@RangeWithOptionalCeilJsonConverter()
@Default(RangeWithOptionalCeil(min: 10, max: 100))
RangeWithOptionalCeil tlsFragmentSize,
@RangeWithOptionalCeilJsonConverter()
@Default(RangeWithOptionalCeil(min: 50, max: 200))
RangeWithOptionalCeil tlsFragmentSleep,
@Default(false) bool enableTlsMixedSniCase,
@Default(false) bool enableTlsPadding,
@RangeWithOptionalCeilJsonConverter()
@Default(RangeWithOptionalCeil(min: 100, max: 200))
RangeWithOptionalCeil tlsPaddingSize,
}) = _ConfigOptionEntity;
static ConfigOptionEntity initial = ConfigOptionEntity(
@@ -72,6 +85,13 @@ class ConfigOptionEntity with _$ConfigOptionEntity {
bypassLan: patch.bypassLan ?? bypassLan,
enableFakeDns: patch.enableFakeDns ?? enableFakeDns,
independentDnsCache: patch.independentDnsCache ?? independentDnsCache,
enableTlsFragment: patch.enableTlsFragment ?? enableTlsFragment,
tlsFragmentSize: patch.tlsFragmentSize ?? tlsFragmentSize,
tlsFragmentSleep: patch.tlsFragmentSleep ?? tlsFragmentSleep,
enableTlsMixedSniCase:
patch.enableTlsMixedSniCase ?? enableTlsMixedSniCase,
enableTlsPadding: patch.enableTlsPadding ?? enableTlsPadding,
tlsPaddingSize: patch.tlsPaddingSize ?? tlsPaddingSize,
);
}

View File

@@ -1,4 +1,5 @@
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:hiddify/core/model/range.dart';
import 'package:hiddify/core/utils/json_converters.dart';
import 'package:hiddify/features/log/model/log_level.dart';
import 'package:hiddify/singbox/model/singbox_config_enum.dart';
@@ -32,6 +33,14 @@ class ConfigOptionPatch with _$ConfigOptionPatch {
bool? bypassLan,
bool? enableFakeDns,
bool? independentDnsCache,
bool? enableTlsFragment,
@RangeWithOptionalCeilJsonConverter()
RangeWithOptionalCeil? tlsFragmentSize,
@RangeWithOptionalCeilJsonConverter()
RangeWithOptionalCeil? tlsFragmentSleep,
bool? enableTlsMixedSniCase,
bool? enableTlsPadding,
@RangeWithOptionalCeilJsonConverter() RangeWithOptionalCeil? tlsPaddingSize,
}) = _ConfigOptionPatch;
factory ConfigOptionPatch.fromJson(Map<String, dynamic> json) =>