aws

package
v0.0.0-...-1514ae7 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2026 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ComputeScryptNonce

func ComputeScryptNonce(challengeInput, checksum string, difficulty int) (string, error)

func Decrypt

func Decrypt(encrypted string) ([]byte, error)

func Encrypt

func Encrypt(plaintext []byte) (string, error)

func GetFP

func GetFP(userAgent string) (string, string, error)

func HashPoW

func HashPoW(challengeInput, checksum string, difficulty int) (string, error)

func ScryptFunc

func ScryptFunc(inputStr, saltStr string, memoryCost int) (string, error)

func SolveChallenge

func SolveChallenge(challengeType, challengeInput, checksum string, difficulty int) (string, error)

Types

type Automation

type Automation struct {
	WD      AutomationWD      `json:"wd"`
	Phantom AutomationPhantom `json:"phantom"`
}

type AutomationPhantom

type AutomationPhantom struct {
	Properties PhantomProperties `json:"properties"`
}

type AutomationProperties

type AutomationProperties struct {
	Document  []string `json:"document"`
	Window    []string `json:"window"`
	Navigator []string `json:"navigator"`
}

type AutomationWD

type AutomationWD struct {
	Properties AutomationProperties `json:"properties"`
}

type BEBlock

type BEBlock struct {
	SI bool `json:"si"`
}

type CSSCapabilities

type CSSCapabilities struct {
	TextShadow       int `json:"textShadow"`
	WebkitTextStroke int `json:"WebkitTextStroke"`
	BoxShadow        int `json:"boxShadow"`
	BorderRadius     int `json:"borderRadius"`
	BorderImage      int `json:"borderImage"`
	Opacity          int `json:"opacity"`
	Transform        int `json:"transform"`
	Transition       int `json:"transition"`
}

type CanvasBlock

type CanvasBlock struct {
	Hash          int         `json:"hash"`
	EmailHash     interface{} `json:"emailHash"`
	HistogramBins []int       `json:"histogramBins"`
}

type Capabilities

type Capabilities struct {
	CSS     CSSCapabilities `json:"css"`
	JS      JSCapabilities  `json:"js"`
	Elapsed int             `json:"elapsed"`
}

type Challenge

type Challenge struct {
	Input  string `json:"input"`
	Hmac   string `json:"hmac"`
	Region string `json:"region"`
}

type CryptoBlock

type CryptoBlock struct {
	Crypto        int  `json:"crypto"`
	Subtle        int  `json:"subtle"`
	Encrypt       bool `json:"encrypt"`
	Decrypt       bool `json:"decrypt"`
	WrapKey       bool `json:"wrapKey"`
	UnwrapKey     bool `json:"unwrapKey"`
	Sign          bool `json:"sign"`
	Verify        bool `json:"verify"`
	Digest        bool `json:"digest"`
	DeriveBits    bool `json:"deriveBits"`
	DeriveKey     bool `json:"deriveKey"`
	GetRandomVals bool `json:"getRandomValues"`
	RandomUUID    bool `json:"randomUUID"`
}

type Fingerprint

type Fingerprint struct {
	Metrics      Metrics       `json:"metrics"`
	Start        int64         `json:"start"`
	FlashVersion interface{}   `json:"flashVersion"`
	Plugins      []Plugin      `json:"plugins"`
	DupedPlugins string        `json:"dupedPlugins"`
	ScreenInfo   string        `json:"screenInfo"`
	Referrer     string        `json:"referrer"`
	UserAgent    string        `json:"userAgent"`
	Location     string        `json:"location"`
	WebDriver    bool          `json:"webDriver"`
	Capabilities Capabilities  `json:"capabilities"`
	GPU          GPUBlock      `json:"gpu"`
	DNT          interface{}   `json:"dnt"`
	Math         MathBlock     `json:"math"`
	Automation   Automation    `json:"automation"`
	Stealth      Stealth       `json:"stealth"`
	Crypto       CryptoBlock   `json:"crypto"`
	Canvas       CanvasBlock   `json:"canvas"`
	FormDetected bool          `json:"formDetected"`
	NumForms     int           `json:"numForms"`
	NumFormElems int           `json:"numFormElements"`
	BE           BEBlock       `json:"be"`
	End          int64         `json:"end"`
	Errors       []interface{} `json:"errors"`
	Version      string        `json:"version"`
	ID           string        `json:"id"`
}

