mirror of
https://github.com/net-byte/vtun
synced 2024-03-14 10:50:03 +08:00
84 lines
3.5 KiB
Go
84 lines
3.5 KiB
Go
package h1
|
|
|
|
import (
|
|
"hash/fnv"
|
|
"math/rand"
|
|
)
|
|
|
|
var letter = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
|
|
|
|
func RandomString(n int) string {
|
|
b := make([]rune, n)
|
|
for i := range b {
|
|
b[i] = letter[rand.Intn(len(letter))]
|
|
}
|
|
return string(b)
|
|
}
|
|
|
|
func RandomStringByInt64(n int, seed int64) string {
|
|
r := rand.New(rand.NewSource(seed))
|
|
b := make([]rune, n)
|
|
for i := range b {
|
|
b[i] = letter[r.Intn(len(letter))]
|
|
}
|
|
return string(b)
|
|
}
|
|
|
|
func String2Int64(s string) int64 {
|
|
h := fnv.New32a()
|
|
_, err := h.Write([]byte(s))
|
|
if err != nil {
|
|
return 0
|
|
}
|
|
return int64(h.Sum32())
|
|
}
|
|
|
|
func RandomStringByStringNonce(n int, seed string, nonce int64) string {
|
|
return RandomStringByInt64(n, String2Int64(seed)*nonce)
|
|
}
|
|
|
|
func RandomStringByString(n int, seed string) string {
|
|
return RandomStringByInt64(n, String2Int64(seed))
|
|
}
|
|
|
|
var userAgentList = []string{
|
|
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;",
|
|
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",
|
|
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
|
|
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv,2.0.1) Gecko/20100101 Firefox/4.0.1",
|
|
"Mozilla/5.0 (Windows NT 6.1; rv,2.0.1) Gecko/20100101 Firefox/4.0.1",
|
|
"Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11",
|
|
"Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11",
|
|
"Mozilla/5.0 (Macintosh; Intel Mac OS X…TML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
|
|
"Mozilla/5.0 (Macintosh; U; Intel Mac OS….50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
|
|
"Mozilla/5.0 (Windows; U; Windows NT 6.1….50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Win…etaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)",
|
|
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)",
|
|
"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4… Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5",
|
|
"Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3… Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5",
|
|
"Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like… Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5",
|
|
"Mozilla/5.0 (Linux; U; Android 2.3.7; …HTML, like Gecko) Version/4.0 Mobile Safari/533.1",
|
|
"MQQBrowser/26 Mozilla/5.0 (Linux; U; A…HTML, like Gecko) Version/4.0 Mobile Safari/533.1",
|
|
"Opera/9.80 (Android 2.3.4; Linux; Oper…107180945; U; en-GB) Presto/2.8.149 Version/11.10",
|
|
"Mozilla/5.0 (Linux; U; Android 3.0; en….13 (KHTML, like Gecko) Version/4.0 Safari/534.13",
|
|
"Mozilla/5.0 (BlackBerry; U; BlackBerry…ike Gecko) Version/6.0.0.337 Mobile Safari/534.1+",
|
|
"Mozilla/5.0 (hp-tablet; Linux; hpwOS/3…ecko) wOSBrowser/233.70 Safari/534.6 TouchPad/1.0",
|
|
"Mozilla/5.0 (SymbianOS/9.4; Series60/5…ebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124",
|
|
"Mozilla/5.0 (compatible; MSIE 9.0; Win…ne OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)",
|
|
"UCWEB7.0.2.37/28/999",
|
|
"NOKIA5700/ UCWEB7.0.2.37/28/999",
|
|
"Openwave/ UCWEB7.0.2.37/28/999",
|
|
"Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/999",
|
|
}
|
|
|
|
func RandomUserAgent(seed string) string {
|
|
return userAgentList[rand.New(rand.NewSource(String2Int64(seed))).Intn(len(userAgentList))]
|
|
}
|