Commit 600ee9a4 authored by wang's avatar wang

111

parent 0cb8b154
......@@ -9,10 +9,8 @@ import (
"errors"
"github.com/andybalholm/brotli"
http "github.com/bogdanfinn/fhttp"
"github.com/bogdanfinn/fhttp/http2"
tls_client "github.com/bogdanfinn/tls-client"
"github.com/bogdanfinn/tls-client/profiles"
tls "github.com/bogdanfinn/utls"
"github.com/sirupsen/logrus"
"io/ioutil"
"math/big"
......@@ -146,114 +144,6 @@ func NewClient(forWard ForwardItem, ios bool) (Client, error) {
tlsVersion = profiles.Safari_IOS_16_0
}
clientHello := tls.ClientHelloID{
Client: "Chrome",
RandomExtensionOrder: false,
Version: "117",
Seed: nil,
SpecFactory: func() (tls.ClientHelloSpec, error) {
return tls.ClientHelloSpec{
CipherSuites: []uint16{
tls.GREASE_PLACEHOLDER,
tls.TLS_AES_128_GCM_SHA256,
tls.TLS_AES_256_GCM_SHA384,
tls.TLS_CHACHA20_POLY1305_SHA256,
tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
tls.TLS_RSA_WITH_AES_128_GCM_SHA256,
tls.TLS_RSA_WITH_AES_256_GCM_SHA384,
tls.TLS_RSA_WITH_AES_128_CBC_SHA,
tls.TLS_RSA_WITH_AES_256_CBC_SHA,
},
CompressionMethods: []uint8{
tls.CompressionNone,
},
Extensions: []tls.TLSExtension{
&tls.UtlsGREASEExtension{},
&tls.SNIExtension{},
&tls.StatusRequestExtension{}, // 5
&tls.SupportedCurvesExtension{[]tls.CurveID{ // 10
tls.CurveID(tls.GREASE_PLACEHOLDER),
tls.X25519,
tls.CurveP256,
tls.CurveP384,
}},
&tls.SupportedPointsExtension{SupportedPoints: []byte{ // 11
tls.PointFormatUncompressed,
}},
&tls.ALPNExtension{AlpnProtocols: []string{"h2", "http/1.1"}}, // 16
&tls.StatusRequestV2Extension{}, //17
&tls.UtlsExtendedMasterSecretExtension{}, //23
&tls.SessionTicketExtension{}, //35
&tls.SignatureAlgorithmsExtension{SupportedSignatureAlgorithms: []tls.SignatureScheme{ //13
tls.ECDSAWithP256AndSHA256,
tls.PSSWithSHA256,
tls.PKCS1WithSHA256,
tls.ECDSAWithP384AndSHA384,
tls.PSSWithSHA384,
tls.PKCS1WithSHA384,
tls.PSSWithSHA512,
tls.PKCS1WithSHA512,
}},
&tls.SupportedVersionsExtension{[]uint16{ //43
tls.GREASE_PLACEHOLDER,
tls.VersionTLS13,
tls.VersionTLS12,
}},
&tls.PSKKeyExchangeModesExtension{[]uint8{ // 45
tls.PskModeDHE,
}},
&tls.SignatureAlgorithmsCertExtension{SupportedSignatureAlgorithms: []tls.SignatureScheme{tls.PKCS1WithSHA256}}, // 50
&tls.KeyShareExtension{[]tls.KeyShare{ //51
{Group: tls.CurveID(tls.GREASE_PLACEHOLDER), Data: []byte{0}},
{Group: tls.X25519},
}},
&tls.RenegotiationInfoExtension{Renegotiation: tls.RenegotiateOnceAsClient}, // 65281
//&tls.PreSharedKeyExtension{},
//
//&tls.ALPSExtension{SupportedProtocols: []string{"h2"}}, // 17513
//
//&tls.UtlsCompressCertExtension{[]tls.CertCompressionAlgo{ //27
// tls.CertCompressionBrotli,
//}},
//&tls.SCTExtension{}, // 18
//
//&tls.UtlsGREASEExtension{},
//&tls.UtlsPaddingExtension{GetPaddingLen: tls.BoringPaddingStyle}, // 21
},
}, nil
},
}
h2Settings := map[http2.SettingID]uint32{
http2.SettingHeaderTableSize: 65536,
http2.SettingEnablePush: 0,
http2.SettingInitialWindowSize: 6291456,
http2.SettingMaxHeaderListSize: 262144,
}
h2SettingIds := []http2.SettingID{
http2.SettingHeaderTableSize,
http2.SettingEnablePush,
http2.SettingInitialWindowSize,
http2.SettingMaxHeaderListSize,
}
h2Order := []string{
":method",
":authority",
":scheme",
":path",
}
Chrome := profiles.NewClientProfile(clientHello, h2Settings, h2SettingIds, h2Order, 15663105, nil, nil)
tlsVersion = Chrome
options := []tls_client.HttpClientOption{
tls_client.WithTimeoutSeconds(forWard.Timeout),
tls_client.WithClientProfile(tlsVersion),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment