|
@@ -0,0 +1,241 @@
|
|
|
+package yu_useragent
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ yu_rand "gogs.qqck.cn/s/go-tools/rand"
|
|
|
+)
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ ChromePc
|
|
|
+
|
|
|
+func ChromePcWindows() string {
|
|
|
+ Safari := rand_safari()
|
|
|
+ Chrome := rand_chrome()
|
|
|
+ WindowsNT := rand_windows_version()
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (Windows NT %s; WOW64) AppleWebKit/%s (KHTML, like Gecko) Chrome/%s Safari/%s", WindowsNT, Safari, Chrome, Safari)
|
|
|
+}
|
|
|
+
|
|
|
+func ChromePcLinux() string {
|
|
|
+ Safari := rand_safari()
|
|
|
+ Chrome := rand_chrome()
|
|
|
+ Linux := rand_linux_vertion()
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (X11; %s) AppleWebKit/%s (KHTML, like Gecko) Chrome/%s Safari/%s", Linux, Safari, Chrome, Safari)
|
|
|
+}
|
|
|
+
|
|
|
+func ChromePcMac() string {
|
|
|
+ Safari := rand_safari()
|
|
|
+ Chrome := rand_chrome()
|
|
|
+ mac_version := rand_mac_version()
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (Macintosh; Intel Mac OS X %s) AppleWebKit/%s (KHTML, like Gecko) Chrome/%s Safari/%s", mac_version, Safari, Chrome, Safari)
|
|
|
+}
|
|
|
+
|
|
|
+func ChromePc() string {
|
|
|
+ num := yu_rand.Uint31n(3)
|
|
|
+ if num == 0 {
|
|
|
+ return ChromePcWindows()
|
|
|
+ } else if num == 1 {
|
|
|
+ return ChromePcMac()
|
|
|
+ } else {
|
|
|
+ return ChromePcLinux()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ FirefoxPc
|
|
|
+
|
|
|
+func FirefoxPcWindows() string {
|
|
|
+ Firefox := rand_firefox()
|
|
|
+ WindowsNT := rand_windows_version()
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (Windows NT %s; WOW64; rv:%s) Gecko/20100101 Firefox/%s", WindowsNT, Firefox, Firefox)
|
|
|
+}
|
|
|
+
|
|
|
+func FirefoxPcLinux() string {
|
|
|
+ Firefox := rand_firefox()
|
|
|
+ Linux := rand_linux_vertion()
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (X11; %s; rv:%s) Gecko/20100101 Firefox/%s", Linux, Firefox, Firefox)
|
|
|
+}
|
|
|
+
|
|
|
+func FirefoxPcMac() string {
|
|
|
+ Firefox := rand_firefox()
|
|
|
+ mac_version := rand_mac_version()
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (Macintosh; Intel Mac OS X %s; rv:%s) Gecko/20100101 Firefox/%s", mac_version, Firefox, Firefox)
|
|
|
+}
|
|
|
+
|
|
|
+func FirefoxPc() string {
|
|
|
+ num := yu_rand.Uint31n(3)
|
|
|
+ if num == 0 {
|
|
|
+ return FirefoxPcWindows()
|
|
|
+ } else if num == 1 {
|
|
|
+ return FirefoxPcMac()
|
|
|
+ } else {
|
|
|
+ return FirefoxPcLinux()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ Pc
|
|
|
+
|
|
|
+func PcWindows() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return ChromePcWindows()
|
|
|
+ } else {
|
|
|
+ return FirefoxPcWindows()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func PcLinux() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return ChromePcLinux()
|
|
|
+ } else {
|
|
|
+ return FirefoxPcLinux()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func PcMac() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return ChromePcMac()
|
|
|
+ } else {
|
|
|
+ return FirefoxPcMac()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func Pc() string {
|
|
|
+ num := yu_rand.Uint31n(3)
|
|
|
+ if num == 0 {
|
|
|
+ return PcWindows()
|
|
|
+ } else if num == 1 {
|
|
|
+ return PcLinux()
|
|
|
+ } else {
|
|
|
+ return PcMac()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ Wechat
|
|
|
+
|
|
|
+func WechatAndroid() string {
|
|
|
+ androidVersion := rand_android_version()
|
|
|
+ androidPhone := rand_android_phone()
|
|
|
+ Safari := rand_safari()
|
|
|
+ Chrome := rand_chrome()
|
|
|
+ XWEB := fmt.Sprintf("%d", yu_rand.IntMinMax(3317, 4317))
|
|
|
+ MMWEBSDK := ""
|
|
|
+ if yu_rand.Uint31n(2) == 0 {
|
|
|
+ MMWEBSDK = fmt.Sprintf("20220%d0%d", yu_rand.IntMinMax(1, 9), yu_rand.IntMinMax(0, 9))
|
|
|
+ } else {
|
|
|
+ MMWEBSDK = fmt.Sprintf("20%d%d%d", yu_rand.IntMinMax(19, 21), yu_rand.IntMinMax(10, 12), yu_rand.IntMinMax(10, 26))
|
|
|
+ }
|
|
|
+ MMWEBID := fmt.Sprintf("%d", yu_rand.IntMinMax(8654, 9654))
|
|
|
+ MicroMessenger := fmt.Sprintf("8.0.%d.%d(0x%d)", yu_rand.IntMinMax(15, 25), yu_rand.IntMinMax(1200, 2200), yu_rand.IntMinMax(27001937, 28001937))
|
|
|
+ NetType := rand_nettype()
|
|
|
+ // Mozilla/5.0 (Linux; Android 12; SM-G9980 Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/4317 MMWEBSDK/20220706 Mobile Safari/537.36 MMWEBID/9654 MicroMessenger/8.0.25.2200(0x28001937) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (Linux; Android %s; %s; wv) AppleWebKit/%s (KHTML, like Gecko) Version/4.0 Chrome/%s XWEB/%s MMWEBSDK/%s Mobile Safari/%s MMWEBID/%s MicroMessenger/%s WeChat/arm64 Weixin NetType/%s Language/zh_CN ABI/arm64",
|
|
|
+ androidVersion, androidPhone, Safari, Chrome, XWEB, MMWEBSDK, Safari, MMWEBID, MicroMessenger, NetType,
|
|
|
+ )
|
|
|
+}
|
|
|
+
|
|
|
+func WechatIphone() string {
|
|
|
+ mac_version := rand_mac_version()
|
|
|
+ Safari := rand_safari()
|
|
|
+ j_Mobile := yu_rand.S0AZ(6)
|
|
|
+ MicroMessenger := fmt.Sprintf("8.0.%d.%d(0x%d)", yu_rand.IntMinMax(15, 25), yu_rand.IntMinMax(1200, 2200), yu_rand.IntMinMax(27001937, 28001937))
|
|
|
+ NetType := rand_nettype()
|
|
|
+ // Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.29(0x18001d30) NetType/WIFI Language/zh_CN
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (iPhone; CPU iPhone OS %s like Mac OS X) AppleWebKit/%s (KHTML, like Gecko) Mobile/%s MicroMessenger/%s NetType/%s Language/zh_CN",
|
|
|
+ mac_version, Safari, j_Mobile, MicroMessenger, NetType,
|
|
|
+ )
|
|
|
+}
|
|
|
+
|
|
|
+// Wechat wechat 微信
|
|
|
+func Wechat() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return WechatAndroid()
|
|
|
+ } else {
|
|
|
+ return WechatIphone()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ Wechat
|
|
|
+
|
|
|
+func QQAndroid() string {
|
|
|
+ androidVersion := rand_android_version()
|
|
|
+ androidPhone := rand_android_phone()
|
|
|
+ Safari := rand_safari()
|
|
|
+ Chrome := rand_chrome()
|
|
|
+ NetType := rand_nettype()
|
|
|
+ GlobalDensityScale := fmt.Sprintf("0.%d", yu_rand.IntMinMax(95000004, 96000004))
|
|
|
+ // Mozilla/5.0 (Linux; Android 12; SM-G9980 Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36 V1_AND_SQ_8.9.13_3350_YYB_D A_8091300 QQ/8.9.13.9280 NetType/WIFI WebP/0.4.1 Pixel/1080 StatusBarHeight/75 SimpleUISwitch/0 QQTheme/1000 InMagicWin/0 StudyMode/0 CurrentMode/0 CurrentFontScale/1.0 GlobalDensityScale/0.96000004 AppId/537137213 AllowLandscape/false
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (Linux; Android %s; %s; wv) AppleWebKit/%s (KHTML, like Gecko) Version/4.0 Chrome/%s Mobile Safari/%s V1_AND_SQ_8.9.13_3350_YYB_D A_8091300 QQ/8.9.13.9280 NetType/%s WebP/0.4.1 Pixel/1080 StatusBarHeight/75 SimpleUISwitch/0 QQTheme/1000 InMagicWin/0 StudyMode/0 CurrentMode/0 CurrentFontScale/1.0 GlobalDensityScale/%s AppId/537137213 AllowLandscape/false",
|
|
|
+ androidVersion, androidPhone, Safari, Chrome, Safari, NetType, GlobalDensityScale,
|
|
|
+ )
|
|
|
+}
|
|
|
+
|
|
|
+func QQIphone() string {
|
|
|
+ mac_version := rand_mac_version()
|
|
|
+ Safari := rand_safari()
|
|
|
+ j_Mobile := yu_rand.S0AZ(6)
|
|
|
+ Apple := rand_iphone_phone()
|
|
|
+ NetType := rand_nettype()
|
|
|
+ // Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/19A404 QQ/8.5.5.648 V1_IPH_SQ_8.5.5_1_APP_A Pixel/1170 MiniAppEnable SimpleUISwitch/0 QQTheme/1000 Core/WKWebView Device/Apple(iPhone 12 Pro) NetType/WIFI QBWebViewType/1 WKType/1
|
|
|
+ return fmt.Sprintf("Mozilla/5.0 (iPhone; CPU iPhone OS %s like Mac OS X) AppleWebKit/%s (KHTML, like Gecko) Mobile/%s QQ/8.9.13.9280 V1_IPH_SQ_8.9.13_3350_APP_A Pixel/1170 MiniAppEnable SimpleUISwitch/0 QQTheme/1000 Core/WKWebView Device/Apple(%s) NetType/%s QBWebViewType/1 WKType/1",
|
|
|
+ mac_version, Safari, j_Mobile, Apple, NetType,
|
|
|
+ )
|
|
|
+}
|
|
|
+
|
|
|
+// QQ QQ
|
|
|
+func QQ() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return QQAndroid()
|
|
|
+ } else {
|
|
|
+ return QQIphone()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ Android
|
|
|
+
|
|
|
+// MobileAndroid android手机无线端
|
|
|
+func MobileAndroid() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return WechatAndroid()
|
|
|
+ } else {
|
|
|
+ return QQAndroid()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ Iphone
|
|
|
+
|
|
|
+// MobileIphone iphone手机无线端
|
|
|
+func MobileIphone() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return WechatIphone()
|
|
|
+ } else {
|
|
|
+ return QQIphone()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ Wap
|
|
|
+
|
|
|
+// Mobile 手机端
|
|
|
+func Mobile() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return MobileAndroid()
|
|
|
+ } else {
|
|
|
+ return MobileIphone()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// ************************************************************************************************************************************ Rand
|
|
|
+
|
|
|
+// Rand 随机
|
|
|
+func Rand() string {
|
|
|
+ num := yu_rand.Uint31n(2)
|
|
|
+ if num == 0 {
|
|
|
+ return Pc()
|
|
|
+ } else {
|
|
|
+ return Mobile()
|
|
|
+ }
|
|
|
+}
|