arkose

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2026 License: MIT Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const WebGLExtensions = "" /* 809-byte string literal not displayed */

Variables

This section is empty.

Functions

func AudioCodecsExtendedHash added in v1.1.0

func AudioCodecsExtendedHash() string

func ChromeWindowsF58835f added in v1.2.0

func ChromeWindowsF58835f() string

func CodecTableSizes added in v1.1.0

func CodecTableSizes() (audio, video int)

func ComputeBrowserObjectChecks added in v1.1.0

func ComputeBrowserObjectChecks(present []string) string

func ComputeF added in v1.1.0

func ComputeF(fe []string) string

func ComputeF58835f added in v1.1.0

func ComputeF58835f(f BrowserFeatures) string

func ComputeIfeHash added in v1.1.0

func ComputeIfeHash(fe []string) string

func ComputeRTTType added in v1.1.0

func ComputeRTTType(extensionsHash, webglHash string) string

func ComputeSpeech added in v1.1.0

func ComputeSpeech(voices []Voice) (defaultVoice, voicesHash string)

func ComputeWebGLExtensionsHash added in v1.1.0

func ComputeWebGLExtensionsHash(extensions string) string

func ComputeWebGLHash added in v1.1.0

func ComputeWebGLHash(fields []Item) string

func Encrypt

func Encrypt(content string, pubkeyB64 string) (string, error)

func EncryptAES

func EncryptAES(data, userAgent, xArkValue string) (string, error)

func ExtractRSAKey

func ExtractRSAKey(apiJS string) string

func KHash

func KHash(data string, seed uint32) string

func MD5 added in v1.2.0

func MD5(s string) string

func PickAudioFingerprint

func PickAudioFingerprint() string

func VideoCodecsExtendedHash added in v1.1.0

func VideoCodecsExtendedHash() string

func WebGLHashInput added in v1.1.0

func WebGLHashInput(fields []Item) string

Types

type BrowserFeatures added in v1.1.0

type BrowserFeatures struct {
	PermissionStatus  bool
	EyeDropper        bool
	AudioData         bool
	WritableStream    bool
	CSSStyleRule      bool
	NavigatorUA       bool
	BarcodeDetector   bool
	DisplayNames      bool
	ContactsManager   bool
	SVGDiscardElement bool
	USB               bool
	MediaDevices      bool
	PlaybackQuality   bool
}

type Config

type Config struct {
	PublicKey    string
	RSAPublicKey string
	Surl         string

	Site                 string
	Origin               string
	Referer              string
	SitedataLocationHref string
	WindowLocationHref   string
	DocumentReferrer     string
	SecFetchSite         string

	DataExchangeURL   string
	DataExchangeRegex string

	CapiVersion string

	EnforcementHash string
	CapiMode        string
	StyleTheme      string
	Language        string
	Title           string

	UserAgent string
	Proxy     string

	WindowAncestorOrigins []string
	WindowTreeIndex       []int
	WindowTreeStructure   string
	Jsbd                  string
}

type DeviceIdentity

type DeviceIdentity struct {
	Salt string

	MachineHash string

	Hash7541c2s        string
	MathFingerprint    string
	SupportedMathFuncs string
	Hash6a62b2a558     string
	Hashc2d2015        string
	Hash05d3d24        string
	Hash83eb055        string
	Hash1f220c9        string

	NavConnectionDownlink_Max interface{}

	TreeStructure string

	CFP         int32
	TZOffset    int
	LanguageTag string

	SpeechDefaultVoice string
	SpeechVoicesHash   string
	Languages          string
	FontList           string
}

func NewSession

func NewSession() *DeviceIdentity

func (*DeviceIdentity) String

func (d *DeviceIdentity) String() string

type DeviceProfile

type DeviceProfile struct {
	Name string

	Vendor     Vendor
	GPUID      string
	GPUName    string
	GLVendor   string
	GLRenderer string

	ScreenWidth, ScreenHeight int
	AvailWidth, AvailHeight   int
	ColorDepth                int
	DevicePixelRatio          float64

	OuterWidth, OuterHeight int

	DeviceMemory        int
	HardwareConcurrency int

	Downlink float64
	RTT      int
	SaveData bool
}

func GenerateDevice

func GenerateDevice() DeviceProfile

func (DeviceProfile) Inner

func (d DeviceProfile) Inner() (w, h int)

func (DeviceProfile) WebGL

func (d DeviceProfile) WebGL() WebGLFingerprint

type HDRInfo

type HDRInfo struct {
	Supported bool     `json:"supported"`
	Formats   []string `json:"formats"`
	IsHDR     bool     `json:"isHDR"`
}

type Item

type Item struct {
	Key   string      `json:"key"`
	Value interface{} `json:"value"`
}

func BuildWebGLFields added in v1.1.0

func BuildWebGLFields(vendor, renderer string) []Item

type Option

type Option func(*Config)

func WithCapiMode

func WithCapiMode(m string) Option

func WithDataExchangeRegex

func WithDataExchangeRegex(re string) Option

func WithDataExchangeURL

func WithDataExchangeURL(u string) Option

func WithLanguage

func WithLanguage(l string) Option

func WithOrigin

func WithOrigin(o string) Option

func WithProxy

func WithProxy(p string) Option

func WithPublicKey

func WithPublicKey(pk string) Option

func WithRSAPublicKey

func WithRSAPublicKey(spki string) Option

func WithReferer

func WithReferer(r string) Option

func WithSite

func WithSite(site string) Option

func WithSitedataLocationHref

func WithSitedataLocationHref(u string) Option

func WithSurl

func WithSurl(surl string) Option

func WithTitle

func WithTitle(t string) Option

func WithUserAgent

func WithUserAgent(ua string) Option

type SolveResult

type SolveResult struct {
	Token      string
	Suppressed bool
	Timings    map[string]time.Duration
}

type Solver

type Solver struct {
	// contains filtered or unexported fields
}

func New

func New(opts ...Option) (*Solver, error)

func (*Solver) Config

func (s *Solver) Config() Config

func (*Solver) SetDataBlob

func (s *Solver) SetDataBlob(blob string)

func (*Solver) SetHTTPClient

func (s *Solver) SetHTTPClient(c tls_client.HttpClient)

func (*Solver) Solve

func (s *Solver) Solve() (*SolveResult, error)

type Vendor

type Vendor int
const (
	VendorNvidia Vendor = iota
	VendorIntel
	VendorAMD
)

type Voice added in v1.1.0

type Voice struct {
	Name    string `json:"name"`
	Lang    string `json:"lang"`
	Default bool   `json:"default,omitempty"`
}

type WebGLFingerprint

type WebGLFingerprint struct {
	UnmaskedVendor   string
	UnmaskedRenderer string
}

Jump to

Keyboard shortcuts

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