Documentation
¶
Index ¶
Constants ¶
View Source
const SecCHUA = `"Not:A-Brand";v="99", "Google Chrome";v="145", "Chromium";v="145"`
SecCHUA is the Chrome user agent string.
Variables ¶
View Source
var ( UserAgentWindows = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" UserAgentMacOS = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" UserAgentLinux = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36" UserAgentAndroid = "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.7632.26 Mobile Safari/537.36" UserAgentIOS = "" /* 144-byte string literal not displayed */ PlatformWindows = `"Windows"` PlatformMacOS = `"macOS"` PlatformLinux = `"Linux"` PlatformAndroid = `"Android"` PlatformIOS = `"iOS"` )
Various user agent strings for different platforms.
View Source
var Desktop = &profiles.Variant{ HelloSpec: &HelloChrome145, BoundaryFunc: Boundary, ConfigureH2: configureH2Desktop, ConfigureH3: configureH3Desktop, BuildHeaders: buildHeadersDesktop, InsertHeaders: func(headers map[string]string, method string) { insertDesktopHeaders(headers, method) }, }
Desktop is the Chrome desktop variant.
View Source
var HeaderCache = profiles.NewHeaderCache(headerOrderDesktop, headerOrderMobile)
HeaderCache is the Chrome header cache.
View Source
var HelloChrome145 = utls.ClientHelloSpec{ CipherSuites: []uint16{ utls.GREASE_PLACEHOLDER, utls.TLS_AES_128_GCM_SHA256, utls.TLS_AES_256_GCM_SHA384, utls.TLS_CHACHA20_POLY1305_SHA256, utls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, utls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, utls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, utls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, utls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, utls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, utls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, utls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, utls.TLS_RSA_WITH_AES_128_GCM_SHA256, utls.TLS_RSA_WITH_AES_256_GCM_SHA384, utls.TLS_RSA_WITH_AES_128_CBC_SHA, utls.TLS_RSA_WITH_AES_256_CBC_SHA, }, CompressionMethods: []byte{0x00}, Extensions: utls.ShuffleChromeTLSExtensions( []utls.TLSExtension{ &utls.UtlsGREASEExtension{}, &utls.SNIExtension{}, &utls.ExtendedMasterSecretExtension{}, &utls.RenegotiationInfoExtension{ Renegotiation: utls.RenegotiateOnceAsClient, }, &utls.SupportedCurvesExtension{ Curves: []utls.CurveID{ utls.GREASE_PLACEHOLDER, utls.X25519MLKEM768, utls.X25519, utls.CurveP256, utls.CurveP384, }, }, &utls.SupportedPointsExtension{ SupportedPoints: []byte{0x00}, }, &utls.SessionTicketExtension{}, &utls.ALPNExtension{ AlpnProtocols: []string{"h2", "http/1.1"}, }, &utls.StatusRequestExtension{}, &utls.SignatureAlgorithmsExtension{ SupportedSignatureAlgorithms: []utls.SignatureScheme{ utls.ECDSAWithP256AndSHA256, utls.PSSWithSHA256, utls.PKCS1WithSHA256, utls.ECDSAWithP384AndSHA384, utls.PSSWithSHA384, utls.PKCS1WithSHA384, utls.PSSWithSHA512, utls.PKCS1WithSHA512, }, }, &utls.SCTExtension{}, &utls.KeyShareExtension{ KeyShares: []utls.KeyShare{ {Group: utls.GREASE_PLACEHOLDER, Data: []byte{0}}, {Group: utls.X25519MLKEM768}, {Group: utls.X25519}, }, }, &utls.PSKKeyExchangeModesExtension{ Modes: []uint8{ utls.PskModeDHE, }, }, &utls.SupportedVersionsExtension{ Versions: []uint16{ utls.GREASE_PLACEHOLDER, utls.VersionTLS13, utls.VersionTLS12, }, }, &utls.UtlsCompressCertExtension{ Algorithms: []utls.CertCompressionAlgo{ utls.CertCompressionBrotli, }, }, &utls.ApplicationSettingsExtensionNew{ SupportedProtocols: []string{"h2"}, }, utls.BoringGREASEECH(), &utls.UtlsGREASEExtension{}, &utls.UtlsPreSharedKeyExtension{}, }, ), }
HelloChrome145 is the Chrome 145 client hello spec.
View Source
var HelloChrome145QUIC = utls.ClientHelloSpec{ CipherSuites: []uint16{ utls.TLS_AES_128_GCM_SHA256, utls.TLS_AES_256_GCM_SHA384, utls.TLS_CHACHA20_POLY1305_SHA256, }, CompressionMethods: []byte{0x00}, Extensions: []utls.TLSExtension{ &utls.ApplicationSettingsExtensionNew{ SupportedProtocols: []string{"h3"}, }, &utls.PSKKeyExchangeModesExtension{ Modes: []uint8{ utls.PskModeDHE, }, }, utls.BoringGREASEECH(), &utls.SupportedCurvesExtension{ Curves: []utls.CurveID{ utls.X25519MLKEM768, utls.X25519, utls.CurveP256, utls.CurveP384, }, }, &utls.ALPNExtension{ AlpnProtocols: []string{"h3"}, }, &utls.SupportedVersionsExtension{ Versions: []uint16{ utls.VersionTLS13, }, }, &utls.SNIExtension{}, &utls.SignatureAlgorithmsExtension{ SupportedSignatureAlgorithms: []utls.SignatureScheme{ utls.ECDSAWithP256AndSHA256, utls.PSSWithSHA256, utls.PKCS1WithSHA256, utls.ECDSAWithP384AndSHA384, utls.PSSWithSHA384, utls.PKCS1WithSHA384, utls.PSSWithSHA512, utls.PKCS1WithSHA512, utls.PKCS1WithSHA1, }, }, &utls.UtlsCompressCertExtension{ Algorithms: []utls.CertCompressionAlgo{ utls.CertCompressionBrotli, }, }, &utls.QUICTransportParametersExtension{}, &utls.KeyShareExtension{KeyShares: []utls.KeyShare{ {Group: utls.X25519MLKEM768}, {Group: utls.X25519}, }}, }, }
HelloChrome145QUIC is the Chrome 145 QUIC client hello spec.
View Source
var Mobile = &profiles.Variant{ HelloSpec: &HelloChrome145, BoundaryFunc: Boundary, ConfigureH2: configureH2Desktop, ConfigureH3: configureH3Desktop, BuildHeaders: buildHeadersMobile, InsertHeaders: func(headers map[string]string, method string) { insertMobileHeaders(headers, method) }, }
Mobile is the Chrome mobile variant.
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.