Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Desktop ¶
Desktop returns a random generated UA for desktop browsers like so: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.4) Chrome/ Safari/530.6 Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.0.4) Gecko/2008092417 Firefox/3.0.3
func LoadUAConfig ¶
LoadUAConfig loads UserAgent configuration file
Types ¶
type Browser ¶
type Browser struct { types.WeightedElement ID string `json:"id"` UserAgentFormat string `json:"ua_format"` Variants []*BrowserVariant `json:"variants"` VariantProbabilityLimit float64 }
Browser browser's user agent configuration
func (*Browser) RandomVariant ¶
func (bwr *Browser) RandomVariant() *BrowserVariant
RandomVariant gets a random variant
type BrowserVariant ¶
type BrowserVariant struct { Variant types.WeightedElement ID string `json:"id"` }
BrowserVariant represents an user agent configuration for a specific browser variant
func (*BrowserVariant) AddVars ¶
func (bwrv *BrowserVariant) AddVars(data map[string]string) (err error)
AddVars adds the browser data variables to a map
func (*BrowserVariant) SignError ¶
func (bwrv *BrowserVariant) SignError(msg string) error
SignError add a text signature to an error
type Device ¶
type Device struct { ID string `json:"id"` OSes []*OS `json:"oses"` Browsers map[string]*Browser `json:"browsers"` OSProbabilityLimit float64 }
Device device's user agent configuration
func (*Device) BrowsersInit ¶
func (dv *Device) BrowsersInit()
BrowsersInit recusively init all browsers
func (*Device) BuildUserAgent ¶
BuildUserAgent builds a random desktop user agent
func (*Device) RandomBrowser ¶
RandomBrowser gets a random browser
type OS ¶
type OS struct { types.WeightedElement ID string `json:"id"` Variants []*OSVariant `json:"variants"` VariantProbabilityLimit float64 }
OS operating system's user agent configuration
func (*OS) RandomVariant ¶
RandomVariant gets a random variant
type OSVariant ¶
type OSVariant struct { Variant types.WeightedElement ID string `json:"id"` Signatures []string `json:"signatures"` BrowserIDs []string `json:"browser_ids"` }
OSVariant represents an user agent configuration for a specific operating system variant
func (*OSVariant) RandomSignature ¶
RandomSignature gets a random signature
type UAConfig ¶
type UAConfig struct { Desktop Device `json:"desktop"` Tablet Device `json:"tablet"` Mobile Device `json:"mobile"` }
UAConfig user agents configuration
func LoadUAConfigFromBytes ¶
LoadUAConfigFromBytes loads config from a byte slice
func LoadUAConfigFromFile ¶
LoadUAConfigFromFile loads config from a file
func LoadUAConfigFromJSON ¶
LoadUAConfigFromJSON loads config from a JSON string
func (*UAConfig) BuildDesktopUA ¶
BuildDesktopUA builds a random desktop user agent
func (*UAConfig) BuildMobileUA ¶
BuildMobileUA builds a random mobile user agent
func (*UAConfig) BuildTabletUA ¶
BuildTabletUA builds a random tablet user agent