device_utils

package module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jun 4, 2023 License: MIT Imports: 18 Imported by: 1

README

go-device-utils

Device utilities for Golang, comes with data structures and helper functions

Documentation

Index

Constants

View Source
const (
	DeviceFormatKeyAndroidVersion  = ":andVers"
	DeviceFormatKeyAndroidSDKLevel = ":andSDK"
	DeviceFormatKeyLocale          = ":locale"
	DeviceFormatKeyModel           = ":model"
	DeviceFormatKeyBuild           = ":build"
	DeviceFormatKeyDPI             = ":dpi"
	DeviceFormatKeyDevice          = ":device"
	DeviceFormatKeyManufacturer    = ":manufacturer"
)

Variables

View Source
var (
	Browser_TLSFingerprint_ProtocolVersion_name = map[int32]string{
		0:     "UNKNOWN",
		768:   "SSL3",
		769:   "TLS1",
		770:   "TLS1_1",
		771:   "TLS1_2",
		772:   "TLS1_3",
		65279: "DTLS1",
		65277: "DTLS1_2",
		256:   "DTLS1_BAD",
	}
	Browser_TLSFingerprint_ProtocolVersion_value = map[string]int32{
		"UNKNOWN":   0,
		"SSL3":      768,
		"TLS1":      769,
		"TLS1_1":    770,
		"TLS1_2":    771,
		"TLS1_3":    772,
		"DTLS1":     65279,
		"DTLS1_2":   65277,
		"DTLS1_BAD": 256,
	}
)

Enum value maps for Browser_TLSFingerprint_ProtocolVersion.

View Source
var (
	Browser_TLSFingerprint_CipherSuite_name = map[int32]string{}/* 354 elements not displayed */

	Browser_TLSFingerprint_CipherSuite_value = map[string]int32{}/* 354 elements not displayed */

)

Enum value maps for Browser_TLSFingerprint_CipherSuite.

View Source
var (
	Browser_TLSFingerprint_Extensions_name = map[int32]string{
		0:     "SERVER_NAME",
		1:     "MAX_FRAGMENT_LENGTH",
		2:     "CLIENT_CERTIFICATE_URL",
		3:     "TRUSTED_CA_KEYS",
		4:     "TRUNCATED_HMAC",
		5:     "STATUS_REQUEST",
		6:     "USER_MAPPING",
		7:     "CLIENT_AUTHZ",
		8:     "SERVER_AUTHZ",
		9:     "CERT_TYPE",
		10:    "SUPPORTED_GROUPS",
		11:    "EC_POINT_FORMATS",
		12:    "SRP",
		13:    "SIGNATURE_ALGORITHMS",
		14:    "USE_SRTP",
		15:    "HEARTBEAT",
		16:    "APPLICATION_LAYER_PROTOCOL_NEGOTIATION",
		17:    "STATUS_REQUEST_V2",
		18:    "SIGNED_CERTIFICATE_TIMESTAMP",
		19:    "CLIENT_CERTIFICATE_TYPE",
		20:    "SERVER_CERTIFICATE_TYPE",
		21:    "PADDING",
		22:    "ENCRYPT_THEN_MAC",
		23:    "EXTENDED_MASTER_SECRET",
		24:    "TOKEN_BINDING",
		25:    "CACHED_INFO",
		26:    "TLS_LTS",
		27:    "COMPRESS_CERTIFICATE",
		28:    "RECORD_SIZE_LIMIT",
		29:    "PWD_PROTECT",
		30:    "PWD_CLEAR",
		31:    "PASSWORD_SALT",
		32:    "TICKET_PINNING",
		33:    "TLS_CERT_WITH_EXTERN_PSK",
		34:    "DELEGATED_CREDENTIAL",
		35:    "SESSION_TICKET",
		36:    "TLMSP",
		37:    "TLMSP_PROXYING",
		38:    "TLMSP_DELEGATE",
		39:    "SUPPORTED_EKT_CIPHERS",
		41:    "PRE_SHARED_KEY",
		42:    "EARLY_DATA",
		43:    "SUPPORTED_VERSIONS",
		44:    "COOKIE",
		45:    "PSK_KEY_EXCHANGE_MODES",
		47:    "CERTIFICATE_AUTHORITIES",
		48:    "OID_FILTERS",
		49:    "POST_HANDSHAKE_AUTH",
		50:    "SIGNATURE_ALGORITHMS_CERT",
		51:    "KEY_SHARE",
		52:    "TRANSPARENCY_INFO",
		53:    "CONNECTION_ID_DEPRECATED",
		54:    "CONNECTION_ID",
		55:    "EXTERNAL_ID_HASH",
		56:    "EXTERNAL_SESSION_ID",
		57:    "QUIC_TRANSPORT_PARAMETERS",
		58:    "TICKET_REQUEST",
		59:    "DNSSEC_CHAIN",
		60:    "SEQUENCE_NUMBER_ENCRYPTION_ALGORITHMS",
		17513: "EXTENSION_APPLICATIONS_SETTINGS",
		65281: "EXTENSION_RENEGOTIATION_INFO",
	}
	Browser_TLSFingerprint_Extensions_value = map[string]int32{
		"SERVER_NAME":                            0,
		"MAX_FRAGMENT_LENGTH":                    1,
		"CLIENT_CERTIFICATE_URL":                 2,
		"TRUSTED_CA_KEYS":                        3,
		"TRUNCATED_HMAC":                         4,
		"STATUS_REQUEST":                         5,
		"USER_MAPPING":                           6,
		"CLIENT_AUTHZ":                           7,
		"SERVER_AUTHZ":                           8,
		"CERT_TYPE":                              9,
		"SUPPORTED_GROUPS":                       10,
		"EC_POINT_FORMATS":                       11,
		"SRP":                                    12,
		"SIGNATURE_ALGORITHMS":                   13,
		"USE_SRTP":                               14,
		"HEARTBEAT":                              15,
		"APPLICATION_LAYER_PROTOCOL_NEGOTIATION": 16,
		"STATUS_REQUEST_V2":                      17,
		"SIGNED_CERTIFICATE_TIMESTAMP":           18,
		"CLIENT_CERTIFICATE_TYPE":                19,
		"SERVER_CERTIFICATE_TYPE":                20,
		"PADDING":                                21,
		"ENCRYPT_THEN_MAC":                       22,
		"EXTENDED_MASTER_SECRET":                 23,
		"TOKEN_BINDING":                          24,
		"CACHED_INFO":                            25,
		"TLS_LTS":                                26,
		"COMPRESS_CERTIFICATE":                   27,
		"RECORD_SIZE_LIMIT":                      28,
		"PWD_PROTECT":                            29,
		"PWD_CLEAR":                              30,
		"PASSWORD_SALT":                          31,
		"TICKET_PINNING":                         32,
		"TLS_CERT_WITH_EXTERN_PSK":               33,
		"DELEGATED_CREDENTIAL":                   34,
		"SESSION_TICKET":                         35,
		"TLMSP":                                  36,
		"TLMSP_PROXYING":                         37,
		"TLMSP_DELEGATE":                         38,
		"SUPPORTED_EKT_CIPHERS":                  39,
		"PRE_SHARED_KEY":                         41,
		"EARLY_DATA":                             42,
		"SUPPORTED_VERSIONS":                     43,
		"COOKIE":                                 44,
		"PSK_KEY_EXCHANGE_MODES":                 45,
		"CERTIFICATE_AUTHORITIES":                47,
		"OID_FILTERS":                            48,
		"POST_HANDSHAKE_AUTH":                    49,
		"SIGNATURE_ALGORITHMS_CERT":              50,
		"KEY_SHARE":                              51,
		"TRANSPARENCY_INFO":                      52,
		"CONNECTION_ID_DEPRECATED":               53,
		"CONNECTION_ID":                          54,
		"EXTERNAL_ID_HASH":                       55,
		"EXTERNAL_SESSION_ID":                    56,
		"QUIC_TRANSPORT_PARAMETERS":              57,
		"TICKET_REQUEST":                         58,
		"DNSSEC_CHAIN":                           59,
		"SEQUENCE_NUMBER_ENCRYPTION_ALGORITHMS":  60,
		"EXTENSION_APPLICATIONS_SETTINGS":        17513,
		"EXTENSION_RENEGOTIATION_INFO":           65281,
	}
)

Enum value maps for Browser_TLSFingerprint_Extensions.

View Source
var (
	Browser_TLSFingerprint_EllipticCurve_name = map[int32]string{
		0:     "RESERVED",
		1:     "SECT163K1",
		2:     "SECT163R1",
		3:     "SECT163R2",
		4:     "SECT193R1",
		5:     "SECT193R2",
		6:     "SECT233K1",
		7:     "SECT233R1",
		8:     "SECT239K1",
		9:     "SECT283K1",
		10:    "SECT283R1",
		11:    "SECT409K1",
		12:    "SECT409R1",
		13:    "SECT571K1",
		14:    "SECT571R1",
		15:    "SECP160K1",
		16:    "SECP160R1",
		17:    "SECP160R2",
		18:    "SECP192K1",
		19:    "SECP192R1",
		20:    "SECP224K1",
		21:    "SECP224R1",
		22:    "SECP256K1",
		23:    "SECP256R1",
		24:    "SECP384R1",
		25:    "SECP521R1",
		26:    "BRAINPOOLP256R1",
		27:    "BRAINPOOLP384R1",
		28:    "BRAINPOOLP512R1",
		29:    "X25519",
		30:    "X448",
		31:    "BRAINPOOLP256R1TLS13",
		32:    "BRAINPOOLP384R1TLS13",
		33:    "BRAINPOOLP512R1TLS13",
		34:    "GC256A",
		35:    "GC256B",
		36:    "GC256C",
		37:    "GC256D",
		38:    "GC512A",
		39:    "GC512B",
		40:    "GC512C",
		41:    "CURVESM2",
		256:   "FFDHE2048",
		257:   "FFDHE3072",
		258:   "FFDHE4096",
		259:   "FFDHE6144",
		260:   "FFDHE8192",
		65281: "ARBITRARY_EXPLICIT_PRIME_CURVES",
		65282: "ARBITRARY_EXPLICIT_CHAR2_CURVES",
	}
	Browser_TLSFingerprint_EllipticCurve_value = map[string]int32{
		"RESERVED":                        0,
		"SECT163K1":                       1,
		"SECT163R1":                       2,
		"SECT163R2":                       3,
		"SECT193R1":                       4,
		"SECT193R2":                       5,
		"SECT233K1":                       6,
		"SECT233R1":                       7,
		"SECT239K1":                       8,
		"SECT283K1":                       9,
		"SECT283R1":                       10,
		"SECT409K1":                       11,
		"SECT409R1":                       12,
		"SECT571K1":                       13,
		"SECT571R1":                       14,
		"SECP160K1":                       15,
		"SECP160R1":                       16,
		"SECP160R2":                       17,
		"SECP192K1":                       18,
		"SECP192R1":                       19,
		"SECP224K1":                       20,
		"SECP224R1":                       21,
		"SECP256K1":                       22,
		"SECP256R1":                       23,
		"SECP384R1":                       24,
		"SECP521R1":                       25,
		"BRAINPOOLP256R1":                 26,
		"BRAINPOOLP384R1":                 27,
		"BRAINPOOLP512R1":                 28,
		"X25519":                          29,
		"X448":                            30,
		"BRAINPOOLP256R1TLS13":            31,
		"BRAINPOOLP384R1TLS13":            32,
		"BRAINPOOLP512R1TLS13":            33,
		"GC256A":                          34,
		"GC256B":                          35,
		"GC256C":                          36,
		"GC256D":                          37,
		"GC512A":                          38,
		"GC512B":                          39,
		"GC512C":                          40,
		"CURVESM2":                        41,
		"FFDHE2048":                       256,
		"FFDHE3072":                       257,
		"FFDHE4096":                       258,
		"FFDHE6144":                       259,
		"FFDHE8192":                       260,
		"ARBITRARY_EXPLICIT_PRIME_CURVES": 65281,
		"ARBITRARY_EXPLICIT_CHAR2_CURVES": 65282,
	}
)

Enum value maps for Browser_TLSFingerprint_EllipticCurve.

View Source
var (
	Browser_TLSFingerprint_EllipticCurvePointFormat_name = map[int32]string{
		0: "UNCOMPRESSED",
		1: "ANSI_X962_COMPRESSED_PRIME",
		2: "ANSI_X962_COMPRESSED_CHAR2",
	}
	Browser_TLSFingerprint_EllipticCurvePointFormat_value = map[string]int32{
		"UNCOMPRESSED":               0,
		"ANSI_X962_COMPRESSED_PRIME": 1,
		"ANSI_X962_COMPRESSED_CHAR2": 2,
	}
)

Enum value maps for Browser_TLSFingerprint_EllipticCurvePointFormat.

View Source
var (
	GPSLocation_LocationProvider_name = map[int32]string{
		0: "LocationProvider_NONE",
		1: "GPS",
		2: "NETWORK",
		3: "PASSIVE",
	}
	GPSLocation_LocationProvider_value = map[string]int32{
		"LocationProvider_NONE": 0,
		"GPS":                   1,
		"NETWORK":               2,
		"PASSIVE":               3,
	}
)

Enum value maps for GPSLocation_LocationProvider.

View Source
var (
	CPUData_Architecture_name = map[int32]string{
		0: "UNKNOWN",
		1: "ARM",
		2: "ARM64",
		3: "MIPS",
		4: "MIPSEL",
		5: "PPC",
		6: "PPC64",
		7: "X32",
		8: "X64",
	}
	CPUData_Architecture_value = map[string]int32{
		"UNKNOWN": 0,
		"ARM":     1,
		"ARM64":   2,
		"MIPS":    3,
		"MIPSEL":  4,
		"PPC":     5,
		"PPC64":   6,
		"X32":     7,
		"X64":     8,
	}
)

Enum value maps for CPUData_Architecture.

