ja3

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	HelloFirefox_Auto = utls.HelloFirefox_Auto
	HelloFirefox_55   = utls.HelloFirefox_55
	HelloFirefox_56   = utls.HelloFirefox_56
	HelloFirefox_63   = utls.HelloFirefox_63
	HelloFirefox_65   = utls.HelloFirefox_65
	HelloFirefox_99   = utls.HelloFirefox_99

	HelloFirefox_105 = utls.HelloFirefox_105

	HelloChrome_Auto        = utls.HelloChrome_Auto
	HelloChrome_58          = utls.HelloChrome_58
	HelloChrome_62          = utls.HelloChrome_62
	HelloChrome_70          = utls.HelloChrome_70
	HelloChrome_72          = utls.HelloChrome_72
	HelloChrome_83          = utls.HelloChrome_83
	HelloChrome_87          = utls.HelloChrome_87
	HelloChrome_96          = utls.HelloChrome_96
	HelloChrome_100         = utls.HelloChrome_100
	HelloChrome_102         = utls.HelloChrome_102
	HelloChrome_106_Shuffle = utls.HelloChrome_106_Shuffle

	HelloIOS_Auto = utls.HelloIOS_Auto
	HelloIOS_11_1 = utls.HelloIOS_11_1
	HelloIOS_12_1 = utls.HelloIOS_12_1
	HelloIOS_13   = utls.HelloIOS_13
	HelloIOS_14   = utls.HelloIOS_14

	HelloAndroid_11_OkHttp = utls.HelloAndroid_11_OkHttp

	HelloEdge_Auto = utls.HelloEdge_Auto
	HelloEdge_85   = utls.HelloEdge_85
	HelloEdge_106  = utls.HelloEdge_106

	HelloSafari_Auto = utls.HelloSafari_Auto
	HelloSafari_16_0 = utls.HelloSafari_16_0

	Hello360_Auto = utls.Hello360_Auto
	Hello360_7_5  = utls.Hello360_7_5
	Hello360_11_0 = utls.Hello360_11_0

	HelloQQ_Auto = utls.HelloQQ_Auto
	HelloQQ_11_1 = utls.HelloQQ_11_1
)

Functions

func ConnContext

func ConnContext(ctx context.Context, c net.Conn) context.Context

func GetConfigForClient

func GetConfigForClient(chi *tls.ClientHelloInfo) (*tls.Config, error)

func NewClient

func NewClient(ctx context.Context, conn net.Conn, ja3Spec ClientHelloSpec, disHttp2 bool, addr string) (*tls.Conn, error)

func VerifyWithMd5

func VerifyWithMd5(md string) (string, bool)

Types

type ClientHello

type ClientHello struct {
	ServerName        string
	SupportedProtos   []string      // 列出客户端支持的应用协议。[h2 http/1.1]
	SupportedPoints   []uint8       // 列出了客户端支持的点格式[0]
	SupportedCurves   []tls.CurveID // 列出了客户端支持的椭圆曲线。 [CurveID(2570) X25519 CurveP256 CurveP384]
	SupportedVersions []uint16      // 列出了客户端支持的TLS版本。[2570 772 771]

	CipherSuites     []uint16              // 客户端支持的密码套件 [14906 4865 4866 4867 49195 49199 49196 49200 52393 52392 49171 49172 156 157 47 53]
	SignatureSchemes []tls.SignatureScheme // 列出了客户端愿意验证的签名和散列方案[ECDSAWithP256AndSHA256 PSSWithSHA256 PKCS1WithSHA256 ECDSAWithP384AndSHA384 PSSWithSHA384 PKCS1WithSHA384 PSSWithSHA512 PKCS1WithSHA512]
}

type ClientHelloId

type ClientHelloId = utls.ClientHelloID

type ClientHelloSpec

type ClientHelloSpec utls.ClientHelloSpec

func CreateSpecWithId

func CreateSpecWithId(ja3Id ClientHelloId) (clientHelloSpec ClientHelloSpec, err error)

ja3 clientHelloId 生成 clientHello

func CreateSpecWithStr

func CreateSpecWithStr(ja3Str string) (clientHelloSpec ClientHelloSpec, err error)

ja3 字符串中生成 clientHello

func (ClientHelloSpec) IsSet

func (obj ClientHelloSpec) IsSet() bool

type H2Ja3Spec

type H2Ja3Spec struct {
	InitialSetting []Setting
	ConnFlow       uint32   // WINDOW_UPDATE:15663105
	OrderHeaders   []string // 伪标头顺序,例如:[]string{":method",":authority",":scheme",":path"}
}

func (H2Ja3Spec) IsSet

func (obj H2Ja3Spec) IsSet() bool

type Ja3ContextData

type Ja3ContextData struct {
	ClientHello ClientHello `json:"clientHello"`
	Init        bool        `json:"init"`
}

func GetRequestJa3Data

func GetRequestJa3Data(r *http.Request) *Ja3ContextData

func (Ja3ContextData) Md5

func (obj Ja3ContextData) Md5() string

func (Ja3ContextData) Verify

func (obj Ja3ContextData) Verify() (string, bool)

type Setting

type Setting struct {
	// ID is which setting is being set.
	// See https://httpwg.org/specs/rfc7540.html#SettingFormat
	Id uint16
	// Val is the value.
	Val uint32
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL