Documentation ¶
Index ¶
Constants ¶
View Source
const RealityMaxShortIDLen = 8
Variables ¶
View Source
var Fingerprints = map[string]UClientHelloID{ "chrome": {&utls.HelloChrome_Auto}, "chrome_psk": {&utls.HelloChrome_100_PSK}, "chrome_psk_shuffle": {&utls.HelloChrome_106_Shuffle}, "chrome_padding_psk_shuffle": {&utls.HelloChrome_114_Padding_PSK_Shuf}, "chrome_pq": {&utls.HelloChrome_115_PQ}, "chrome_pq_psk": {&utls.HelloChrome_115_PQ_PSK}, "firefox": {&utls.HelloFirefox_Auto}, "safari": {&utls.HelloSafari_Auto}, "ios": {&utls.HelloIOS_Auto}, "android": {&utls.HelloAndroid_11_OkHttp}, "edge": {&utls.HelloEdge_Auto}, "360": {&utls.Hello360_Auto}, "qq": {&utls.HelloQQ_Auto}, "random": {nil}, "randomized": {nil}, }
Functions ¶
func GetGlobalFingerprint ¶
func GetGlobalFingerprint() string
func GetRealityConn ¶
func HaveGlobalFingerprint ¶
func HaveGlobalFingerprint() bool
func SetGlobalUtlsClient ¶
func SetGlobalUtlsClient(Client string)
Types ¶
type RealityConfig ¶
type RealityConfig struct { PublicKey *ecdh.PublicKey ShortID [RealityMaxShortIDLen]byte }
type UClientHelloID ¶
type UClientHelloID struct {
*utls.ClientHelloID
}
func GetFingerprint ¶
func GetFingerprint(ClientFingerprint string) (UClientHelloID, bool)
func RollFingerprint ¶
func RollFingerprint() (UClientHelloID, bool)
type UConn ¶
func (*UConn) BuildWebsocketHandshakeState ¶
BuildWebsocketHandshakeState it will only send http/1.1 in its ALPN. Copy from https://github.com/XTLS/Xray-core/blob/main/transport/internet/tls/tls.go
Click to show internal directories.
Click to hide internal directories.