Commit dc15ac30 authored by anqi-wmm's avatar anqi-wmm

生产 sensor_data

parent bdc8be2b
......@@ -10,6 +10,7 @@ require (
github.com/google/uuid v1.3.0 // indirect
github.com/gorilla/mux v1.8.0 // indirect
github.com/klauspost/compress v1.15.12 // indirect
github.com/sirupsen/logrus v1.9.0 // indirect
github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5 // indirect
golang.org/x/crypto v0.1.0 // indirect
golang.org/x/net v0.1.0 // indirect
......
......@@ -6,7 +6,9 @@ github.com/bogdanfinn/tls-client v1.3.6 h1:yUy2eaM1dZDZ1Aygx4omDipwA6JAvGNqc0M/7
github.com/bogdanfinn/tls-client v1.3.6/go.mod h1:8gH/JONhppdUHkhmzBTrYPCx6lun2CRBMUMyUxYqAFQ=
github.com/bogdanfinn/utls v1.5.14 h1:lfP4QWSuGzbzihaJ8It0eva+aPKp3x42UwhcIIWGHwM=
github.com/bogdanfinn/utls v1.5.14/go.mod h1:mHeRCi69cUiEyVBkKONB1cAbLjRcZnlJbGzttmiuK4o=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
......@@ -14,6 +16,11 @@ github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB7
github.com/klauspost/compress v1.15.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM=
github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5 h1:YqAladjX7xpA6BM04leXMWAEjS0mTZ5kUU9KRBriQJc=
github.com/tam7t/hpkp v0.0.0-20160821193359-2b70b4024ed5/go.mod h1:2JjD2zLQYH5HO74y5+aE3remJQvl6q4Sn6aWA2wD1Ng=
......@@ -21,10 +28,13 @@ golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
......@@ -3,9 +3,9 @@ package main
import (
"fmt"
"github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"log"
"net/http"
"regexp"
"test/model"
)
......@@ -14,17 +14,11 @@ func WelcomeHandler(w http.ResponseWriter, r *http.Request) {
}
func main() {
//wg := &sync.WaitGroup{}
//for i := 0; i < 10; i++ {
// wg.Add(1)
//
// go run(wg)
//}
//wg.Wait()
str := "<noscript><img src=\"https://www.easyjet.com/akam/13/pixel_7b9d10f9?a=dD1lMmMzOTBjM2M4NWUyYz\nkzNjljOTNhZDUyNmRkOGJjMDdjNjM2MWJmJmpzPW9mZg==\" style=\"visibility: hidden; position: absolu\nte; left: -999px; top: -999px;\" /></noscript><script type=\"text/javascript\" src=\"/-Hzovq/uluGM/jHPdr/v3N7/m5OOLVXmDOwY/NG4dCQE/Zy/lnEF9qaQI\"></script></body>\n</html>"
reg, _ := regexp.Compile("</noscript><script type=\"text/javascript\" src=\"(.+?)\"></s")
matchs := reg.FindStringSubmatch(str)
fmt.Println(matchs)
logrus.SetLevel(logrus.TraceLevel)
//str := "<noscript><img src=\"https://www.easyjet.com/akam/13/pixel_7b9d10f9?a=dD1lMmMzOTBjM2M4NWUyYz\nkzNjljOTNhZDUyNmRkOGJjMDdjNjM2MWJmJmpzPW9mZg==\" style=\"visibility: hidden; position: absolu\nte; left: -999px; top: -999px;\" /></noscript><script type=\"text/javascript\" src=\"/-Hzovq/uluGM/jHPdr/v3N7/m5OOLVXmDOwY/NG4dCQE/Zy/lnEF9qaQI\"></script></body>\n</html>"
//reg, _ := regexp.Compile("</noscript><script type=\"text/javascript\" src=\"(.+?)\"></s")
//matchs := reg.FindStringSubmatch(str)
//fmt.Println(matchs)
router := mux.NewRouter()
router.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
......
......@@ -4,12 +4,14 @@ import (
"fmt"
http "github.com/bogdanfinn/fhttp"
tls_client "github.com/bogdanfinn/tls-client"
"github.com/sirupsen/logrus"
"io"
"log"
"net/url"
"regexp"
"strings"
"test/sensor"
"time"
)
type AkmClient struct {
......@@ -20,7 +22,7 @@ type AkmClient struct {
var akmClient *AkmClient
func NewAkmClient() *AkmClient {
func NewAkmClient(proxyUrl string) *AkmClient {
jar := tls_client.NewCookieJar()
options := []tls_client.HttpClientOption{
tls_client.WithTimeoutSeconds(30),
......@@ -36,13 +38,17 @@ func NewAkmClient() *AkmClient {
log.Println(err)
}
//client.SetProxy("http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600")
client.SetProxy("http://127.0.0.1:8888")
if proxyUrl == "" {
client.SetProxy("http://127.0.0.1:8890")
} else {
client.SetProxy(proxyUrl)
}
return &AkmClient{Jar: jar, Client: client}
}
func GetAbck(times int, urlInput string) []*http.Cookie {
abck, bmsz := GetCookie()
//data := url.Values{}
//data.Set("times", strconv.Itoa(times))
//data.Set("abck", abck)
......@@ -57,14 +63,14 @@ func GetAbck(times int, urlInput string) []*http.Cookie {
//res, _ := io.ReadAll(resp.Body)
ua := "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50"
res := sensor.GenData(abck, bmsz, ua, urlInput)
t1 := time.Now()
sensor_data := "{\"sensor_data\":\"" + string(res) + "\"}"
akmRes, err := akmClient.Client.Post("https://www.easyjet.com"+akmClient.SensorUrl, "application/json", strings.NewReader(sensor_data))
if err != nil {
log.Fatalln(err)
}
defer akmRes.Body.Close()
akmResBytes, _ := io.ReadAll(akmRes.Body)
fmt.Println(times, string(akmResBytes))
logrus.Info("响应abck结果", akmRes.StatusCode, "请求耗时", time.Since(t1).String())
return akmRes.Cookies()
}
......@@ -143,10 +149,12 @@ func query() {
fmt.Println(string(readBytes))
}
func EasyJet() *Akm {
akmClient = NewAkmClient()
func EasyJet(proxyUrl string) *Akm {
fmt.Println("使用代理", proxyUrl)
akmClient = NewAkmClient(proxyUrl)
url := "https://www.easyjet.com/en"
akmClient.SensorUrl = initAbck(url)
fmt.Println("请求sensor url:", akmClient.SensorUrl)
GetAbck(0, "https://www.easyjet.com/en/buy/flights?isOneWay=on&pid=www.easyjet.com")
GetAbck(1, "https://www.easyjet.com/en/buy/flights?isOneWay=on&pid=www.easyjet.com")
GetAbck(2, "https://www.easyjet.com/en/buy/flights?isOneWay=on&pid=www.easyjet.com")
......
......@@ -2,13 +2,14 @@ package model
import (
"github.com/gorilla/mux"
"github.com/sirupsen/logrus"
"net/http"
"test/util"
)
func routeToU2(w http.ResponseWriter, r *http.Request) {
data := util.GetPostJson(r)
logrus.Printf("请求一次", data)
if err := checkPostRequire(data); err == false {
util.WriteJson(w, util.ErrorJson("请求参数不正确"))
}
......@@ -17,7 +18,7 @@ func routeToU2(w http.ResponseWriter, r *http.Request) {
var akm *Akm
switch carrierType {
case "u2":
akm = EasyJet()
akm = EasyJet(data["proxy"].(string))
default:
util.WriteJson(w, util.ErrorJson("不支持的航司"))
......
......@@ -2,6 +2,7 @@ package sensor
import (
"fmt"
"github.com/sirupsen/logrus"
"math"
"math/rand"
"net/url"
......@@ -72,7 +73,6 @@ func (a AkmSign) genData() string {
"x11:0",
"x12:1"}
fmt.Println(Wx)
Ds := rand.Float64()
Ns := int(Ds * 1000 / 2)
q8 := 9744
......@@ -89,7 +89,6 @@ func (a AkmSign) genData() string {
randomStr := strconv.FormatFloat(Ds, 'f', 11, 64)[:11] + strconv.Itoa(Ns)
data2 = append(data2, q8, randomStr, Y8, Al, "loc")
arg100 := toString(data2) + ":"
fmt.Println(arg100)
//arg102 := ""
//if a.Times > 3 {
// arg102 = "0,-1,1,0,-1,-1,0;0,-1,1,0,-1,-1,0;0,0,1,1,2416,1765,0;0,0,0,1,2954,2303,0;-1,-1,1,1,1065,529,0;0,-1,0,0,2108,2108,0;"
......@@ -116,8 +115,6 @@ func (a AkmSign) genData() string {
vY := 0
px := 0
KO := Ho / 6
fmt.Println(now() - (a.startTs - 500))
fmt.Println(float64(now() - (a.startTs - 500)))
jO := rand.Intn(500) + 500
Ix := 0
CE := 0
......@@ -137,8 +134,6 @@ func (a AkmSign) genData() string {
0, Ix, jO, CE, "0", a.Abck, checkCookie, arg155_2, arg155_3, PO, "PiZtE",
Wx[0], Wx[1], 0, -1, 0,
}
fmt.Println(toString(arg115))
arg80 := a.VE(dY["fpValStr"])
arg90 := a.gen90()
NJ := "1"
......@@ -168,8 +163,7 @@ func (a AkmSign) genData() string {
arg132 = XJ + "," + qJ
}
arg129 := "5a4dd815976b96d7332ee11d4ad4f22fbd9d8484fb33b68201be1b71ded52cf3,1,0,Google Inc. (ATI Technologies Inc.),ANGLE (ATI Technologies Inc., AMD Radeon RX 560 OpenGL Engine, OpenGL 4.1),2cd06f89ccaf413c4875680e907893d902d434005dea52a232d420825cd4fa5f,28"
zN := a.zNfunc()
fmt.Println(zN)
a.zNfunc()
//WN := zN[0]
//DN := zN[1]
//EN := zN[2]
......@@ -226,7 +220,7 @@ func (a AkmSign) genData() string {
timeStr,
"-115",
// "1,32,32,0,0,0,0,4075,0,1676447795649,-999999,17934,0,0,2989,0,0,4079,0,0,CF546EF91349FD04AAFF436D48BC1E41~-1~YAAQRq08Fy5m7CiGAQAAdWsOVAnvfV/BUEgLoHamIMLnzdDoES1zt19HsfaS5bLPJoxT1UH8f5l3DpvRE3tr+PZ9tmEjq9GGRjFrLlXelMl1Fj3e/JvUWjJrmiZDG3I3hXSOnT0JswGkRnzdgKJ/RTJoUDrjXIZVhkXCiGht1GN4Npm5/ge4jabJAwfknRMx6J22sqMYw/dfypnXeG5iP84Cyz1m/sNthIG3P7lEdZ0/IrOiVMASglN+MWWBbLd8VzOxES7fSwYRdl3LbpTcYZ5kzcQ5BCe3uqH1aJR4XuOITAFH0FtqBAMzva08IWWK8Hh613mJNPcKAT9OJYNMs9Mf7EBh8xXHUns4JfJt5z9KE05uAJCrgDuyyuV349ZhIDuqXjUK/2ZR2A9zmQwfVzY5jZVaDfUW/Odm4nHZzsXQfzhf4G3IyTE=~-1~-1~-1,40161,-1,-1,30261693,PiZtE,53681,94,0,-1,0",
arg115,
toString(arg115),
"-112",
a.Url,
"-119",
......@@ -264,7 +258,6 @@ func toString(data []interface{}) string {
case int:
res[i] = strconv.Itoa(v.(int))
case int64:
fmt.Println(v)
res[i] = strconv.Itoa(int(v.(int64)))
case float64:
res[i] = fmt.Sprintf("%f", v)
......@@ -282,7 +275,6 @@ func toStringList(data []any) []string {
case int:
res[i] = strconv.Itoa(v.(int))
case int64:
fmt.Println(v)
res[i] = strconv.Itoa(int(v.(int64)))
case float64:
res[i] = fmt.Sprintf("%f", v)
......@@ -477,17 +469,14 @@ func GenSensorData(data []string, bmsz string, f3 int64) string {
Uw := "2s0asvpTvpeqfsTnrJpApg=="
text = bd(bd(bd(bd(bd(Jw, Uw), t3), strconv.Itoa(24^VE(text))), t3), text)
text = bd(bd(bd(bd("2", t3), "2"), t3), text)
fmt.Println(t3)
ww := splitBmsz(bmsz)
fmt.Println(ww)
cw := time.Now().Unix()
cw = time.Now().Unix() - cw
Mr := time.Now().Unix()
text = genSensor1(text, ww[1])
Mr = time.Now().Unix() - Mr
text = genSensor2(text, ww[0])
fmt.Println(len(text))
zr := strconv.Itoa(int(now()-f3)) + "," + "0," + strconv.Itoa(int(tw)) + "," + strconv.Itoa(int(cw)) + "," + strconv.Itoa(int(Mr)) + "0"
fr := ";"
return "2;" + strconv.Itoa(ww[0]) + fr + strconv.Itoa(ww[1]) + fr + zr + fr + text
......@@ -512,7 +501,7 @@ func bd(a, b string) string {
func GenData(abck, bmsz, ua, url string) string {
t1 := time.Now()
akm := NewAkmSign(0, url, ua, abck, bmsz)
fmt.Println("cost", time.Since(t1).String())
logrus.Info("生产一次 abck 耗时", time.Since(t1).String())
return akm.genData()
}
......
......@@ -17,7 +17,6 @@ import (
func query(data []byte) {
v := model.Akm{}
json.Unmarshal(data, &v)
fmt.Println(v)
jar := tls_client.NewCookieJar()
options := []tls_client.HttpClientOption{
tls_client.WithTimeoutSeconds(30),
......@@ -25,7 +24,7 @@ func query(data []byte) {
tls_client.WithNotFollowRedirects(),
tls_client.WithCookieJar(jar), // create cookieJar instance and pass it as argument
//tls_client.WithProxyUrl("http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600"),
tls_client.WithProxyUrl("http://127.0.0.1:8888"),
tls_client.WithProxyUrl("http://127.0.0.1:8890"),
tls_client.WithInsecureSkipVerify(),
}
uri, _ := url.Parse("https://www.easyjet.com/")
......@@ -76,13 +75,15 @@ func main() {
//resp, err := http.Post("http://172.29.199.203:9999/get-proxy", "application/x-www-form-urlencoded", strings.NewReader("name=NK&type=other&country=us"))
//resp, err := http.Get("http://127.0.0.1:9999/ping")
//resp, err := http.Post("http://lcc.unififi.com/proxy/get-proxy", "application/json", strings.NewReader("{\n \"name\": \"NK\",\n \"type\": \"shopping\"\n}"))
resp, err := http.Post("http://127.0.0.1:19999/akamai/gen", "application/json", strings.NewReader("{\"type\": \"u2\", \"proxy\": \"http://127.0.0.1:8888\"}"))
t1 := time.Now()
resp, err := http.Post("http://127.0.0.1:19999/akamai/gen", "application/json", strings.NewReader("{\"type\": \"u2\", \"proxy\": \"http://127.0.0.1:8890\"}"))
if err != nil {
//panic(err)
fmt.Println(err)
return
}
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println("abck cost", time.Since(t1).String())
query(body)
}()
......
package main
import "test/sensor"
func main() {
url := "https://www.easyjet.com/en"
abck := "B9E0C674552DB391815F82C0647FADC9~-1~YAAQBGUzuBl9/72GAQAAyb94wAm4ydH5I2znFxoyfaPIvHOHSyqXZHzgQ7m2RkagTpBzztNa5LmNFcqg4DNXEm/tZ+r1JxOWYfLY1EA5bzEvauFo6puMeVBuo4HdbMVfmxlwKaZpIQRNtUq0Z1wEmw2rrWetb3RktDypg1QT1tuF/hnXMQseB7YMYUY2Gku1MCLDlJF3wgsm6+tXjbhbqG0RR5IKiv3My4Q5kx2JEGDFV+X/RgB5wQz1ggUsipMSyDhrqlBsYhuMxyOzZNUQX29HuKZZjKTF3omqkyGJIrMhWz7yQ3fwlKrTYjswHxIX/GP4rZqWUL3m0Zhnhu/SrZipSJOLtKbgTwTuQS+iAXNP5DsSVGL0s8+nMrQNuIVyCNUZg3nxRRjgDx/+AvYppn2xiwW/tkuOAYIbtFRkirM5J9U=~-1~||1-EAjzIUtDUl-2250-10-1000-2||~-"
bmsz := "F7BF54E40B51C55E0818DC07CD173D3D~YAAQtto4fZOUjTaGAQAAu2TuXRLag7FMMOcGVWfM6R1TuxY9u8Z+UDLtA8qE03/kyE1u1gycaSyEWy9GEbaHoyc2CT7Gqokpc8mxNY8qoEITjbsXZlhLE9Zm2K7ekUb1wAsxocavW2rsJTBvlEfYAcPs6/04ASA1QueCbMErtMm5Jqg7MnPVmCym75ewsP6qihOts07wgEWNkbSsdaHzQf4cm3uHxirh3o91GojyUSGrxRcFRn4NJlQtxIX/PrOsUr4HyxcYTAX+WUh6QyBCzGQ4pNgiszuc4R9OdAy3XGc6LzUP7PBIl5fz6OpZUj2gTJT2j5WPOn2I469jdYrZCAMoajftNJ9nrdy36vkz9S+Xp3z7dh9btp+Q+bpRYd1M9zhtmlmHxTTSv7rs6sOBHE/tmvEHXtc=~3748403~3683895"
ua := "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50"
sensor.GenData(abck, bmsz, ua, url)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment