From c499693ddcb8e8992fc29c57093fe48e164cea5a Mon Sep 17 00:00:00 2001 From: problematicconsumer Date: Sun, 3 Dec 2023 21:57:12 +0330 Subject: [PATCH] Add fragment options --- shared/config.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/shared/config.go b/shared/config.go index d8f6b8a..ebafe3f 100644 --- a/shared/config.go +++ b/shared/config.go @@ -44,10 +44,12 @@ type ConfigOptions struct { } type TLSTricks struct { - EnableTLSFragment bool `json:"enable-tls-fragment"` - TLSFragmentSize string `json:"tls-fragment-size"` - TLSFragmentSleep string `json:"tls-fragment-sleep"` + EnableFragment bool `json:"enable-tls-fragment"` + FragmentSize string `json:"tls-fragment-size"` + FragmentSleep string `json:"tls-fragment-sleep"` EnableMixedSNICase bool `json:"enable-tls-mixed-sni-case"` + EnablePadding bool `json:"enable-tls-padding"` + PaddingSize string `json:"tls-padding-size"` } func BuildConfigJson(configOpt ConfigOptions, input option.Options) (string, error) { @@ -366,6 +368,17 @@ func BuildConfig(configOpt ConfigOptions, input option.Options) option.Options { if value, ok := obj["tls"]; ok { tls := value.(map[string]interface{}) tls["mixedcase_sni"] = configOpt.TLSTricks.EnableMixedSNICase + if configOpt.TLSTricks.EnablePadding { + tls["padding_size"] = configOpt.TLSTricks.PaddingSize + } else { + tls["padding_size"] = "" + } + } + if value, ok := obj["tls_fragment"]; ok { + tls := value.(map[string]interface{}) + tls["enabled"] = configOpt.TLSTricks.EnableFragment + tls["size"] = configOpt.TLSTricks.FragmentSize + tls["sleep"] = configOpt.TLSTricks.FragmentSleep } modifiedJson, err := json.Marshal(obj) if err == nil {