aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShelikhoo <xiaokangwang@outlook.com>2022-03-07 16:32:47 +0000
committerShelikhoo <xiaokangwang@outlook.com>2022-03-16 09:13:30 +0000
commitab9604476ee7673cf35a3aea33e225946a1426e0 (patch)
treef3da4ab3b6f87a7604b5ca955afa4868534e5efe
parent3132f680122e27bb9cfb957fbb29c3cbe73935cf (diff)
downloadsnowflake-ab9604476ee7673cf35a3aea33e225946a1426e0.tar.gz
snowflake-ab9604476ee7673cf35a3aea33e225946a1426e0.zip
Move uTLS configuration to socks5 arg
-rw-r--r--client/snowflake.go15
1 files changed, 11 insertions, 4 deletions
diff --git a/client/snowflake.go b/client/snowflake.go
index 76a5cc4..5856750 100644
--- a/client/snowflake.go
+++ b/client/snowflake.go
@@ -84,6 +84,17 @@ func socksAcceptLoop(ln *pt.SocksListener, config sf.ClientConfig, shutdown chan
if arg, ok := conn.Req.Args.Get("url"); ok {
config.BrokerURL = arg
}
+ if arg, ok := conn.Req.Args.Get("utls-nosni"); ok {
+ switch strings.ToLower(arg) {
+ case "true":
+ fallthrough
+ case "yes":
+ config.UTLSRemoveSNI = true
+ }
+ }
+ if arg, ok := conn.Req.Args.Get("utls-imitate"); ok {
+ config.UTLSClientID = arg
+ }
transport, err := sf.NewSnowflakeClient(config)
if err != nil {
conn.Reject()
@@ -126,8 +137,6 @@ func main() {
frontDomain := flag.String("front", "", "front domain")
ampCacheURL := flag.String("ampcache", "", "URL of AMP cache to use as a proxy for signaling")
logFilename := flag.String("log", "", "name of log file")
- uTLSClientHelloID := flag.String("utls-imitate", "", "type of TLS client to imitate with utls")
- uTLSRemoveSNI := flag.Bool("utls-nosni", false, "remove SNI from client hello(ignored if uTLS is not used)")
logToStateDir := flag.Bool("log-to-state-dir", false, "resolve the log file relative to tor's pt state dir")
keepLocalAddresses := flag.Bool("keep-local-addresses", false, "keep local LAN address ICE candidates")
unsafeLogging := flag.Bool("unsafe-logging", false, "prevent logs from being scrubbed")
@@ -180,8 +189,6 @@ func main() {
ICEAddresses: iceAddresses,
KeepLocalAddresses: *keepLocalAddresses || *oldKeepLocalAddresses,
Max: *max,
- UTLSClientID: *uTLSClientHelloID,
- UTLSRemoveSNI: *uTLSRemoveSNI,
}
// Begin goptlib client process.