View Source
var (
	AndroidDevice_Version_name = map[int32]string{
		0:  "AndroidVersion_NONE",
		1:  "V1_0",
		2:  "V1_1",
		3:  "V1_5",
		4:  "V1_6",
		5:  "V2",
		6:  "V2_0_1",
		7:  "V2_1",
		8:  "V2_2",
		9:  "V2_3_2",
		10: "V2_3_7",
		11: "V3_0",
		12: "v3_1",
		13: "V3_2",
		14: "V4_0_2",
		15: "V4_0_4",
		16: "V4_1",
		17: "V4_2",
		18: "V4_3",
		19: "V4_4",
		20: "V4_4W",
		21: "V5_0",
		22: "V5_1",
		23: "V6_0",
		24: "V7_0",
		25: "V7_1",
		26: "V8_0",
		27: "V8_1",
		28: "V9_0",
		29: "V10_0",
		30: "V11_0",
		31: "V12_0",
		32: "V12_0L",
		33: "V13_0",
		34: "V14_0",
	}
	AndroidDevice_Version_value = map[string]int32{
		"AndroidVersion_NONE": 0,
		"V1_0":                1,
		"V1_1":                2,
		"V1_5":                3,
		"V1_6":                4,
		"V2":                  5,
		"V2_0_1":              6,
		"V2_1":                7,
		"V2_2":                8,
		"V2_3_2":              9,
		"V2_3_7":              10,
		"V3_0":                11,
		"v3_1":                12,
		"V3_2":                13,
		"V4_0_2":              14,
		"V4_0_4":              15,
		"V4_1":                16,
		"V4_2":                17,
		"V4_3":                18,
		"V4_4":                19,
		"V4_4W":               20,
		"V5_0":                21,
		"V5_1":                22,
		"V6_0":                23,
		"V7_0":                24,
		"V7_1":                25,
		"V8_0":                26,
		"V8_1":                27,
		"V9_0":                28,
		"V10_0":               29,
		"V11_0":               30,
		"V12_0":               31,
		"V12_0L":              32,
		"V13_0":               33,
		"V14_0":               34,
	}
)

Enum value maps for AndroidDevice_Version.

View Source
var (
	ErrInvalidLength        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflow          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroup = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrAndroidVersionSDKUnsupported     = errors.New("the supplied SDK is unsupported")
	ErrAndroidVersionVersionUnsupported = errors.New("the supplied version is unsupported")
)
View Source
var (
	ErrLocaleFormatUnsupported = errors.New("the supplied locale had an unsupported format")
	ErrLocaleUnsupported       = errors.New("the supplied locale is unsupported")
)
View Source
var AvailableBrowsers = map[string]map[string]*Browser{
	"brave": {
		"1.50.114": &Browser{
			Version:        "1.50.114",
			Name:           "brave",
			UserAgent:      "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",
			BrandHeader:    "\"Chromium\";v=\"112\", \"Brave\";v=\"112\", \"Not:A-Brand\";v=\"99\"",
			TlsFingerprint: &Browser_TLSFingerprint{Version: 771, CipherSuites: []Browser_TLSFingerprint_CipherSuite{4865, 4866, 4867, 49195, 49199, 49196, 49200, 52393, 52392, 49171, 49172, 156, 157, 47, 53}, Extensions: []Browser_TLSFingerprint_Extensions{27, 16, 35, 11, 17513, 43, 13, 5, 23, 0, 18, 51, 10, 65281, 45, 21}, EllipticCurves: []Browser_TLSFingerprint_EllipticCurve{29, 23, 24}, EllipticCurvePointFormats: []Browser_TLSFingerprint_EllipticCurvePointFormat{0}},
		},
	},
	"chrome": {
		"111.0.5563.147": &Browser{
			Version:        "111.0.5563.147",
			Name:           "chrome",
			UserAgent:      "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",
			BrandHeader:    "\"Chromium\";v=\"112\", \"Google Chrome\";v=\"112\", \"Not:A-Brand\";v=\"99\"",
			TlsFingerprint: &Browser_TLSFingerprint{Version: 771, CipherSuites: []Browser_TLSFingerprint_CipherSuite{4865, 4866, 4867, 49195, 49199, 49196, 49200, 52393, 52392, 49171, 49172, 156, 157, 47, 53}, Extensions: []Browser_TLSFingerprint_Extensions{27, 16, 35, 11, 17513, 43, 13, 5, 23, 0, 18, 51, 10, 65281, 45, 21}, EllipticCurves: []Browser_TLSFingerprint_EllipticCurve{29, 23, 24}, EllipticCurvePointFormats: []Browser_TLSFingerprint_EllipticCurvePointFormat{0}},
		},
	},
}
View Source
var AvailableCities = map[string][]string{
	"US": {
		"newyorkcity",
		"losangeles",
		"chicago",
		"houston",
		"washington",
		"philadelphia",
		"miami",
	},
	"MX": {
		"mexicocity",
	},
	"CA": {
		"toronto",
	},
}
View Source
var AvailableCountries = []string{
	"US", "MX", "CA",
}
View Source
var AvailableSIMCards = map[string][]*SIMCard{}/* 224 elements not displayed */

AvailableSIMCards Source: https://www.mcc-mnc.com/

View Source
var DeviceDB = map[string]*AndroidDevice{

	"oneplus5": {
		Locale: &Locale{
			Language:   "en",
			CountryISO: "US",
		},
		Version: AndroidDevice_V9_0,
		Build: &AndroidDevice_BuildData{
			Device:             "OnePlus5",
			Manufacturer:       "OnePlus",
			Model:              "ONEPLUS A5000",
			Product:            "OnePlus5",
			Id:                 "PKQ1.180716.001",
			Type:               "user",
			Tags:               "release-keys",
			IncrementalVersion: "2002242003",
		},
		Screen: &ScreenData{
			Density:              420,
			ResolutionHorizontal: 1080,
			ResolutionVertical:   1920,
		},
		SimSlots: []*SIMCard{
			{
				Imei: &SIMCard_IMEI{
					TAC: "86463003",
				},
			},
			{
				Imei: &SIMCard_IMEI{
					TAC: "86463003",
				},
			},
		},
		MacAddress: &MAC{
			OUI:     "A091A2",
			Address: "",
		},
		Cpu: &CPUData{
			Arch:    CPUData_ARM64,
			AbiList: []string{"arm64-v8a", "armeabi-v7a", "armeabi"},
		},
	},
	"oneplus7t": {
		Locale: &Locale{
			Language:   "en",
			CountryISO: "US",
		},
		Version: AndroidDevice_V10_0,
		Build: &AndroidDevice_BuildData{
			Device:             "OnePlus7T",
			Manufacturer:       "OnePlus",
			Model:              "HD1905",
			Product:            "OnePlus7T",
			Id:                 "QKQ1.190716.003",
			Type:               "user",
			Tags:               "release-keys",
			IncrementalVersion: "2101212100",
		},
		Screen: &ScreenData{
			Density:              420,
			ResolutionHorizontal: 1080,
			ResolutionVertical:   2400,
		},
		SimSlots: []*SIMCard{
			{
				Imei: &SIMCard_IMEI{
					TAC: "86789104",
				},
			},
			{
				Imei: &SIMCard_IMEI{
					TAC: "86789104",
				},
			},
		},
		MacAddress: &MAC{
			OUI:     "A091A2",
			Address: "",
		},
		Cpu: &CPUData{
			Arch:    CPUData_ARM64,
			AbiList: []string{"arm64-v8a", "armeabi-v7a", "armeabi"},
		},
	},

	"oneplus9pro": {
		Id: nil,
		Locale: &Locale{
			Language:   "en",
			CountryISO: "US",
		},
		Version: AndroidDevice_V11_0,
		Build: &AndroidDevice_BuildData{
			Device:             "OnePlus9Pro",
			Manufacturer:       "OnePlus",
			Model:              "LE2125",
			Product:            "OnePlus9Pro",
			Id:                 "RKQ1.201105.002",
			Type:               "user",
			Tags:               "release-keys",
			IncrementalVersion: "2105290043",
		},
		Screen: &ScreenData{
			Density:              600,
			ResolutionHorizontal: 1440,
			ResolutionVertical:   3216,
		},
		SimSlots: []*SIMCard{
			{
				Imei: &SIMCard_IMEI{
					TAC: "86381505",
				},
			},
		},
		MacAddress: &MAC{
			OUI:     "A091A2",
			Address: "",
		},
		Cpu: &CPUData{
			Arch:    CPUData_ARM64,
			AbiList: []string{"arm64-v8a", "armeabi-v7a", "armeabi"},
		},
	},
}

Here we store a few devices and way to get them, just easy access in case you want to prototype a few devices in a library fast TODO: Actually add a few devices here... TODO: Turn this into an interface to customize with custom backend