type GPUBlock

type GPUBlock struct {
	Vendor     string   `json:"vendor"`
	Model      string   `json:"model"`
	Extensions []string `json:"extensions"`
}

type GPUInfo

type GPUInfo struct {
	WebGLRenderer string  `json:"web_gl_renderer"`
	WebGL         []WebGL `json:"webgl"`
}

type GokuProps

type GokuProps struct {
	Key     string `json:"key"`
	Iv      string `json:"iv"`
	Context string `json:"context"`
}

func Extract

func Extract(html string) (GokuProps, string, error)

func ExtractCaptcha

func ExtractCaptcha(html string) (GokuProps, string, error)

type Inputs

type Inputs struct {
	Challenge     Challenge `json:"challenge"`
	ChallengeType string    `json:"challenge_type"`
	Difficulty    int       `json:"difficulty"`
}

type JSCapabilities

type JSCapabilities struct {
	Audio        bool   `json:"audio"`
	Geolocation  bool   `json:"geolocation"`
	LocalStorage string `json:"localStorage"`
	Touch        bool   `json:"touch"`
	Video        bool   `json:"video"`
	WebWorker    bool   `json:"webWorker"`
}

type MathBlock

type MathBlock struct {
	Tan string `json:"tan"`
	Sin string `json:"sin"`
	Cos string `json:"cos"`
}

type Metrics

type Metrics struct {
	Fp2          int `json:"fp2"`
	Browser      int `json:"browser"`
	Capabilities int `json:"capabilities"`
	GPU          int `json:"gpu"`
	DNT          int `json:"dnt"`
	Math         int `json:"math"`
	Screen       int `json:"screen"`
	Navigator    int `json:"navigator"`
	Auto         int `json:"auto"`
	Stealth      int `json:"stealth"`
	Subtle       int `json:"subtle"`
	Canvas       int `json:"canvas"`
	FormDetector int `json:"formdetector"`
	BE           int `json:"be"`
}

type PhantomProperties

type PhantomProperties struct {
	Window []string `json:"window"`
}

type Plugin

type Plugin struct {
	Name string `json:"name"`
	Str  string `json:"str"`
}

type Stealth

type Stealth struct {
	T1  int  `json:"t1"`
	T2  int  `json:"t2"`
	I   int  `json:"i"`
	MTE int  `json:"mte"`
	MTD bool `json:"mtd"`
}

type ValueVerifySignals

type ValueVerifySignals struct {
	Present string `json:"Present"`
}

type Verify

type Verify struct {
	Challenge     Challenge       `json:"challenge"`
	Solution      string          `json:"solution"`
	Signals       []VerifySignals `json:"signals"`
	Checksum      string          `json:"checksum"`
	ExistingToken []string        `json:"existing_token"`
	Client        string          `json:"client"`
	Domain        string          `json:"domain"`
	Metrics       []VerifyMetrics `json:"metrics"`
	GokuProps     GokuProps       `json:"goku_props"`
}

type VerifyMetrics

type VerifyMetrics struct {
	Name  string  `json:"name"`
	Value float64 `json:"value"`
	Unit  string  `json:"unit"`
}

type VerifyRes

type VerifyRes struct {
	Token  string      `json:"token"`
	Inputs interface{} `json:"inputs"`
}

type VerifySignals

type VerifySignals struct {
	Name  string             `json:"name"`
	Value ValueVerifySignals `json:"value"`
}

type Waf

type Waf struct {
	Session tlsclient.HttpClient

	Host      string
	Domain    string
	UserAgent string
	// contains filtered or unexported fields
}

func NewAwsWaf

func NewAwsWaf(
	host, domain, userAgent string,
	gokuProps GokuProps, proxy string,
) (*Waf, error)

func (*Waf) BuildPayload

func (a *Waf) BuildPayload(inputs Inputs) (*Verify, error)

func (*Waf) GetInputs

func (a *Waf) GetInputs() (Inputs, error)

func (*Waf) Run

func (a *Waf) Run() (string, error)

func (*Waf) Verify

func (a *Waf) Verify(payload *Verify) (string, error)

type WebGL

type WebGL struct {
	WebGLUnmaskedVendor string `json:"webgl_unmasked_vendor"`
	WebGLExtensions     string `json:"webgl_extensions"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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