View Source
var DeviceDBKeys = []string{

	"oneplus5",
	"oneplus7t",

	"oneplus9pro",
}
View Source
var File_proto_device_utils_device_utils_proto protoreflect.FileDescriptor
View Source
var LocationDB = map[string]map[string]*GPSLocation{
	"US": {
		"newyorkcity": &GPSLocation{
			Longitude: -74.005973,
			Latitude:  40.712775,
			Altitude:  10.440,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
		"losangeles": &GPSLocation{
			Longitude: -118.243685,
			Latitude:  34.052234,
			Altitude:  86.854,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
		"chicago": &GPSLocation{
			Longitude: -87.629798,
			Latitude:  41.878114,
			Altitude:  181.513,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
		"houston": &GPSLocation{
			Longitude: -95.369803,
			Latitude:  29.760427,
			Altitude:  14.562,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
		"washington": &GPSLocation{
			Longitude: -77.036871,
			Latitude:  38.907192,
			Altitude:  22.015,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
		"philadelphia": &GPSLocation{
			Longitude: -75.165222,
			Latitude:  39.952584,
			Altitude:  14.336,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
		"miami": &GPSLocation{
			Longitude: -80.191790,
			Latitude:  25.761680,
			Altitude:  0.537,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
	},
	"MX": {
		"mexicocity": &GPSLocation{
			Longitude: -99.133208,
			Latitude:  19.432608,
			Altitude:  2229.729,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
	},
	"CA": {
		"toronto": &GPSLocation{
			Longitude: -79.383184,
			Latitude:  43.653226,
			Altitude:  91.723,
			Provider:  GPSLocation_LocationProvider_NONE,
		},
	},
}

Functions

func IsNumeric

func IsNumeric(in string) bool

func LuhnCalculate

func LuhnCalculate(number int64) int64

func LuhnChecksum

func LuhnChecksum(number int64) int64

func LuhnValid

func LuhnValid(number int64) bool

Types

type AndroidDevice

type AndroidDevice struct {
	Id       *AndroidDevice_ID             `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Version  AndroidDevice_Version         `protobuf:"varint,2,opt,name=version,proto3,enum=device_utils.AndroidDevice_Version" json:"version,omitempty"`
	Build    *AndroidDevice_BuildData      `protobuf:"bytes,3,opt,name=build,proto3" json:"build,omitempty"`
	Software *AndroidDevice_DeviceSoftware `protobuf:"bytes,4,opt,name=software,proto3" json:"software,omitempty"`
	// Everything below this can technically be abstracted to unified device
	Screen     *ScreenData  `protobuf:"bytes,5,opt,name=screen,proto3" json:"screen,omitempty"`
	Cpu        *CPUData     `protobuf:"bytes,6,opt,name=cpu,proto3" json:"cpu,omitempty"`
	Locale     *Locale      `protobuf:"bytes,7,opt,name=locale,proto3" json:"locale,omitempty"`
	Location   *GPSLocation `protobuf:"bytes,8,opt,name=location,proto3" json:"location,omitempty"`
	Timezone   *Timezone    `protobuf:"bytes,9,opt,name=timezone,proto3" json:"timezone,omitempty"`
	MacAddress *MAC         `protobuf:"bytes,10,opt,name=macAddress,proto3" json:"macAddress,omitempty"`
	SimSlots   []*SIMCard   `protobuf:"bytes,11,rep,name=simSlots,proto3" json:"simSlots,omitempty"` // Dual SIM compatibility
	// contains filtered or unexported fields
}

Android device

func DeviceFromFingerprint

func DeviceFromFingerprint(fingerprint string) (*AndroidDevice, error)

func DeviceFromUserAgent

func DeviceFromUserAgent(userAgent string) (*AndroidDevice, error)

func GetDBDevice

func GetDBDevice(key string) (*AndroidDevice, bool)

func GetRandomDevice

func GetRandomDevice() *AndroidDevice

func (*AndroidDevice) Descriptor deprecated

func (*AndroidDevice) Descriptor() ([]byte, []int)

Deprecated: Use AndroidDevice.ProtoReflect.Descriptor instead.

func (*AndroidDevice) FormatUserAgent

func (device *AndroidDevice) FormatUserAgent(format string) string

func (*AndroidDevice) GetBuild

func (x *AndroidDevice) GetBuild() *AndroidDevice_BuildData

func (*AndroidDevice) GetCpu

func (x *AndroidDevice) GetCpu() *CPUData

func (*AndroidDevice) GetFingerprint

func (device *AndroidDevice) GetFingerprint() string

func (*AndroidDevice) GetId

func (x *AndroidDevice) GetId() *AndroidDevice_ID

func (*AndroidDevice) GetLocale

func (x *AndroidDevice) GetLocale() *Locale

func (*AndroidDevice) GetLocation

func (x *AndroidDevice) GetLocation() *GPSLocation

func (*AndroidDevice) GetMacAddress

func (x *AndroidDevice) GetMacAddress() *MAC

func (*AndroidDevice) GetScreen

func (x *AndroidDevice) GetScreen() *ScreenData

func (*AndroidDevice) GetSimSlots

func (x *AndroidDevice) GetSimSlots() []*SIMCard

func (*AndroidDevice) GetSoftware

func (x *AndroidDevice) GetSoftware() *AndroidDevice_DeviceSoftware

func (*AndroidDevice) GetTimezone

func (x *AndroidDevice) GetTimezone() *Timezone

func (*AndroidDevice) GetUserAgent

func (device *AndroidDevice) GetUserAgent() string

func (*AndroidDevice) GetVersion

func (x *AndroidDevice) GetVersion() AndroidDevice_Version

func (*AndroidDevice) MarshalToSizedBufferVT

func (m *AndroidDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*AndroidDevice) MarshalToVT

func (m *AndroidDevice) MarshalToVT(dAtA []byte) (int, error)

func (*AndroidDevice) MarshalVT

func (m *AndroidDevice) MarshalVT() (dAtA []byte, err error)

func (*AndroidDevice) ProtoMessage

func (*AndroidDevice) ProtoMessage()

func (*AndroidDevice) ProtoReflect

func (x *AndroidDevice) ProtoReflect() protoreflect.Message

func (*AndroidDevice) Randomize

func (device *AndroidDevice) Randomize()

func (*AndroidDevice) Reset

func (x *AndroidDevice) Reset()

func (*AndroidDevice) SizeVT

func (m *AndroidDevice) SizeVT() (n int)

func (*AndroidDevice) String

func (x *AndroidDevice) String() string

func (*AndroidDevice) UnmarshalVT

func (m *AndroidDevice) UnmarshalVT(dAtA []byte) error

type AndroidDevice_BuildData

type AndroidDevice_BuildData struct {
	Board              string `protobuf:"bytes,1,opt,name=board,proto3" json:"board,omitempty"`
	Bootloader         string `protobuf:"bytes,2,opt,name=bootloader,proto3" json:"bootloader,omitempty"`
	Brand              string `protobuf:"bytes,3,opt,name=brand,proto3" json:"brand,omitempty"`
	Device             string `protobuf:"bytes,4,opt,name=device,proto3" json:"device,omitempty"`
	Display            string `protobuf:"bytes,5,opt,name=display,proto3" json:"display,omitempty"`
	Fingerprint        string `protobuf:"bytes,6,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"`
	Hardware           string `protobuf:"bytes,7,opt,name=hardware,proto3" json:"hardware,omitempty"`
	Id                 string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"`
	Manufacturer       string `protobuf:"bytes,9,opt,name=manufacturer,proto3" json:"manufacturer,omitempty"`
	Model              string `protobuf:"bytes,10,opt,name=model,proto3" json:"model,omitempty"`
	OdmSku             string `protobuf:"bytes,11,opt,name=odmSku,proto3" json:"odmSku,omitempty"`
	Product            string `protobuf:"bytes,12,opt,name=product,proto3" json:"product,omitempty"`
	Sku                string `protobuf:"bytes,13,opt,name=sku,proto3" json:"sku,omitempty"`
	SocManufacturer    string `protobuf:"bytes,14,opt,name=socManufacturer,proto3" json:"socManufacturer,omitempty"`
	SocModel           string `protobuf:"bytes,15,opt,name=socModel,proto3" json:"socModel,omitempty"`
	Tags               string `protobuf:"bytes,16,opt,name=tags,proto3" json:"tags,omitempty"`
	Type               string `protobuf:"bytes,17,opt,name=type,proto3" json:"type,omitempty"`
	IncrementalVersion string `protobuf:"bytes,18,opt,name=incrementalVersion,proto3" json:"incrementalVersion,omitempty"`
	// contains filtered or unexported fields
}

https://developer.android.com/reference/android/os/Build

func (*AndroidDevice_BuildData) Descriptor deprecated

func (*AndroidDevice_BuildData) Descriptor() ([]byte, []int)

Deprecated: Use AndroidDevice_BuildData.ProtoReflect.Descriptor instead.

func (*AndroidDevice_BuildData) GetBoard

func (x *AndroidDevice_BuildData) GetBoard() string

func (*AndroidDevice_BuildData) GetBootloader

func (x *AndroidDevice_BuildData) GetBootloader() string

func (*AndroidDevice_BuildData) GetBrand

func (x *AndroidDevice_BuildData) GetBrand() string

func (*AndroidDevice_BuildData) GetDevice

func (x *AndroidDevice_BuildData) GetDevice() string

func (*AndroidDevice_BuildData) GetDisplay

func (x *AndroidDevice_BuildData) GetDisplay() string

func (*AndroidDevice_BuildData) GetFingerprint

func (x *AndroidDevice_BuildData) GetFingerprint() string

func (*AndroidDevice_BuildData) GetHardware

func (x *AndroidDevice_BuildData) GetHardware() string

func (*AndroidDevice_BuildData) GetId

func (x *AndroidDevice_BuildData) GetId() string

func (*AndroidDevice_BuildData) GetIncrementalVersion

func (x *AndroidDevice_BuildData) GetIncrementalVersion() string

func (*AndroidDevice_BuildData) GetManufacturer

func (x *AndroidDevice_BuildData) GetManufacturer() string

func (*AndroidDevice_BuildData) GetModel

func (x *AndroidDevice_BuildData) GetModel() string

func (*AndroidDevice_BuildData) GetOdmSku

func (x *AndroidDevice_BuildData) GetOdmSku() string

func (*AndroidDevice_BuildData) GetProduct

func (x *AndroidDevice_BuildData) GetProduct() string

func (*AndroidDevice_BuildData) GetSku

func (x *AndroidDevice_BuildData) GetSku() string

func (*AndroidDevice_BuildData) GetSocManufacturer

func (x *AndroidDevice_BuildData) GetSocManufacturer() string

func (*AndroidDevice_BuildData) GetSocModel

func (x *AndroidDevice_BuildData) GetSocModel() string

func (*AndroidDevice_BuildData) GetTags

func (x *AndroidDevice_BuildData) GetTags() string

func (*AndroidDevice_BuildData) GetType

func (x *AndroidDevice_BuildData) GetType() string

func (*AndroidDevice_BuildData) MarshalToSizedBufferVT

func (m *AndroidDevice_BuildData) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*AndroidDevice_BuildData) MarshalToVT

func (m *AndroidDevice_BuildData) MarshalToVT(dAtA []byte) (int, error)

func (*AndroidDevice_BuildData) MarshalVT

func (m *AndroidDevice_BuildData) MarshalVT() (dAtA []byte, err error)

func (*AndroidDevice_BuildData) ProtoMessage

func (*AndroidDevice_BuildData) ProtoMessage()

func (*AndroidDevice_BuildData) ProtoReflect

func (x *AndroidDevice_BuildData) ProtoReflect() protoreflect.Message

func (*AndroidDevice_BuildData) Reset

func (x *AndroidDevice_BuildData) Reset()

func (*AndroidDevice_BuildData) SizeVT

func (m *AndroidDevice_BuildData) SizeVT() (n int)

func (*AndroidDevice_BuildData) String

func (x *AndroidDevice_BuildData) String() string

func (*AndroidDevice_BuildData) UnmarshalVT

func (m *AndroidDevice_BuildData) UnmarshalVT(dAtA []byte) error

type AndroidDevice_DeviceSoftware

type AndroidDevice_DeviceSoftware struct {
	SoftwareMetaData map[string]string `` /* 173-byte string literal not displayed */
	// app package : version string
	AppMetaData map[string]string `` /* 163-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*AndroidDevice_DeviceSoftware) Descriptor deprecated

func (*AndroidDevice_DeviceSoftware) Descriptor() ([]byte, []int)

Deprecated: Use AndroidDevice_DeviceSoftware.ProtoReflect.Descriptor instead.

func (*AndroidDevice_DeviceSoftware) GetAppMetaData

func (x *AndroidDevice_DeviceSoftware) GetAppMetaData() map[string]string

func (*AndroidDevice_DeviceSoftware) GetSoftwareMetaData

func (x *AndroidDevice_DeviceSoftware) GetSoftwareMetaData() map[string]string

func (*AndroidDevice_DeviceSoftware) MarshalToSizedBufferVT

func (m *AndroidDevice_DeviceSoftware) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*AndroidDevice_DeviceSoftware) MarshalToVT

func (m *AndroidDevice_DeviceSoftware) MarshalToVT(dAtA []byte) (int, error)

func (*AndroidDevice_DeviceSoftware) MarshalVT

func (m *AndroidDevice_DeviceSoftware) MarshalVT() (dAtA []byte, err error)

func (*AndroidDevice_DeviceSoftware) ProtoMessage

func (*AndroidDevice_DeviceSoftware) ProtoMessage()

func (*AndroidDevice_DeviceSoftware) ProtoReflect

func (*AndroidDevice_DeviceSoftware) Reset

func (x *AndroidDevice_DeviceSoftware) Reset()

func (*AndroidDevice_DeviceSoftware) SizeVT

func (m *AndroidDevice_DeviceSoftware) SizeVT() (n int)

func (*AndroidDevice_DeviceSoftware) String

func (*AndroidDevice_DeviceSoftware) UnmarshalVT

func (m *AndroidDevice_DeviceSoftware) UnmarshalVT(dAtA []byte) error

type AndroidDevice_ID

type AndroidDevice_ID struct {
	Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

func NewAndroidID

func NewAndroidID() *AndroidDevice_ID

func (*AndroidDevice_ID) Descriptor deprecated

func (*AndroidDevice_ID) Descriptor() ([]byte, []int)

Deprecated: Use AndroidDevice_ID.ProtoReflect.Descriptor instead.

func (*AndroidDevice_ID) Equals

func (id *AndroidDevice_ID) Equals(comparison *AndroidDevice_ID) bool

func (*AndroidDevice_ID) FromHex

func (id *AndroidDevice_ID) FromHex(idStr string) error

func (*AndroidDevice_ID) GetID

func (id *AndroidDevice_ID) GetID() uint64

func (*AndroidDevice_ID) GetId

func (x *AndroidDevice_ID) GetId() uint64

func (*AndroidDevice_ID) IsNull

func (id *AndroidDevice_ID) IsNull() bool

func (*AndroidDevice_ID) MarshalToSizedBufferVT

func (m *AndroidDevice_ID) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*AndroidDevice_ID) MarshalToVT

func (m *AndroidDevice_ID) MarshalToVT(dAtA []byte) (int, error)

func (*AndroidDevice_ID) MarshalVT

func (m *AndroidDevice_ID) MarshalVT() (dAtA []byte, err error)

func (*AndroidDevice_ID) ProtoMessage

func (*AndroidDevice_ID) ProtoMessage()

func (*AndroidDevice_ID) ProtoReflect

func (x *AndroidDevice_ID) ProtoReflect() protoreflect.Message

func (*AndroidDevice_ID) Random

func (id *AndroidDevice_ID) Random() error

func (*AndroidDevice_ID) Reset

func (x *AndroidDevice_ID) Reset()

func (*AndroidDevice_ID) SetID

func (id *AndroidDevice_ID) SetID(idN uint64)

func (*AndroidDevice_ID) SizeVT

func (m *AndroidDevice_ID) SizeVT() (n int)

func (*AndroidDevice_ID) String

func (x *AndroidDevice_ID) String() string

func (*AndroidDevice_ID) ToBase64String

func (id *AndroidDevice_ID) ToBase64String() string

func (*AndroidDevice_ID) ToDecimalString

func (id *AndroidDevice_ID) ToDecimalString() string

func (*AndroidDevice_ID) ToHexString

func (id *AndroidDevice_ID) ToHexString() string

func (*AndroidDevice_ID) UnmarshalVT

func (m *AndroidDevice_ID) UnmarshalVT(dAtA []byte) error

type AndroidDevice_Version

type AndroidDevice_Version int32

Src: https://apilevels.com/ BuildNumber defaults: https://source.android.com/docs/setup/about/build-numbers#source-code-tags-and-builds

const (
	AndroidDevice_AndroidVersion_NONE AndroidDevice_Version = 0
	AndroidDevice_V1_0                AndroidDevice_Version = 1  // BASE
	AndroidDevice_V1_1                AndroidDevice_Version = 2  // BASE_1_1
	AndroidDevice_V1_5                AndroidDevice_Version = 3  // CUPCAKE
	AndroidDevice_V1_6                AndroidDevice_Version = 4  // DONUT
	AndroidDevice_V2                  AndroidDevice_Version = 5  // ECLAIR
	AndroidDevice_V2_0_1              AndroidDevice_Version = 6  // ECLAIR_0_1
	AndroidDevice_V2_1                AndroidDevice_Version = 7  // ECLAIR_MR1
	AndroidDevice_V2_2                AndroidDevice_Version = 8  // FROYO
	AndroidDevice_V2_3_2              AndroidDevice_Version = 9  // GINGERBREAD
	AndroidDevice_V2_3_7              AndroidDevice_Version = 10 // GINGERBREAD_MR1
	AndroidDevice_V3_0                AndroidDevice_Version = 11 // HONEYCOMB
	AndroidDevice_v3_1                AndroidDevice_Version = 12 // HONEYCOMB_MR1
	AndroidDevice_V3_2                AndroidDevice_Version = 13 // HONEYCOMB_MR2
	AndroidDevice_V4_0_2              AndroidDevice_Version = 14 // ICE_CREAM_SANDWICH
	AndroidDevice_V4_0_4              AndroidDevice_Version = 15 // ICE_CREAM_SANDWICH_MR1
	AndroidDevice_V4_1                AndroidDevice_Version = 16 // JELLY_BEAN
	AndroidDevice_V4_2                AndroidDevice_Version = 17 // JELLY_BEAN_MR1
	AndroidDevice_V4_3                AndroidDevice_Version = 18 // JELLY_BEAN_MR2
	AndroidDevice_V4_4                AndroidDevice_Version = 19 // KITKAT
	AndroidDevice_V4_4W               AndroidDevice_Version = 20 // KITKAT_WATCH
	AndroidDevice_V5_0                AndroidDevice_Version = 21 // LOLLIPOP / L
	AndroidDevice_V5_1                AndroidDevice_Version = 22 // LOLLIPOP_MR1
	AndroidDevice_V6_0                AndroidDevice_Version = 23 // M
	AndroidDevice_V7_0                AndroidDevice_Version = 24 // N
	AndroidDevice_V7_1                AndroidDevice_Version = 25 // N_MR1
	AndroidDevice_V8_0                AndroidDevice_Version = 26 // O
	AndroidDevice_V8_1                AndroidDevice_Version = 27 // O_MR1
	AndroidDevice_V9_0                AndroidDevice_Version = 28 // P
	AndroidDevice_V10_0               AndroidDevice_Version = 29 // Q
	AndroidDevice_V11_0               AndroidDevice_Version = 30 // R
	AndroidDevice_V12_0               AndroidDevice_Version = 31 // S
	AndroidDevice_V12_0L              AndroidDevice_Version = 32 // S_V2
	AndroidDevice_V13_0               AndroidDevice_Version = 33 // TIRAMISU
	AndroidDevice_V14_0               AndroidDevice_Version = 34 // UPSIDE_DOWN_CAKE
)

func AndroidVersionFromSDKString

func AndroidVersionFromSDKString(sdkStr string) (AndroidDevice_Version, error)

func AndroidVersionFromVersionString

func AndroidVersionFromVersionString(versionStr string) (AndroidDevice_Version, error)

func (AndroidDevice_Version) Descriptor

func (AndroidDevice_Version) Enum

func (AndroidDevice_Version) EnumDescriptor deprecated

func (AndroidDevice_Version) EnumDescriptor() ([]byte, []int)

Deprecated: Use AndroidDevice_Version.Descriptor instead.

func (AndroidDevice_Version) IsValid

func (version AndroidDevice_Version) IsValid() bool

func (AndroidDevice_Version) Number

func (AndroidDevice_Version) String

func (x AndroidDevice_Version) String() string

func (AndroidDevice_Version) ToAndroidSDK

func (version AndroidDevice_Version) ToAndroidSDK() string

func (AndroidDevice_Version) ToAndroidVersion

func (version AndroidDevice_Version) ToAndroidVersion() string

func (AndroidDevice_Version) Type

type Browser

type Browser struct {
	Version        string                  `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	Name           string                  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	UserAgent      string                  `protobuf:"bytes,3,opt,name=userAgent,proto3" json:"userAgent,omitempty"`
	BrandHeader    string                  `protobuf:"bytes,4,opt,name=brandHeader,proto3" json:"brandHeader,omitempty"`
	TlsFingerprint *Browser_TLSFingerprint `protobuf:"bytes,5,opt,name=tlsFingerprint,proto3" json:"tlsFingerprint,omitempty"`
	// contains filtered or unexported fields
}

func (*Browser) Descriptor deprecated

func (*Browser) Descriptor() ([]byte, []int)

Deprecated: Use Browser.ProtoReflect.Descriptor instead.

func (*Browser) GetBrandHeader

func (x *Browser) GetBrandHeader() string

func (*Browser) GetName

func (x *Browser) GetName() string

func (*Browser) GetTlsFingerprint

func (x *Browser) GetTlsFingerprint() *Browser_TLSFingerprint

func (*Browser) GetUserAgent

func (x *Browser) GetUserAgent() string

func (*Browser) GetVersion

func (x *Browser) GetVersion() string

func (*Browser) MarshalToSizedBufferVT

func (m *Browser) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Browser) MarshalToVT

func (m *Browser) MarshalToVT(dAtA []byte) (int, error)

func (*Browser) MarshalVT

func (m *Browser) MarshalVT() (dAtA []byte, err error)

func (*Browser) ProtoMessage

func (*Browser) ProtoMessage()

func (*Browser) ProtoReflect

func (x *Browser) ProtoReflect() protoreflect.Message

func (*Browser) Reset

func (x *Browser) Reset()

func (*Browser) SizeVT

func (m *Browser) SizeVT() (n int)

func (*Browser) String

func (x *Browser) String() string

func (*Browser) UnmarshalVT

func (m *Browser) UnmarshalVT(dAtA []byte) error

type Browser_TLSFingerprint

type Browser_TLSFingerprint struct {
	Version                   Browser_TLSFingerprint_ProtocolVersion            `protobuf:"varint,1,opt,name=version,proto3,enum=device_utils.Browser_TLSFingerprint_ProtocolVersion" json:"version,omitempty"`
	CipherSuites              []Browser_TLSFingerprint_CipherSuite              `` /* 138-byte string literal not displayed */
	Extensions                []Browser_TLSFingerprint_Extensions               `` /* 133-byte string literal not displayed */
	EllipticCurves            []Browser_TLSFingerprint_EllipticCurve            `` /* 144-byte string literal not displayed */
	EllipticCurvePointFormats []Browser_TLSFingerprint_EllipticCurvePointFormat `` /* 177-byte string literal not displayed */
	// contains filtered or unexported fields
}

func ParseTLSFingerprint

func ParseTLSFingerprint(fingerprint string) (*Browser_TLSFingerprint, error)

func (*Browser_TLSFingerprint) Descriptor deprecated

func (*Browser_TLSFingerprint) Descriptor() ([]byte, []int)

Deprecated: Use Browser_TLSFingerprint.ProtoReflect.Descriptor instead.

func (*Browser_TLSFingerprint) FormatTLSFingerprint

func (fp *Browser_TLSFingerprint) FormatTLSFingerprint(strict ...bool) string

func (*Browser_TLSFingerprint) GetCipherSuites

func (*Browser_TLSFingerprint) GetEllipticCurvePointFormats

func (x *Browser_TLSFingerprint) GetEllipticCurvePointFormats() []Browser_TLSFingerprint_EllipticCurvePointFormat

func (*Browser_TLSFingerprint) GetEllipticCurves

func (*Browser_TLSFingerprint) GetExtensions

func (*Browser_TLSFingerprint) GetVersion

func (*Browser_TLSFingerprint) MarshalToSizedBufferVT

func (m *Browser_TLSFingerprint) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Browser_TLSFingerprint) MarshalToVT

func (m *Browser_TLSFingerprint) MarshalToVT(dAtA []byte) (int, error)

func (*Browser_TLSFingerprint) MarshalVT

func (m *Browser_TLSFingerprint) MarshalVT() (dAtA []byte, err error)

func (*Browser_TLSFingerprint) ProtoMessage

func (*Browser_TLSFingerprint) ProtoMessage()

func (*Browser_TLSFingerprint) ProtoReflect

func (x *Browser_TLSFingerprint) ProtoReflect() protoreflect.Message

func (*Browser_TLSFingerprint) Reset

func (x *Browser_TLSFingerprint) Reset()

func (*Browser_TLSFingerprint) SizeVT

func (m *Browser_TLSFingerprint) SizeVT() (n int)

func (*Browser_TLSFingerprint) String

func (x *Browser_TLSFingerprint) String() string

func (*Browser_TLSFingerprint) UnmarshalVT

func (m *Browser_TLSFingerprint) UnmarshalVT(dAtA []byte) error

type Browser_TLSFingerprint_CipherSuite

type Browser_TLSFingerprint_CipherSuite int32

- TLS cipher-suites: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4

const (
	Browser_TLSFingerprint_TLS_NULL_WITH_NULL_NULL                       Browser_TLSFingerprint_CipherSuite = 0
	Browser_TLSFingerprint_TLS_RSA_WITH_NULL_MD5                         Browser_TLSFingerprint_CipherSuite = 1
	Browser_TLSFingerprint_TLS_RSA_WITH_NULL_SHA                         Browser_TLSFingerprint_CipherSuite = 2
	Browser_TLSFingerprint_TLS_RSA_EXPORT_WITH_RC4_40_MD5                Browser_TLSFingerprint_CipherSuite = 3
	Browser_TLSFingerprint_TLS_RSA_WITH_RC4_128_MD5                      Browser_TLSFingerprint_CipherSuite = 4
	Browser_TLSFingerprint_TLS_RSA_WITH_RC4_128_SHA                      Browser_TLSFingerprint_CipherSuite = 5
	Browser_TLSFingerprint_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5            Browser_TLSFingerprint_CipherSuite = 6
	Browser_TLSFingerprint_TLS_RSA_WITH_IDEA_CBC_SHA                     Browser_TLSFingerprint_CipherSuite = 7
	Browser_TLSFingerprint_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 8
	Browser_TLSFingerprint_TLS_RSA_WITH_DES_CBC_SHA                      Browser_TLSFingerprint_CipherSuite = 9
	Browser_TLSFingerprint_TLS_RSA_WITH_3DES_EDE_CBC_SHA                 Browser_TLSFingerprint_CipherSuite = 10
	Browser_TLSFingerprint_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 11
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_DES_CBC_SHA                   Browser_TLSFingerprint_CipherSuite = 12
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 13
	Browser_TLSFingerprint_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 14
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_DES_CBC_SHA                   Browser_TLSFingerprint_CipherSuite = 15
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 16
	Browser_TLSFingerprint_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 17
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_DES_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 18
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 19
	Browser_TLSFingerprint_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 20
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_DES_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 21
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 22
	Browser_TLSFingerprint_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5            Browser_TLSFingerprint_CipherSuite = 23
	Browser_TLSFingerprint_TLS_DH_anon_WITH_RC4_128_MD5                  Browser_TLSFingerprint_CipherSuite = 24
	Browser_TLSFingerprint_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 25
	Browser_TLSFingerprint_TLS_DH_anon_WITH_DES_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 26
	Browser_TLSFingerprint_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 27
	Browser_TLSFingerprint_TLS_KRB5_WITH_DES_CBC_SHA                     Browser_TLSFingerprint_CipherSuite = 30
	Browser_TLSFingerprint_TLS_KRB5_WITH_3DES_EDE_CBC_SHA                Browser_TLSFingerprint_CipherSuite = 31
	Browser_TLSFingerprint_TLS_KRB5_WITH_RC4_128_SHA                     Browser_TLSFingerprint_CipherSuite = 32
	Browser_TLSFingerprint_TLS_KRB5_WITH_IDEA_CBC_SHA                    Browser_TLSFingerprint_CipherSuite = 33
	Browser_TLSFingerprint_TLS_KRB5_WITH_DES_CBC_MD5                     Browser_TLSFingerprint_CipherSuite = 34
	Browser_TLSFingerprint_TLS_KRB5_WITH_3DES_EDE_CBC_MD5                Browser_TLSFingerprint_CipherSuite = 35
	Browser_TLSFingerprint_TLS_KRB5_WITH_RC4_128_MD5                     Browser_TLSFingerprint_CipherSuite = 36
	Browser_TLSFingerprint_TLS_KRB5_WITH_IDEA_CBC_MD5                    Browser_TLSFingerprint_CipherSuite = 37
	Browser_TLSFingerprint_TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA           Browser_TLSFingerprint_CipherSuite = 38
	Browser_TLSFingerprint_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA           Browser_TLSFingerprint_CipherSuite = 39
	Browser_TLSFingerprint_TLS_KRB5_EXPORT_WITH_RC4_40_SHA               Browser_TLSFingerprint_CipherSuite = 40
	Browser_TLSFingerprint_TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5           Browser_TLSFingerprint_CipherSuite = 41
	Browser_TLSFingerprint_TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5           Browser_TLSFingerprint_CipherSuite = 42
	Browser_TLSFingerprint_TLS_KRB5_EXPORT_WITH_RC4_40_MD5               Browser_TLSFingerprint_CipherSuite = 43
	Browser_TLSFingerprint_TLS_PSK_WITH_NULL_SHA                         Browser_TLSFingerprint_CipherSuite = 44
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_NULL_SHA                     Browser_TLSFingerprint_CipherSuite = 45
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_NULL_SHA                     Browser_TLSFingerprint_CipherSuite = 46
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_128_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 47
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_AES_128_CBC_SHA               Browser_TLSFingerprint_CipherSuite = 48
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_AES_128_CBC_SHA               Browser_TLSFingerprint_CipherSuite = 49
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_AES_128_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 50
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_128_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 51
	Browser_TLSFingerprint_TLS_DH_anon_WITH_AES_128_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 52
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_256_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 53
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_AES_256_CBC_SHA               Browser_TLSFingerprint_CipherSuite = 54
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_AES_256_CBC_SHA               Browser_TLSFingerprint_CipherSuite = 55
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_AES_256_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 56
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_256_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 57
	Browser_TLSFingerprint_TLS_DH_anon_WITH_AES_256_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 58
	Browser_TLSFingerprint_TLS_RSA_WITH_NULL_SHA256                      Browser_TLSFingerprint_CipherSuite = 59
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_128_CBC_SHA256               Browser_TLSFingerprint_CipherSuite = 60
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_256_CBC_SHA256               Browser_TLSFingerprint_CipherSuite = 61
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_AES_128_CBC_SHA256            Browser_TLSFingerprint_CipherSuite = 62
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_AES_128_CBC_SHA256            Browser_TLSFingerprint_CipherSuite = 63
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 64
	Browser_TLSFingerprint_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 65
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 66
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 67
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 68
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 69
	Browser_TLSFingerprint_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 70
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 103
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_AES_256_CBC_SHA256            Browser_TLSFingerprint_CipherSuite = 104
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_AES_256_CBC_SHA256            Browser_TLSFingerprint_CipherSuite = 105
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 106
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 107
	Browser_TLSFingerprint_TLS_DH_anon_WITH_AES_128_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 108
	Browser_TLSFingerprint_TLS_DH_anon_WITH_AES_256_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 109
	Browser_TLSFingerprint_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 132
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 133
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 134
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 135
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 136
	Browser_TLSFingerprint_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 137
	Browser_TLSFingerprint_TLS_PSK_WITH_RC4_128_SHA                      Browser_TLSFingerprint_CipherSuite = 138
	Browser_TLSFingerprint_TLS_PSK_WITH_3DES_EDE_CBC_SHA                 Browser_TLSFingerprint_CipherSuite = 139
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_128_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 140
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_256_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 141
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_RC4_128_SHA                  Browser_TLSFingerprint_CipherSuite = 142
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 143
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_AES_128_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 144
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_AES_256_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 145
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_RC4_128_SHA                  Browser_TLSFingerprint_CipherSuite = 146
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 147
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_AES_128_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 148
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_AES_256_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 149
	Browser_TLSFingerprint_TLS_RSA_WITH_SEED_CBC_SHA                     Browser_TLSFingerprint_CipherSuite = 150
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_SEED_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 151
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_SEED_CBC_SHA                  Browser_TLSFingerprint_CipherSuite = 152
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_SEED_CBC_SHA                 Browser_TLSFingerprint_CipherSuite = 153
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_SEED_CBC_SHA                 Browser_TLSFingerprint_CipherSuite = 154
	Browser_TLSFingerprint_TLS_DH_anon_WITH_SEED_CBC_SHA                 Browser_TLSFingerprint_CipherSuite = 155
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_128_GCM_SHA256               Browser_TLSFingerprint_CipherSuite = 156
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_256_GCM_SHA384               Browser_TLSFingerprint_CipherSuite = 157
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256           Browser_TLSFingerprint_CipherSuite = 158
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384           Browser_TLSFingerprint_CipherSuite = 159
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_AES_128_GCM_SHA256            Browser_TLSFingerprint_CipherSuite = 160
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_AES_256_GCM_SHA384            Browser_TLSFingerprint_CipherSuite = 161
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_AES_128_GCM_SHA256           Browser_TLSFingerprint_CipherSuite = 162
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_AES_256_GCM_SHA384           Browser_TLSFingerprint_CipherSuite = 163
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_AES_128_GCM_SHA256            Browser_TLSFingerprint_CipherSuite = 164
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_AES_256_GCM_SHA384            Browser_TLSFingerprint_CipherSuite = 165
	Browser_TLSFingerprint_TLS_DH_anon_WITH_AES_128_GCM_SHA256           Browser_TLSFingerprint_CipherSuite = 166
	Browser_TLSFingerprint_TLS_DH_anon_WITH_AES_256_GCM_SHA384           Browser_TLSFingerprint_CipherSuite = 167
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_128_GCM_SHA256               Browser_TLSFingerprint_CipherSuite = 168
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_256_GCM_SHA384               Browser_TLSFingerprint_CipherSuite = 169
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256           Browser_TLSFingerprint_CipherSuite = 170
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384           Browser_TLSFingerprint_CipherSuite = 171
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256           Browser_TLSFingerprint_CipherSuite = 172
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384           Browser_TLSFingerprint_CipherSuite = 173
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_128_CBC_SHA256               Browser_TLSFingerprint_CipherSuite = 174
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_256_CBC_SHA384               Browser_TLSFingerprint_CipherSuite = 175
	Browser_TLSFingerprint_TLS_PSK_WITH_NULL_SHA256                      Browser_TLSFingerprint_CipherSuite = 176
	Browser_TLSFingerprint_TLS_PSK_WITH_NULL_SHA384                      Browser_TLSFingerprint_CipherSuite = 177
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 178
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384           Browser_TLSFingerprint_CipherSuite = 179
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_NULL_SHA256                  Browser_TLSFingerprint_CipherSuite = 180
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_NULL_SHA384                  Browser_TLSFingerprint_CipherSuite = 181
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 182
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384           Browser_TLSFingerprint_CipherSuite = 183
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_NULL_SHA256                  Browser_TLSFingerprint_CipherSuite = 184
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_NULL_SHA384                  Browser_TLSFingerprint_CipherSuite = 185
	Browser_TLSFingerprint_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 186
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256       Browser_TLSFingerprint_CipherSuite = 187
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256       Browser_TLSFingerprint_CipherSuite = 188
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 189
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 190
	Browser_TLSFingerprint_TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 191
	Browser_TLSFingerprint_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 192
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256       Browser_TLSFingerprint_CipherSuite = 193
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256       Browser_TLSFingerprint_CipherSuite = 194
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 195
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 196
	Browser_TLSFingerprint_TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 197
	Browser_TLSFingerprint_TLS_SM4_GCM_SM3                               Browser_TLSFingerprint_CipherSuite = 198
	Browser_TLSFingerprint_TLS_SM4_CCM_SM3                               Browser_TLSFingerprint_CipherSuite = 199
	Browser_TLSFingerprint_TLS_EMPTY_RENEGOTIATION_INFO_SCSV             Browser_TLSFingerprint_CipherSuite = 255
	Browser_TLSFingerprint_Reserved                                      Browser_TLSFingerprint_CipherSuite = 2570
	Browser_TLSFingerprint_Unassigned                                    Browser_TLSFingerprint_CipherSuite = 4864
	Browser_TLSFingerprint_TLS_AES_128_GCM_SHA256                        Browser_TLSFingerprint_CipherSuite = 4865
	Browser_TLSFingerprint_TLS_AES_256_GCM_SHA384                        Browser_TLSFingerprint_CipherSuite = 4866
	Browser_TLSFingerprint_TLS_CHACHA20_POLY1305_SHA256                  Browser_TLSFingerprint_CipherSuite = 4867
	Browser_TLSFingerprint_TLS_AES_128_CCM_SHA256                        Browser_TLSFingerprint_CipherSuite = 4868
	Browser_TLSFingerprint_TLS_AES_128_CCM_8_SHA256                      Browser_TLSFingerprint_CipherSuite = 4869
	Browser_TLSFingerprint_TLS_AEGIS_256_SHA384                          Browser_TLSFingerprint_CipherSuite = 4870
	Browser_TLSFingerprint_TLS_AEGIS_128L_SHA256                         Browser_TLSFingerprint_CipherSuite = 4871
	Browser_TLSFingerprint_TLS_FALLBACK_SCSV                             Browser_TLSFingerprint_CipherSuite = 22016
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_NULL_SHA                  Browser_TLSFingerprint_CipherSuite = 49153
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_RC4_128_SHA               Browser_TLSFingerprint_CipherSuite = 49154
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 49155
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA           Browser_TLSFingerprint_CipherSuite = 49156
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA           Browser_TLSFingerprint_CipherSuite = 49157
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_NULL_SHA                 Browser_TLSFingerprint_CipherSuite = 49158
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA              Browser_TLSFingerprint_CipherSuite = 49159
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 49160
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 49161
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 49162
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_NULL_SHA                    Browser_TLSFingerprint_CipherSuite = 49163
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_RC4_128_SHA                 Browser_TLSFingerprint_CipherSuite = 49164
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA            Browser_TLSFingerprint_CipherSuite = 49165
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 49166
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 49167
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_NULL_SHA                   Browser_TLSFingerprint_CipherSuite = 49168
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_RC4_128_SHA                Browser_TLSFingerprint_CipherSuite = 49169
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA           Browser_TLSFingerprint_CipherSuite = 49170
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA            Browser_TLSFingerprint_CipherSuite = 49171
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA            Browser_TLSFingerprint_CipherSuite = 49172
	Browser_TLSFingerprint_TLS_ECDH_anon_WITH_NULL_SHA                   Browser_TLSFingerprint_CipherSuite = 49173
	Browser_TLSFingerprint_TLS_ECDH_anon_WITH_RC4_128_SHA                Browser_TLSFingerprint_CipherSuite = 49174
	Browser_TLSFingerprint_TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA           Browser_TLSFingerprint_CipherSuite = 49175
	Browser_TLSFingerprint_TLS_ECDH_anon_WITH_AES_128_CBC_SHA            Browser_TLSFingerprint_CipherSuite = 49176
	Browser_TLSFingerprint_TLS_ECDH_anon_WITH_AES_256_CBC_SHA            Browser_TLSFingerprint_CipherSuite = 49177
	Browser_TLSFingerprint_TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA             Browser_TLSFingerprint_CipherSuite = 49178
	Browser_TLSFingerprint_TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 49179
	Browser_TLSFingerprint_TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA         Browser_TLSFingerprint_CipherSuite = 49180
	Browser_TLSFingerprint_TLS_SRP_SHA_WITH_AES_128_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 49181
	Browser_TLSFingerprint_TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 49182
	Browser_TLSFingerprint_TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 49183
	Browser_TLSFingerprint_TLS_SRP_SHA_WITH_AES_256_CBC_SHA              Browser_TLSFingerprint_CipherSuite = 49184
	Browser_TLSFingerprint_TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 49185
	Browser_TLSFingerprint_TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA          Browser_TLSFingerprint_CipherSuite = 49186
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256       Browser_TLSFingerprint_CipherSuite = 49187
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384       Browser_TLSFingerprint_CipherSuite = 49188
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256        Browser_TLSFingerprint_CipherSuite = 49189
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384        Browser_TLSFingerprint_CipherSuite = 49190
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256         Browser_TLSFingerprint_CipherSuite = 49191
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384         Browser_TLSFingerprint_CipherSuite = 49192
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 49193
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384          Browser_TLSFingerprint_CipherSuite = 49194
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256       Browser_TLSFingerprint_CipherSuite = 49195
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384       Browser_TLSFingerprint_CipherSuite = 49196
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256        Browser_TLSFingerprint_CipherSuite = 49197
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384        Browser_TLSFingerprint_CipherSuite = 49198
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256         Browser_TLSFingerprint_CipherSuite = 49199
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384         Browser_TLSFingerprint_CipherSuite = 49200
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256          Browser_TLSFingerprint_CipherSuite = 49201
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384          Browser_TLSFingerprint_CipherSuite = 49202
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_RC4_128_SHA                Browser_TLSFingerprint_CipherSuite = 49203
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA           Browser_TLSFingerprint_CipherSuite = 49204
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA            Browser_TLSFingerprint_CipherSuite = 49205
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA            Browser_TLSFingerprint_CipherSuite = 49206
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256         Browser_TLSFingerprint_CipherSuite = 49207
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384         Browser_TLSFingerprint_CipherSuite = 49208
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_NULL_SHA                   Browser_TLSFingerprint_CipherSuite = 49209
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_NULL_SHA256                Browser_TLSFingerprint_CipherSuite = 49210
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_NULL_SHA384                Browser_TLSFingerprint_CipherSuite = 49211
	Browser_TLSFingerprint_TLS_RSA_WITH_ARIA_128_CBC_SHA256              Browser_TLSFingerprint_CipherSuite = 49212
	Browser_TLSFingerprint_TLS_RSA_WITH_ARIA_256_CBC_SHA384              Browser_TLSFingerprint_CipherSuite = 49213
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 49214
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384           Browser_TLSFingerprint_CipherSuite = 49215
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256           Browser_TLSFingerprint_CipherSuite = 49216
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384           Browser_TLSFingerprint_CipherSuite = 49217
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 49218
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384          Browser_TLSFingerprint_CipherSuite = 49219
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 49220
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384          Browser_TLSFingerprint_CipherSuite = 49221
	Browser_TLSFingerprint_TLS_DH_anon_WITH_ARIA_128_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 49222
	Browser_TLSFingerprint_TLS_DH_anon_WITH_ARIA_256_CBC_SHA384          Browser_TLSFingerprint_CipherSuite = 49223
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 49224
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384      Browser_TLSFingerprint_CipherSuite = 49225
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256       Browser_TLSFingerprint_CipherSuite = 49226
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384       Browser_TLSFingerprint_CipherSuite = 49227
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256        Browser_TLSFingerprint_CipherSuite = 49228
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384        Browser_TLSFingerprint_CipherSuite = 49229
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256         Browser_TLSFingerprint_CipherSuite = 49230
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384         Browser_TLSFingerprint_CipherSuite = 49231
	Browser_TLSFingerprint_TLS_RSA_WITH_ARIA_128_GCM_SHA256              Browser_TLSFingerprint_CipherSuite = 49232
	Browser_TLSFingerprint_TLS_RSA_WITH_ARIA_256_GCM_SHA384              Browser_TLSFingerprint_CipherSuite = 49233
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256          Browser_TLSFingerprint_CipherSuite = 49234
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384          Browser_TLSFingerprint_CipherSuite = 49235
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256           Browser_TLSFingerprint_CipherSuite = 49236
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384           Browser_TLSFingerprint_CipherSuite = 49237
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256          Browser_TLSFingerprint_CipherSuite = 49238
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384          Browser_TLSFingerprint_CipherSuite = 49239
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256           Browser_TLSFingerprint_CipherSuite = 49240
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384           Browser_TLSFingerprint_CipherSuite = 49241
	Browser_TLSFingerprint_TLS_DH_anon_WITH_ARIA_128_GCM_SHA256          Browser_TLSFingerprint_CipherSuite = 49242
	Browser_TLSFingerprint_TLS_DH_anon_WITH_ARIA_256_GCM_SHA384          Browser_TLSFingerprint_CipherSuite = 49243
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256      Browser_TLSFingerprint_CipherSuite = 49244
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384      Browser_TLSFingerprint_CipherSuite = 49245
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256       Browser_TLSFingerprint_CipherSuite = 49246
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384       Browser_TLSFingerprint_CipherSuite = 49247
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256        Browser_TLSFingerprint_CipherSuite = 49248
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384        Browser_TLSFingerprint_CipherSuite = 49249
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256         Browser_TLSFingerprint_CipherSuite = 49250
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384         Browser_TLSFingerprint_CipherSuite = 49251
	Browser_TLSFingerprint_TLS_PSK_WITH_ARIA_128_CBC_SHA256              Browser_TLSFingerprint_CipherSuite = 49252
	Browser_TLSFingerprint_TLS_PSK_WITH_ARIA_256_CBC_SHA384              Browser_TLSFingerprint_CipherSuite = 49253
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 49254
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384          Browser_TLSFingerprint_CipherSuite = 49255
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 49256
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384          Browser_TLSFingerprint_CipherSuite = 49257
	Browser_TLSFingerprint_TLS_PSK_WITH_ARIA_128_GCM_SHA256              Browser_TLSFingerprint_CipherSuite = 49258
	Browser_TLSFingerprint_TLS_PSK_WITH_ARIA_256_GCM_SHA384              Browser_TLSFingerprint_CipherSuite = 49259
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256          Browser_TLSFingerprint_CipherSuite = 49260
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384          Browser_TLSFingerprint_CipherSuite = 49261
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256          Browser_TLSFingerprint_CipherSuite = 49262
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384          Browser_TLSFingerprint_CipherSuite = 49263
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256        Browser_TLSFingerprint_CipherSuite = 49264
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384        Browser_TLSFingerprint_CipherSuite = 49265
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256  Browser_TLSFingerprint_CipherSuite = 49266
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384  Browser_TLSFingerprint_CipherSuite = 49267
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256   Browser_TLSFingerprint_CipherSuite = 49268
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384   Browser_TLSFingerprint_CipherSuite = 49269
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256    Browser_TLSFingerprint_CipherSuite = 49270
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384    Browser_TLSFingerprint_CipherSuite = 49271
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256     Browser_TLSFingerprint_CipherSuite = 49272
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384     Browser_TLSFingerprint_CipherSuite = 49273
	Browser_TLSFingerprint_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256          Browser_TLSFingerprint_CipherSuite = 49274
	Browser_TLSFingerprint_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384          Browser_TLSFingerprint_CipherSuite = 49275
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256      Browser_TLSFingerprint_CipherSuite = 49276
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384      Browser_TLSFingerprint_CipherSuite = 49277
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256       Browser_TLSFingerprint_CipherSuite = 49278
	Browser_TLSFingerprint_TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384       Browser_TLSFingerprint_CipherSuite = 49279
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256      Browser_TLSFingerprint_CipherSuite = 49280
	Browser_TLSFingerprint_TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384      Browser_TLSFingerprint_CipherSuite = 49281
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256       Browser_TLSFingerprint_CipherSuite = 49282
	Browser_TLSFingerprint_TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384       Browser_TLSFingerprint_CipherSuite = 49283
	Browser_TLSFingerprint_TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256      Browser_TLSFingerprint_CipherSuite = 49284
	Browser_TLSFingerprint_TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384      Browser_TLSFingerprint_CipherSuite = 49285
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256  Browser_TLSFingerprint_CipherSuite = 49286
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384  Browser_TLSFingerprint_CipherSuite = 49287
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256   Browser_TLSFingerprint_CipherSuite = 49288
	Browser_TLSFingerprint_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384   Browser_TLSFingerprint_CipherSuite = 49289
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256    Browser_TLSFingerprint_CipherSuite = 49290
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384    Browser_TLSFingerprint_CipherSuite = 49291
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256     Browser_TLSFingerprint_CipherSuite = 49292
	Browser_TLSFingerprint_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384     Browser_TLSFingerprint_CipherSuite = 49293
	Browser_TLSFingerprint_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256          Browser_TLSFingerprint_CipherSuite = 49294
	Browser_TLSFingerprint_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384          Browser_TLSFingerprint_CipherSuite = 49295
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256      Browser_TLSFingerprint_CipherSuite = 49296
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384      Browser_TLSFingerprint_CipherSuite = 49297
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256      Browser_TLSFingerprint_CipherSuite = 49298
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384      Browser_TLSFingerprint_CipherSuite = 49299
	Browser_TLSFingerprint_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256          Browser_TLSFingerprint_CipherSuite = 49300
	Browser_TLSFingerprint_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384          Browser_TLSFingerprint_CipherSuite = 49301
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 49302
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384      Browser_TLSFingerprint_CipherSuite = 49303
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256      Browser_TLSFingerprint_CipherSuite = 49304
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384      Browser_TLSFingerprint_CipherSuite = 49305
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256    Browser_TLSFingerprint_CipherSuite = 49306
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384    Browser_TLSFingerprint_CipherSuite = 49307
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_128_CCM                      Browser_TLSFingerprint_CipherSuite = 49308
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_256_CCM                      Browser_TLSFingerprint_CipherSuite = 49309
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_128_CCM                  Browser_TLSFingerprint_CipherSuite = 49310
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_256_CCM                  Browser_TLSFingerprint_CipherSuite = 49311
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_128_CCM_8                    Browser_TLSFingerprint_CipherSuite = 49312
	Browser_TLSFingerprint_TLS_RSA_WITH_AES_256_CCM_8                    Browser_TLSFingerprint_CipherSuite = 49313
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_128_CCM_8                Browser_TLSFingerprint_CipherSuite = 49314
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_AES_256_CCM_8                Browser_TLSFingerprint_CipherSuite = 49315
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_128_CCM                      Browser_TLSFingerprint_CipherSuite = 49316
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_256_CCM                      Browser_TLSFingerprint_CipherSuite = 49317
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_AES_128_CCM                  Browser_TLSFingerprint_CipherSuite = 49318
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_AES_256_CCM                  Browser_TLSFingerprint_CipherSuite = 49319
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_128_CCM_8                    Browser_TLSFingerprint_CipherSuite = 49320
	Browser_TLSFingerprint_TLS_PSK_WITH_AES_256_CCM_8                    Browser_TLSFingerprint_CipherSuite = 49321
	Browser_TLSFingerprint_TLS_PSK_DHE_WITH_AES_128_CCM_8                Browser_TLSFingerprint_CipherSuite = 49322
	Browser_TLSFingerprint_TLS_PSK_DHE_WITH_AES_256_CCM_8                Browser_TLSFingerprint_CipherSuite = 49323
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_128_CCM              Browser_TLSFingerprint_CipherSuite = 49324
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_256_CCM              Browser_TLSFingerprint_CipherSuite = 49325
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8            Browser_TLSFingerprint_CipherSuite = 49326
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8            Browser_TLSFingerprint_CipherSuite = 49327
	Browser_TLSFingerprint_TLS_ECCPWD_WITH_AES_128_GCM_SHA256            Browser_TLSFingerprint_CipherSuite = 49328
	Browser_TLSFingerprint_TLS_ECCPWD_WITH_AES_256_GCM_SHA384            Browser_TLSFingerprint_CipherSuite = 49329
	Browser_TLSFingerprint_TLS_ECCPWD_WITH_AES_128_CCM_SHA256            Browser_TLSFingerprint_CipherSuite = 49330
	Browser_TLSFingerprint_TLS_ECCPWD_WITH_AES_256_CCM_SHA384            Browser_TLSFingerprint_CipherSuite = 49331
	Browser_TLSFingerprint_TLS_SHA256_SHA256                             Browser_TLSFingerprint_CipherSuite = 49332
	Browser_TLSFingerprint_TLS_SHA384_SHA384                             Browser_TLSFingerprint_CipherSuite = 49333
	Browser_TLSFingerprint_TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC  Browser_TLSFingerprint_CipherSuite = 49408
	Browser_TLSFingerprint_TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC       Browser_TLSFingerprint_CipherSuite = 49409
	Browser_TLSFingerprint_TLS_GOSTR341112_256_WITH_28147_CNT_IMIT       Browser_TLSFingerprint_CipherSuite = 49410
	Browser_TLSFingerprint_TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L     Browser_TLSFingerprint_CipherSuite = 49411
	Browser_TLSFingerprint_TLS_GOSTR341112_256_WITH_MAGMA_MGM_L          Browser_TLSFingerprint_CipherSuite = 49412
	Browser_TLSFingerprint_TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S     Browser_TLSFingerprint_CipherSuite = 49413
	Browser_TLSFingerprint_TLS_GOSTR341112_256_WITH_MAGMA_MGM_S          Browser_TLSFingerprint_CipherSuite = 49414
	Browser_TLSFingerprint_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256   Browser_TLSFingerprint_CipherSuite = 52392
	Browser_TLSFingerprint_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 Browser_TLSFingerprint_CipherSuite = 52393
	Browser_TLSFingerprint_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256     Browser_TLSFingerprint_CipherSuite = 52394
	Browser_TLSFingerprint_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256         Browser_TLSFingerprint_CipherSuite = 52395
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256   Browser_TLSFingerprint_CipherSuite = 52396
	Browser_TLSFingerprint_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256     Browser_TLSFingerprint_CipherSuite = 52397
	Browser_TLSFingerprint_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256     Browser_TLSFingerprint_CipherSuite = 52398
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256         Browser_TLSFingerprint_CipherSuite = 53249
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384         Browser_TLSFingerprint_CipherSuite = 53250
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256       Browser_TLSFingerprint_CipherSuite = 53251
	Browser_TLSFingerprint_TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256         Browser_TLSFingerprint_CipherSuite = 53253
)

func (Browser_TLSFingerprint_CipherSuite) Descriptor

func (Browser_TLSFingerprint_CipherSuite) Enum

func (Browser_TLSFingerprint_CipherSuite) EnumDescriptor deprecated

func (Browser_TLSFingerprint_CipherSuite) EnumDescriptor() ([]byte, []int)

Deprecated: Use Browser_TLSFingerprint_CipherSuite.Descriptor instead.

func (Browser_TLSFingerprint_CipherSuite) Number

func (Browser_TLSFingerprint_CipherSuite) String

func (Browser_TLSFingerprint_CipherSuite) Type

type Browser_TLSFingerprint_EllipticCurve

type Browser_TLSFingerprint_EllipticCurve int32

- Elliptic curves: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-8

const (
	Browser_TLSFingerprint_RESERVED                        Browser_TLSFingerprint_EllipticCurve = 0
	Browser_TLSFingerprint_SECT163K1                       Browser_TLSFingerprint_EllipticCurve = 1
	Browser_TLSFingerprint_SECT163R1                       Browser_TLSFingerprint_EllipticCurve = 2
	Browser_TLSFingerprint_SECT163R2                       Browser_TLSFingerprint_EllipticCurve = 3
	Browser_TLSFingerprint_SECT193R1                       Browser_TLSFingerprint_EllipticCurve = 4
	Browser_TLSFingerprint_SECT193R2                       Browser_TLSFingerprint_EllipticCurve = 5
	Browser_TLSFingerprint_SECT233K1                       Browser_TLSFingerprint_EllipticCurve = 6
	Browser_TLSFingerprint_SECT233R1                       Browser_TLSFingerprint_EllipticCurve = 7
	Browser_TLSFingerprint_SECT239K1                       Browser_TLSFingerprint_EllipticCurve = 8
	Browser_TLSFingerprint_SECT283K1                       Browser_TLSFingerprint_EllipticCurve = 9
	Browser_TLSFingerprint_SECT283R1                       Browser_TLSFingerprint_EllipticCurve = 10
	Browser_TLSFingerprint_SECT409K1                       Browser_TLSFingerprint_EllipticCurve = 11
	Browser_TLSFingerprint_SECT409R1                       Browser_TLSFingerprint_EllipticCurve = 12
	Browser_TLSFingerprint_SECT571K1                       Browser_TLSFingerprint_EllipticCurve = 13
	Browser_TLSFingerprint_SECT571R1                       Browser_TLSFingerprint_EllipticCurve = 14
	Browser_TLSFingerprint_SECP160K1                       Browser_TLSFingerprint_EllipticCurve = 15
	Browser_TLSFingerprint_SECP160R1                       Browser_TLSFingerprint_EllipticCurve = 16
	Browser_TLSFingerprint_SECP160R2                       Browser_TLSFingerprint_EllipticCurve = 17
	Browser_TLSFingerprint_SECP192K1                       Browser_TLSFingerprint_EllipticCurve = 18
	Browser_TLSFingerprint_SECP192R1                       Browser_TLSFingerprint_EllipticCurve = 19
	Browser_TLSFingerprint_SECP224K1                       Browser_TLSFingerprint_EllipticCurve = 20
	Browser_TLSFingerprint_SECP224R1                       Browser_TLSFingerprint_EllipticCurve = 21
	Browser_TLSFingerprint_SECP256K1                       Browser_TLSFingerprint_EllipticCurve = 22
	Browser_TLSFingerprint_SECP256R1                       Browser_TLSFingerprint_EllipticCurve = 23
	Browser_TLSFingerprint_SECP384R1                       Browser_TLSFingerprint_EllipticCurve = 24
	Browser_TLSFingerprint_SECP521R1                       Browser_TLSFingerprint_EllipticCurve = 25
	Browser_TLSFingerprint_BRAINPOOLP256R1                 Browser_TLSFingerprint_EllipticCurve = 26
	Browser_TLSFingerprint_BRAINPOOLP384R1                 Browser_TLSFingerprint_EllipticCurve = 27
	Browser_TLSFingerprint_BRAINPOOLP512R1                 Browser_TLSFingerprint_EllipticCurve = 28
	Browser_TLSFingerprint_X25519                          Browser_TLSFingerprint_EllipticCurve = 29
	Browser_TLSFingerprint_X448                            Browser_TLSFingerprint_EllipticCurve = 30
	Browser_TLSFingerprint_BRAINPOOLP256R1TLS13            Browser_TLSFingerprint_EllipticCurve = 31
	Browser_TLSFingerprint_BRAINPOOLP384R1TLS13            Browser_TLSFingerprint_EllipticCurve = 32
	Browser_TLSFingerprint_BRAINPOOLP512R1TLS13            Browser_TLSFingerprint_EllipticCurve = 33
	Browser_TLSFingerprint_GC256A                          Browser_TLSFingerprint_EllipticCurve = 34
	Browser_TLSFingerprint_GC256B                          Browser_TLSFingerprint_EllipticCurve = 35
	Browser_TLSFingerprint_GC256C                          Browser_TLSFingerprint_EllipticCurve = 36
	Browser_TLSFingerprint_GC256D                          Browser_TLSFingerprint_EllipticCurve = 37
	Browser_TLSFingerprint_GC512A                          Browser_TLSFingerprint_EllipticCurve = 38
	Browser_TLSFingerprint_GC512B                          Browser_TLSFingerprint_EllipticCurve = 39
	Browser_TLSFingerprint_GC512C                          Browser_TLSFingerprint_EllipticCurve = 40
	Browser_TLSFingerprint_CURVESM2                        Browser_TLSFingerprint_EllipticCurve = 41
	Browser_TLSFingerprint_FFDHE2048                       Browser_TLSFingerprint_EllipticCurve = 256
	Browser_TLSFingerprint_FFDHE3072                       Browser_TLSFingerprint_EllipticCurve = 257
	Browser_TLSFingerprint_FFDHE4096                       Browser_TLSFingerprint_EllipticCurve = 258
	Browser_TLSFingerprint_FFDHE6144                       Browser_TLSFingerprint_EllipticCurve = 259
	Browser_TLSFingerprint_FFDHE8192                       Browser_TLSFingerprint_EllipticCurve = 260
	Browser_TLSFingerprint_ARBITRARY_EXPLICIT_PRIME_CURVES Browser_TLSFingerprint_EllipticCurve = 65281
	Browser_TLSFingerprint_ARBITRARY_EXPLICIT_CHAR2_CURVES Browser_TLSFingerprint_EllipticCurve = 65282
)

func (Browser_TLSFingerprint_EllipticCurve) Descriptor

func (Browser_TLSFingerprint_EllipticCurve) Enum

func (Browser_TLSFingerprint_EllipticCurve) EnumDescriptor deprecated

func (Browser_TLSFingerprint_EllipticCurve) EnumDescriptor() ([]byte, []int)

Deprecated: Use Browser_TLSFingerprint_EllipticCurve.Descriptor instead.

func (Browser_TLSFingerprint_EllipticCurve) Number

func (Browser_TLSFingerprint_EllipticCurve) String

func (Browser_TLSFingerprint_EllipticCurve) Type

type Browser_TLSFingerprint_EllipticCurvePointFormat

type Browser_TLSFingerprint_EllipticCurvePointFormat int32

https://www.rfc-editor.org/rfc/rfc4492#section-5.1.2

const (
	Browser_TLSFingerprint_UNCOMPRESSED               Browser_TLSFingerprint_EllipticCurvePointFormat = 0
	Browser_TLSFingerprint_ANSI_X962_COMPRESSED_PRIME Browser_TLSFingerprint_EllipticCurvePointFormat = 1
	Browser_TLSFingerprint_ANSI_X962_COMPRESSED_CHAR2 Browser_TLSFingerprint_EllipticCurvePointFormat = 2
)

func (Browser_TLSFingerprint_EllipticCurvePointFormat) Descriptor

func (Browser_TLSFingerprint_EllipticCurvePointFormat) Enum

func (Browser_TLSFingerprint_EllipticCurvePointFormat) EnumDescriptor deprecated

Deprecated: Use Browser_TLSFingerprint_EllipticCurvePointFormat.Descriptor instead.

func (Browser_TLSFingerprint_EllipticCurvePointFormat) Number

func (Browser_TLSFingerprint_EllipticCurvePointFormat) String

func (Browser_TLSFingerprint_EllipticCurvePointFormat) Type

type Browser_TLSFingerprint_Extensions

type Browser_TLSFingerprint_Extensions int32

- TLS extensions: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml

const (
	Browser_TLSFingerprint_SERVER_NAME                            Browser_TLSFingerprint_Extensions = 0
	Browser_TLSFingerprint_MAX_FRAGMENT_LENGTH                    Browser_TLSFingerprint_Extensions = 1
	Browser_TLSFingerprint_CLIENT_CERTIFICATE_URL                 Browser_TLSFingerprint_Extensions = 2
	Browser_TLSFingerprint_TRUSTED_CA_KEYS                        Browser_TLSFingerprint_Extensions = 3
	Browser_TLSFingerprint_TRUNCATED_HMAC                         Browser_TLSFingerprint_Extensions = 4
	Browser_TLSFingerprint_STATUS_REQUEST                         Browser_TLSFingerprint_Extensions = 5
	Browser_TLSFingerprint_USER_MAPPING                           Browser_TLSFingerprint_Extensions = 6
	Browser_TLSFingerprint_CLIENT_AUTHZ                           Browser_TLSFingerprint_Extensions = 7
	Browser_TLSFingerprint_SERVER_AUTHZ                           Browser_TLSFingerprint_Extensions = 8
	Browser_TLSFingerprint_CERT_TYPE                              Browser_TLSFingerprint_Extensions = 9
	Browser_TLSFingerprint_SUPPORTED_GROUPS                       Browser_TLSFingerprint_Extensions = 10
	Browser_TLSFingerprint_EC_POINT_FORMATS                       Browser_TLSFingerprint_Extensions = 11
	Browser_TLSFingerprint_SRP                                    Browser_TLSFingerprint_Extensions = 12
	Browser_TLSFingerprint_SIGNATURE_ALGORITHMS                   Browser_TLSFingerprint_Extensions = 13
	Browser_TLSFingerprint_USE_SRTP                               Browser_TLSFingerprint_Extensions = 14
	Browser_TLSFingerprint_HEARTBEAT                              Browser_TLSFingerprint_Extensions = 15
	Browser_TLSFingerprint_APPLICATION_LAYER_PROTOCOL_NEGOTIATION Browser_TLSFingerprint_Extensions = 16
	Browser_TLSFingerprint_STATUS_REQUEST_V2                      Browser_TLSFingerprint_Extensions = 17
	Browser_TLSFingerprint_SIGNED_CERTIFICATE_TIMESTAMP           Browser_TLSFingerprint_Extensions = 18
	Browser_TLSFingerprint_CLIENT_CERTIFICATE_TYPE                Browser_TLSFingerprint_Extensions = 19
	Browser_TLSFingerprint_SERVER_CERTIFICATE_TYPE                Browser_TLSFingerprint_Extensions = 20
	Browser_TLSFingerprint_PADDING                                Browser_TLSFingerprint_Extensions = 21
	Browser_TLSFingerprint_ENCRYPT_THEN_MAC                       Browser_TLSFingerprint_Extensions = 22
	Browser_TLSFingerprint_EXTENDED_MASTER_SECRET                 Browser_TLSFingerprint_Extensions = 23
	Browser_TLSFingerprint_TOKEN_BINDING                          Browser_TLSFingerprint_Extensions = 24
	Browser_TLSFingerprint_CACHED_INFO                            Browser_TLSFingerprint_Extensions = 25
	Browser_TLSFingerprint_TLS_LTS                                Browser_TLSFingerprint_Extensions = 26
	Browser_TLSFingerprint_COMPRESS_CERTIFICATE                   Browser_TLSFingerprint_Extensions = 27
	Browser_TLSFingerprint_RECORD_SIZE_LIMIT                      Browser_TLSFingerprint_Extensions = 28
	Browser_TLSFingerprint_PWD_PROTECT                            Browser_TLSFingerprint_Extensions = 29
	Browser_TLSFingerprint_PWD_CLEAR                              Browser_TLSFingerprint_Extensions = 30
	Browser_TLSFingerprint_PASSWORD_SALT                          Browser_TLSFingerprint_Extensions = 31
	Browser_TLSFingerprint_TICKET_PINNING                         Browser_TLSFingerprint_Extensions = 32
	Browser_TLSFingerprint_TLS_CERT_WITH_EXTERN_PSK               Browser_TLSFingerprint_Extensions = 33
	Browser_TLSFingerprint_DELEGATED_CREDENTIAL                   Browser_TLSFingerprint_Extensions = 34
	Browser_TLSFingerprint_SESSION_TICKET                         Browser_TLSFingerprint_Extensions = 35
	Browser_TLSFingerprint_TLMSP                                  Browser_TLSFingerprint_Extensions = 36
	Browser_TLSFingerprint_TLMSP_PROXYING                         Browser_TLSFingerprint_Extensions = 37
	Browser_TLSFingerprint_TLMSP_DELEGATE                         Browser_TLSFingerprint_Extensions = 38
	Browser_TLSFingerprint_SUPPORTED_EKT_CIPHERS                  Browser_TLSFingerprint_Extensions = 39
	Browser_TLSFingerprint_PRE_SHARED_KEY                         Browser_TLSFingerprint_Extensions = 41
	Browser_TLSFingerprint_EARLY_DATA                             Browser_TLSFingerprint_Extensions = 42
	Browser_TLSFingerprint_SUPPORTED_VERSIONS                     Browser_TLSFingerprint_Extensions = 43
	Browser_TLSFingerprint_COOKIE                                 Browser_TLSFingerprint_Extensions = 44
	Browser_TLSFingerprint_PSK_KEY_EXCHANGE_MODES                 Browser_TLSFingerprint_Extensions = 45
	Browser_TLSFingerprint_CERTIFICATE_AUTHORITIES                Browser_TLSFingerprint_Extensions = 47
	Browser_TLSFingerprint_OID_FILTERS                            Browser_TLSFingerprint_Extensions = 48
	Browser_TLSFingerprint_POST_HANDSHAKE_AUTH                    Browser_TLSFingerprint_Extensions = 49
	Browser_TLSFingerprint_SIGNATURE_ALGORITHMS_CERT              Browser_TLSFingerprint_Extensions = 50
	Browser_TLSFingerprint_KEY_SHARE                              Browser_TLSFingerprint_Extensions = 51
	Browser_TLSFingerprint_TRANSPARENCY_INFO                      Browser_TLSFingerprint_Extensions = 52
	Browser_TLSFingerprint_CONNECTION_ID_DEPRECATED               Browser_TLSFingerprint_Extensions = 53
	Browser_TLSFingerprint_CONNECTION_ID                          Browser_TLSFingerprint_Extensions = 54
	Browser_TLSFingerprint_EXTERNAL_ID_HASH                       Browser_TLSFingerprint_Extensions = 55
	Browser_TLSFingerprint_EXTERNAL_SESSION_ID                    Browser_TLSFingerprint_Extensions = 56
	Browser_TLSFingerprint_QUIC_TRANSPORT_PARAMETERS              Browser_TLSFingerprint_Extensions = 57
	Browser_TLSFingerprint_TICKET_REQUEST                         Browser_TLSFingerprint_Extensions = 58
	Browser_TLSFingerprint_DNSSEC_CHAIN                           Browser_TLSFingerprint_Extensions = 59
	Browser_TLSFingerprint_SEQUENCE_NUMBER_ENCRYPTION_ALGORITHMS  Browser_TLSFingerprint_Extensions = 60
	// src: boringssl
	Browser_TLSFingerprint_EXTENSION_APPLICATIONS_SETTINGS Browser_TLSFingerprint_Extensions = 17513
	Browser_TLSFingerprint_EXTENSION_RENEGOTIATION_INFO    Browser_TLSFingerprint_Extensions = 65281
)

func (Browser_TLSFingerprint_Extensions) Descriptor

func (Browser_TLSFingerprint_Extensions) Enum

func (Browser_TLSFingerprint_Extensions) EnumDescriptor deprecated

func (Browser_TLSFingerprint_Extensions) EnumDescriptor() ([]byte, []int)

Deprecated: Use Browser_TLSFingerprint_Extensions.Descriptor instead.

func (Browser_TLSFingerprint_Extensions) Number

func (Browser_TLSFingerprint_Extensions) String

func (Browser_TLSFingerprint_Extensions) Type

type Browser_TLSFingerprint_ProtocolVersion

type Browser_TLSFingerprint_ProtocolVersion int32

- RFC 5246 (TLS 1.2): https://tools.ietf.org/html/rfc5246 - RFC 6101 (SSL 3.0): https://tools.ietf.org/html/rfc6101 https://github.com/openssl/openssl/blob/c04e78f0c69201226430fed14c291c281da47f2d/include/openssl/prov_ssl.h

const (
	Browser_TLSFingerprint_UNKNOWN   Browser_TLSFingerprint_ProtocolVersion = 0
	Browser_TLSFingerprint_SSL3      Browser_TLSFingerprint_ProtocolVersion = 768
	Browser_TLSFingerprint_TLS1      Browser_TLSFingerprint_ProtocolVersion = 769
	Browser_TLSFingerprint_TLS1_1    Browser_TLSFingerprint_ProtocolVersion = 770
	Browser_TLSFingerprint_TLS1_2    Browser_TLSFingerprint_ProtocolVersion = 771
	Browser_TLSFingerprint_TLS1_3    Browser_TLSFingerprint_ProtocolVersion = 772
	Browser_TLSFingerprint_DTLS1     Browser_TLSFingerprint_ProtocolVersion = 65279
	Browser_TLSFingerprint_DTLS1_2   Browser_TLSFingerprint_ProtocolVersion = 65277
	Browser_TLSFingerprint_DTLS1_BAD Browser_TLSFingerprint_ProtocolVersion = 256
)

func (Browser_TLSFingerprint_ProtocolVersion) Descriptor

func (Browser_TLSFingerprint_ProtocolVersion) Enum

func (Browser_TLSFingerprint_ProtocolVersion) EnumDescriptor deprecated

func (Browser_TLSFingerprint_ProtocolVersion) EnumDescriptor() ([]byte, []int)

Deprecated: Use Browser_TLSFingerprint_ProtocolVersion.Descriptor instead.

func (Browser_TLSFingerprint_ProtocolVersion) Number

func (Browser_TLSFingerprint_ProtocolVersion) String

func (Browser_TLSFingerprint_ProtocolVersion) Type

type CPUData

type CPUData struct {
	Arch     CPUData_Architecture `protobuf:"varint,1,opt,name=arch,proto3,enum=device_utils.CPUData_Architecture" json:"arch,omitempty"`
	ArchName string               `protobuf:"bytes,2,opt,name=archName,proto3" json:"archName,omitempty"`
	Model    string               `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
	Brand    string               `protobuf:"bytes,4,opt,name=brand,proto3" json:"brand,omitempty"`
	Board    string               `protobuf:"bytes,5,opt,name=board,proto3" json:"board,omitempty"`
	AbiList  []string             `protobuf:"bytes,6,rep,name=abiList,proto3" json:"abiList,omitempty"`
	// contains filtered or unexported fields
}

func (*CPUData) Descriptor deprecated

func (*CPUData) Descriptor() ([]byte, []int)

Deprecated: Use CPUData.ProtoReflect.Descriptor instead.

func (*CPUData) GetAbiList

func (x *CPUData) GetAbiList() []string

func (*CPUData) GetArch

func (x *CPUData) GetArch() CPUData_Architecture

func (*CPUData) GetArchName

func (x *CPUData) GetArchName() string

func (*CPUData) GetBoard

func (x *CPUData) GetBoard() string

func (*CPUData) GetBrand

func (x *CPUData) GetBrand() string

func (*CPUData) GetModel

func (x *CPUData) GetModel() string

func (*CPUData) MarshalToSizedBufferVT

func (m *CPUData) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*CPUData) MarshalToVT

func (m *CPUData) MarshalToVT(dAtA []byte) (int, error)

func (*CPUData) MarshalVT

func (m *CPUData) MarshalVT() (dAtA []byte, err error)

func (*CPUData) ProtoMessage

func (*CPUData) ProtoMessage()

func (*CPUData) ProtoReflect

func (x *CPUData) ProtoReflect() protoreflect.Message

func (*CPUData) Reset

func (x *CPUData) Reset()

func (*CPUData) SizeVT

func (m *CPUData) SizeVT() (n int)

func (*CPUData) String

func (x *CPUData) String() string

func (*CPUData) UnmarshalVT

func (m *CPUData) UnmarshalVT(dAtA []byte) error

type CPUData_Architecture

type CPUData_Architecture int32
const (
	CPUData_UNKNOWN CPUData_Architecture = 0
	CPUData_ARM     CPUData_Architecture = 1
	CPUData_ARM64   CPUData_Architecture = 2
	CPUData_MIPS    CPUData_Architecture = 3
	CPUData_MIPSEL  CPUData_Architecture = 4
	CPUData_PPC     CPUData_Architecture = 5
	CPUData_PPC64   CPUData_Architecture = 6
	CPUData_X32     CPUData_Architecture = 7
	CPUData_X64     CPUData_Architecture = 8
)

func (CPUData_Architecture) Descriptor

func (CPUData_Architecture) Enum

func (CPUData_Architecture) EnumDescriptor deprecated

func (CPUData_Architecture) EnumDescriptor() ([]byte, []int)

Deprecated: Use CPUData_Architecture.Descriptor instead.

func (CPUData_Architecture) Number

func (CPUData_Architecture) String

func (x CPUData_Architecture) String() string

func (CPUData_Architecture) Type

type GPSLocation

type GPSLocation struct {
	Longitude float64                      `protobuf:"fixed64,1,opt,name=longitude,proto3" json:"longitude,omitempty"`
	Latitude  float64                      `protobuf:"fixed64,2,opt,name=latitude,proto3" json:"latitude,omitempty"`
	Altitude  float64                      `protobuf:"fixed64,3,opt,name=altitude,proto3" json:"altitude,omitempty"`
	Provider  GPSLocation_LocationProvider `protobuf:"varint,4,opt,name=provider,proto3,enum=device_utils.GPSLocation_LocationProvider" json:"provider,omitempty"`
	// contains filtered or unexported fields
}

Potentially common for more than just Android

func GetDBLocation

func GetDBLocation(countryISO, city string) (*GPSLocation, error)

func GetRandomDBLocation

func GetRandomDBLocation(countryISO string) *GPSLocation

func (*GPSLocation) Accuracy

func (location *GPSLocation) Accuracy() int

func (*GPSLocation) Descriptor deprecated

func (*GPSLocation) Descriptor() ([]byte, []int)

Deprecated: Use GPSLocation.ProtoReflect.Descriptor instead.

func (*GPSLocation) GetAltitude

func (x *GPSLocation) GetAltitude() float64

func (*GPSLocation) GetLatitude

func (x *GPSLocation) GetLatitude() float64

func (*GPSLocation) GetLongitude

func (x *GPSLocation) GetLongitude() float64

func (*GPSLocation) GetProvider

func (x *GPSLocation) GetProvider() GPSLocation_LocationProvider

func (*GPSLocation) MarshalToSizedBufferVT

func (m *GPSLocation) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*GPSLocation) MarshalToVT

func (m *GPSLocation) MarshalToVT(dAtA []byte) (int, error)

func (*GPSLocation) MarshalVT

func (m *GPSLocation) MarshalVT() (dAtA []byte, err error)

func (*GPSLocation) ProtoMessage

func (*GPSLocation) ProtoMessage()

func (*GPSLocation) ProtoReflect

func (x *GPSLocation) ProtoReflect() protoreflect.Message

func (*GPSLocation) ProviderString

func (location *GPSLocation) ProviderString() string

func (*GPSLocation) Reset

func (x *GPSLocation) Reset()

func (*GPSLocation) SizeVT

func (m *GPSLocation) SizeVT() (n int)

func (*GPSLocation) String

func (x *GPSLocation) String() string

func (*GPSLocation) UnmarshalVT

func (m *GPSLocation) UnmarshalVT(dAtA []byte) error

type GPSLocation_LocationProvider

type GPSLocation_LocationProvider int32
const (
	GPSLocation_LocationProvider_NONE GPSLocation_LocationProvider = 0 // Treat as random
	GPSLocation_GPS                   GPSLocation_LocationProvider = 1
	GPSLocation_NETWORK               GPSLocation_LocationProvider = 2
	GPSLocation_PASSIVE               GPSLocation_LocationProvider = 3
)

func (GPSLocation_LocationProvider) Descriptor

func (GPSLocation_LocationProvider) Enum

func (GPSLocation_LocationProvider) EnumDescriptor deprecated

func (GPSLocation_LocationProvider) EnumDescriptor() ([]byte, []int)

Deprecated: Use GPSLocation_LocationProvider.Descriptor instead.

func (GPSLocation_LocationProvider) Number

func (GPSLocation_LocationProvider) String

func (GPSLocation_LocationProvider) Type

type Locale

type Locale struct {
	Language   string `protobuf:"bytes,1,opt,name=language,proto3" json:"language,omitempty"`
	CountryISO string `protobuf:"bytes,2,opt,name=countryISO,proto3" json:"countryISO,omitempty"`
	// contains filtered or unexported fields
}

func LocaleFromLocaleString

func LocaleFromLocaleString(localeStr string) (*Locale, error)

func (*Locale) Descriptor deprecated

func (*Locale) Descriptor() ([]byte, []int)

Deprecated: Use Locale.ProtoReflect.Descriptor instead.

func (*Locale) GetCountry

func (locale *Locale) GetCountry(iso bool) string

func (*Locale) GetCountryISO

func (x *Locale) GetCountryISO() string

func (*Locale) GetLanguage

func (x *Locale) GetLanguage() string

func (*Locale) MarshalToSizedBufferVT

func (m *Locale) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Locale) MarshalToVT

func (m *Locale) MarshalToVT(dAtA []byte) (int, error)

func (*Locale) MarshalVT

func (m *Locale) MarshalVT() (dAtA []byte, err error)

func (*Locale) ProtoMessage

func (*Locale) ProtoMessage()

func (*Locale) ProtoReflect

func (x *Locale) ProtoReflect() protoreflect.Message

func (*Locale) Reset

func (x *Locale) Reset()

func (*Locale) SizeVT

func (m *Locale) SizeVT() (n int)

func (*Locale) String

func (x *Locale) String() string

func (*Locale) ToLocale

func (locale *Locale) ToLocale(separator string, iso bool) string

func (*Locale) UnmarshalVT

func (m *Locale) UnmarshalVT(dAtA []byte) error

type MAC

type MAC struct {
	OUI     string `protobuf:"bytes,1,opt,name=OUI,proto3" json:"OUI,omitempty"`
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

func (*MAC) Descriptor deprecated

func (*MAC) Descriptor() ([]byte, []int)

Deprecated: Use MAC.ProtoReflect.Descriptor instead.

func (*MAC) Generate

func (m *MAC) Generate(oui string, multiCast, uua bool) (string, error)

func (*MAC) GetAddress

func (x *MAC) GetAddress() string

func (*MAC) GetOUI

func (x *MAC) GetOUI() string

func (*MAC) MarshalToSizedBufferVT

func (m *MAC) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*MAC) MarshalToVT

func (m *MAC) MarshalToVT(dAtA []byte) (int, error)

func (*MAC) MarshalVT

func (m *MAC) MarshalVT() (dAtA []byte, err error)

func (*MAC) PrettyFormat

func (m *MAC) PrettyFormat(separator string) string

func (*MAC) ProtoMessage

func (*MAC) ProtoMessage()

func (*MAC) ProtoReflect

func (x *MAC) ProtoReflect() protoreflect.Message

func (*MAC) Reset

func (x *MAC) Reset()

func (*MAC) SizeVT

func (m *MAC) SizeVT() (n int)

func (*MAC) String

func (x *MAC) String() string

func (*MAC) UnmarshalVT

func (m *MAC) UnmarshalVT(dAtA []byte) error

type SIMCard

type SIMCard struct {

	// With or without country code?
	PhoneNumber string `protobuf:"bytes,1,opt,name=phoneNumber,proto3" json:"phoneNumber,omitempty"`
	// Provider and country information
	MCC         string        `protobuf:"bytes,2,opt,name=MCC,proto3" json:"MCC,omitempty"`
	MNC         string        `protobuf:"bytes,3,opt,name=MNC,proto3" json:"MNC,omitempty"`
	Carrier     string        `protobuf:"bytes,4,opt,name=carrier,proto3" json:"carrier,omitempty"`
	CountryISO  string        `protobuf:"bytes,5,opt,name=countryISO,proto3" json:"countryISO,omitempty"`
	CountryCode string        `protobuf:"bytes,6,opt,name=countryCode,proto3" json:"countryCode,omitempty"`
	Imei        *SIMCard_IMEI `protobuf:"bytes,7,opt,name=imei,proto3" json:"imei,omitempty"`
	Meid        *SIMCard_MEID `protobuf:"bytes,8,opt,name=meid,proto3" json:"meid,omitempty"`
	// contains filtered or unexported fields
}

func GetRandomDBSIMCard

func GetRandomDBSIMCard(countryISO string) *SIMCard

func (*SIMCard) Descriptor deprecated

func (*SIMCard) Descriptor() ([]byte, []int)

Deprecated: Use SIMCard.ProtoReflect.Descriptor instead.

func (*SIMCard) GetCarrier

func (x *SIMCard) GetCarrier() string

func (*SIMCard) GetCarrierName

func (s *SIMCard) GetCarrierName(heuristic bool) string

GetCarrierName Android system returns the names slightly different, there is no way to do that properly for the list of carriers we have now heuristic = true at least tries, but it's not 100% accurate

func (*SIMCard) GetCountryCode

func (x *SIMCard) GetCountryCode() string

func (*SIMCard) GetCountryISO

func (x *SIMCard) GetCountryISO() string

func (*SIMCard) GetHNI

func (s *SIMCard) GetHNI() string

GetHNI emulates the following: TelephonyManager tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String networkOperator = tel.getNetworkOperator();

func (*SIMCard) GetImei

func (x *SIMCard) GetImei() *SIMCard_IMEI

func (*SIMCard) GetMCC

func (x *SIMCard) GetMCC() string

func (*SIMCard) GetMNC

func (x *SIMCard) GetMNC() string

func (*SIMCard) GetMeid

func (x *SIMCard) GetMeid() *SIMCard_MEID

func (*SIMCard) GetPhoneNumber

func (x *SIMCard) GetPhoneNumber() string

func (*SIMCard) IsValid

func (s *SIMCard) IsValid() bool

func (*SIMCard) MarshalToSizedBufferVT

func (m *SIMCard) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*SIMCard) MarshalToVT

func (m *SIMCard) MarshalToVT(dAtA []byte) (int, error)

func (*SIMCard) MarshalVT

func (m *SIMCard) MarshalVT() (dAtA []byte, err error)

func (*SIMCard) ProtoMessage

func (*SIMCard) ProtoMessage()

func (*SIMCard) ProtoReflect

func (x *SIMCard) ProtoReflect() protoreflect.Message

func (*SIMCard) Randomize

func (s *SIMCard) Randomize(countryISO string)

func (*SIMCard) Reset

func (x *SIMCard) Reset()

func (*SIMCard) SizeVT

func (m *SIMCard) SizeVT() (n int)

func (*SIMCard) String

func (x *SIMCard) String() string

func (*SIMCard) UnmarshalVT

func (m *SIMCard) UnmarshalVT(dAtA []byte) error

type SIMCard_IMEI

type SIMCard_IMEI struct {
	TAC string `protobuf:"bytes,1,opt,name=TAC,proto3" json:"TAC,omitempty"`
	// src: https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity
	// AA	-	BB	BB	BB	-	CC	CC	CC	D
	// Where AA and BB = TAC, CC = serial (randomized) and D = Luhn validation
	Imei string `protobuf:"bytes,2,opt,name=imei,proto3" json:"imei,omitempty"`
	// contains filtered or unexported fields
}

func (*SIMCard_IMEI) Descriptor deprecated

func (*SIMCard_IMEI) Descriptor() ([]byte, []int)

Deprecated: Use SIMCard_IMEI.ProtoReflect.Descriptor instead.

func (*SIMCard_IMEI) Generate

func (i *SIMCard_IMEI) Generate(tac, serial string) (string, error)

func (*SIMCard_IMEI) GetImei

func (x *SIMCard_IMEI) GetImei() string

func (*SIMCard_IMEI) GetTAC

func (x *SIMCard_IMEI) GetTAC() string

func (*SIMCard_IMEI) MarshalToSizedBufferVT

func (m *SIMCard_IMEI) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*SIMCard_IMEI) MarshalToVT

func (m *SIMCard_IMEI) MarshalToVT(dAtA []byte) (int, error)

func (*SIMCard_IMEI) MarshalVT

func (m *SIMCard_IMEI) MarshalVT() (dAtA []byte, err error)

func (*SIMCard_IMEI) ProtoMessage

func (*SIMCard_IMEI) ProtoMessage()

func (*SIMCard_IMEI) ProtoReflect

func (x *SIMCard_IMEI) ProtoReflect() protoreflect.Message

func (*SIMCard_IMEI) Reset

func (x *SIMCard_IMEI) Reset()

func (*SIMCard_IMEI) SizeVT

func (m *SIMCard_IMEI) SizeVT() (n int)

func (*SIMCard_IMEI) String

func (x *SIMCard_IMEI) String() string

func (*SIMCard_IMEI) UnmarshalVT

func (m *SIMCard_IMEI) UnmarshalVT(dAtA []byte) error

type SIMCard_MEID

type SIMCard_MEID struct {
	RegionCode       string `protobuf:"bytes,1,opt,name=RegionCode,proto3" json:"RegionCode,omitempty"`
	ManufacturerCode string `protobuf:"bytes,2,opt,name=ManufacturerCode,proto3" json:"ManufacturerCode,omitempty"`
	// src: https://en.wikipedia.org/wiki/Mobile_equipment_identifier
	// R R	X	X	X	X	X	X	Z	Z	Z	Z	Z	Z	C
	// Where R = region, X = manufacturer, Z = serial (randomized) and C = Luhn validation
	Meid string `protobuf:"bytes,3,opt,name=meid,proto3" json:"meid,omitempty"`
	// contains filtered or unexported fields
}

func (*SIMCard_MEID) Descriptor deprecated

func (*SIMCard_MEID) Descriptor() ([]byte, []int)

Deprecated: Use SIMCard_MEID.ProtoReflect.Descriptor instead.

func (*SIMCard_MEID) GetManufacturerCode

func (x *SIMCard_MEID) GetManufacturerCode() string

func (*SIMCard_MEID) GetMeid

func (x *SIMCard_MEID) GetMeid() string

func (*SIMCard_MEID) GetRegionCode

func (x *SIMCard_MEID) GetRegionCode() string

func (*SIMCard_MEID) MarshalToSizedBufferVT

func (m *SIMCard_MEID) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*SIMCard_MEID) MarshalToVT

func (m *SIMCard_MEID) MarshalToVT(dAtA []byte) (int, error)

func (*SIMCard_MEID) MarshalVT

func (m *SIMCard_MEID) MarshalVT() (dAtA []byte, err error)

func (*SIMCard_MEID) ProtoMessage

func (*SIMCard_MEID) ProtoMessage()

func (*SIMCard_MEID) ProtoReflect

func (x *SIMCard_MEID) ProtoReflect() protoreflect.Message

func (*SIMCard_MEID) Reset

func (x *SIMCard_MEID) Reset()

func (*SIMCard_MEID) SizeVT

func (m *SIMCard_MEID) SizeVT() (n int)

func (*SIMCard_MEID) String

func (x *SIMCard_MEID) String() string

func (*SIMCard_MEID) UnmarshalVT

func (m *SIMCard_MEID) UnmarshalVT(dAtA []byte) error

type ScreenData

type ScreenData struct {
	Density              int32 `protobuf:"varint,1,opt,name=density,proto3" json:"density,omitempty"`                           // in DPI
	ResolutionHorizontal int32 `protobuf:"varint,2,opt,name=resolutionHorizontal,proto3" json:"resolutionHorizontal,omitempty"` // in pixels
	ResolutionVertical   int32 `protobuf:"varint,3,opt,name=resolutionVertical,proto3" json:"resolutionVertical,omitempty"`     // in pixels
	// contains filtered or unexported fields
}

func (*ScreenData) Descriptor deprecated

func (*ScreenData) Descriptor() ([]byte, []int)

Deprecated: Use ScreenData.ProtoReflect.Descriptor instead.

func (*ScreenData) GetDensity

func (x *ScreenData) GetDensity() int32

func (*ScreenData) GetResolutionHorizontal

func (x *ScreenData) GetResolutionHorizontal() int32

func (*ScreenData) GetResolutionVertical

func (x *ScreenData) GetResolutionVertical() int32

func (*ScreenData) MarshalToSizedBufferVT

func (m *ScreenData) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*ScreenData) MarshalToVT

func (m *ScreenData) MarshalToVT(dAtA []byte) (int, error)

func (*ScreenData) MarshalVT

func (m *ScreenData) MarshalVT() (dAtA []byte, err error)

func (*ScreenData) ProtoMessage

func (*ScreenData) ProtoMessage()

func (*ScreenData) ProtoReflect

func (x *ScreenData) ProtoReflect() protoreflect.Message

func (*ScreenData) Reset

func (x *ScreenData) Reset()

func (*ScreenData) SizeVT

func (m *ScreenData) SizeVT() (n int)

func (*ScreenData) String

func (x *ScreenData) String() string

func (*ScreenData) UnmarshalVT

func (m *ScreenData) UnmarshalVT(dAtA []byte) error

type Timezone

type Timezone struct {

	// IANA standard
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*Timezone) Descriptor deprecated

func (*Timezone) Descriptor() ([]byte, []int)

Deprecated: Use Timezone.ProtoReflect.Descriptor instead.

func (*Timezone) FromLocation

func (tz *Timezone) FromLocation(loc *time.Location)

func (*Timezone) FromName

func (tz *Timezone) FromName(name string) error

func (*Timezone) GetName

func (x *Timezone) GetName() string

func (*Timezone) MarshalToSizedBufferVT

func (m *Timezone) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Timezone) MarshalToVT

func (m *Timezone) MarshalToVT(dAtA []byte) (int, error)

func (*Timezone) MarshalVT

func (m *Timezone) MarshalVT() (dAtA []byte, err error)

func (*Timezone) MustGoLocation

func (tz *Timezone) MustGoLocation() *time.Location

func (*Timezone) ProtoMessage

func (*Timezone) ProtoMessage()

func (*Timezone) ProtoReflect

func (x *Timezone) ProtoReflect() protoreflect.Message

func (*Timezone) Reset

func (x *Timezone) Reset()

func (*Timezone) SizeVT

func (m *Timezone) SizeVT() (n int)

func (*Timezone) String

func (x *Timezone) String() string

func (*Timezone) UnmarshalVT

func (m *Timezone) UnmarshalVT(dAtA []byte) error

Jump to

Keyboard shortcuts

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