Commit bbe3f869 authored by wang's avatar wang

jiami

parent 7b4aeaef
No preview for this file type
......@@ -15,95 +15,98 @@ from loguru import logger
from env_captcha import PxEnv
from src.utils import PxUtils
ctxPC = execjs.compile(open('pc.js').read())
ctx = execjs.compile('''const Ev = (t, e, n) => {
var r = ie(encode(n), 10), o = [], a = -1;
for (var i = 0; i < t.length; i++) {
var l = Math.floor(i / r.length + 1)
var c = i >= r.length ? i % r.length : i
var u = r.charCodeAt(c) * r.charCodeAt(l)
// console.log(i, l, c, u)
u > a && (a = u)
}
for (var f = 0; t.length > f; f++) {
var s = Math.floor(f / r.length) + 1,
d = f % r.length,
p = r.charCodeAt(d) * r.charCodeAt(s)
// console.log(f, s, d, p, p > e, wv(p, 0, a, 0, e-1))
p >= e && (p = wv(p, 0, a, 0, e - 1));
for (; -1 !== o.indexOf(p);) {
p += 1
}
// console.log('add', p)
o.push(p)
}
return o.sort(function (t, e) {
return t - e
})
}
const encode = (t) => {
return btoa(encodeURIComponent(t).replaceAll(/%([0-9A-F]{2})/g, function (t, e) {
// console.log(t, e, '0x' + e)
return String.fromCharCode("0x" + e);
}))
}
const ie = (t, e) => {
for (var n = '', r = 0; r < t.length; r++)
// console.log(e, t.charCodeAt(r), e ^ t.charCodeAt(r), String.fromCharCode(e ^ t.charCodeAt(r)))
n += String.fromCharCode(e ^ t.charCodeAt(r))
return n
}
const wv = (t, e, n, r, o) => {
return Math.floor(((t - e) / (n - e)) * (o - r) + r)
}
const Fa = (t, e, n) => {
// console.log('t', t)
// console.log('e', e)
// console.log('n', n)
var r = '', o = 0, a = t.split('')
for (var i = 0; i < t.length; i++) {
// console.log(i,o,n[i], n[i] - i - 1, e.substring(o, n[i] - i - 1), a[i], e.substring(o, n[i] - i - 1)+a[i])
// console.log(i, o, n[i] - i - 1, n[i] - i - 1 - o)
r += e.substring(o, n[i] - i - 1)
+ a[i]
// console.log(e.substring(o, n[i] - i - 1))
// console.log(r.length, r)
o = n[i] - i - 1
// console.log('iii',i,r)
// console.log()
}
ctxPC = execjs.compile(open('pc.js').read())
console.log(e.substring(o))
return (r += e.substring(o))
}
function encodePayload(payload, uuid, sts) {
var sts = sts.length === 0 ? '1604064986000' : sts
let t1 = ie(payload, 50);
const BasePayload = encode(t1)
console.log(BasePayload)
const fv = ie(encode(sts), 10)
let t3 = Ev(fv, BasePayload.length, uuid);
console.log(t3+''
)
return Fa(fv, BasePayload, t3)
}
function encodeData(payload, uuid, sts) {
payload = atob(payload)
payload = decodeURIComponent(payload)
return encodePayload(payload, uuid, sts)
}
''')
# ctx = execjs.compile('''const Ev = (t, e, n) => {
# var r = ie(encode(n), 10), o = [], a = -1;
# for (var i = 0; i < t.length; i++) {
# var l = Math.floor(i / r.length + 1)
# var c = i >= r.length ? i % r.length : i
# var u = r.charCodeAt(c) * r.charCodeAt(l)
# // console.log(i, l, c, u)
# u > a && (a = u)
# }
# for (var f = 0; t.length > f; f++) {
# var s = Math.floor(f / r.length) + 1,
# d = f % r.length,
# p = r.charCodeAt(d) * r.charCodeAt(s)
# // console.log(f, s, d, p, p > e, wv(p, 0, a, 0, e-1))
# p >= e && (p = wv(p, 0, a, 0, e - 1));
# for (; -1 !== o.indexOf(p);) {
#
# p += 1
# }
# // console.log('add', p)
# o.push(p)
# }
#
# return o.sort(function (t, e) {
# return t - e
# })
# }
#
# const encode = (t) => {
# return btoa(encodeURIComponent(t).replaceAll(/%([0-9A-F]{2})/g, function (t, e) {
# // console.log(t, e, '0x' + e)
# return String.fromCharCode("0x" + e);
# }))
# }
#
# const ie = (t, e) => {
# for (var n = '', r = 0; r < t.length; r++)
# // console.log(e, t.charCodeAt(r), e ^ t.charCodeAt(r), String.fromCharCode(e ^ t.charCodeAt(r)))
# n += String.fromCharCode(e ^ t.charCodeAt(r))
#
# return n
# }
#
# const wv = (t, e, n, r, o) => {
# return Math.floor(((t - e) / (n - e)) * (o - r) + r)
# }
#
# const Fa = (t, e, n) => {
# // console.log('t', t)
# // console.log('e', e)
# // console.log('n', n)
# var r = '', o = 0, a = t.split('')
# for (var i = 0; i < t.length; i++) {
# // console.log(i,o,n[i], n[i] - i - 1, e.substring(o, n[i] - i - 1), a[i], e.substring(o, n[i] - i - 1)+a[i])
# // console.log(i, o, n[i] - i - 1, n[i] - i - 1 - o)
# r += e.substring(o, n[i] - i - 1)
# + a[i]
# // console.log(e.substring(o, n[i] - i - 1))
# // console.log(r.length, r)
# o = n[i] - i - 1
# // console.log('iii',i,r)
# // console.log()
# }
#
# console.log(e.substring(o))
# return (r += e.substring(o))
# }
#
# function encodePayload(payload, uuid, sts) {
# var sts = sts.length === 0 ? '1604064986000' : sts
# let t1 = ie(payload, 50);
# const BasePayload = encode(t1)
# console.log(BasePayload)
# const fv = ie(encode(sts), 10)
# let t3 = Ev(fv, BasePayload.length, uuid);
# console.log(t3+''
# )
# return Fa(fv, BasePayload, t3)
# }
# function encodeData(payload, uuid, sts) {
# payload = atob(payload)
# payload = decodeURIComponent(payload)
# return encodePayload(payload, uuid, sts)
# }
#
#
# ''')
ctx = execjs.compile(open('../js/encodepayload.js').read())
ctxStep2 = execjs.compile('''
const crypto = require('crypto');
function genUuid(t, e, n, r) {
......@@ -168,6 +171,8 @@ function genUuid(t, e, n, r) {
return a === g ? a : g;
}''')
ctxPayload2 = execjs.compile(open('../step2.js').read())
def get_timestamp():
return int(time.time() * 1000)
......@@ -182,6 +187,7 @@ class PxBypass():
tag = "v8.7.2"
ft = "317"
appId = "PXVb73hTEg"
def __init__(self, target_url):
# PX11431 o111ooo1
self.ts: str = ''
......@@ -237,8 +243,11 @@ class PxBypass():
prox = f'http://user-uni001-region-us-sessid-{random.randint(1000, 5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
# prox = 'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:9000'
prox = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
# prox = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
# prox = 'http://127.0.0.1:8890'
self.tlsUrl = 'http://52.52.23.116/tls/forward'
# self.tlsUrl = 'http://127.0.0.1:58000/tls/forward'
self.session.proxies = {
'http': prox,
'https': prox,
......@@ -246,8 +255,7 @@ class PxBypass():
self.prox = prox
self.log.info(f'proxy: {self.prox}')
self.tlsUrl = 'http://52.52.23.116/tls/forward'
# self.tlsUrl = 'http://127.0.0.1:58000/tls/forward'
def inc(self):
self.seq += 1
......@@ -256,7 +264,7 @@ class PxBypass():
def do_collector(self, data):
if isinstance(data, list):
data_str = json.dumps(data, separators=(',', ':'), ensure_ascii=False)
data_str = json.dumps(data, separators=(',', ':'), ensure_ascii=True)
else:
data_str = data
self.log.info(f'data_str {data_str}')
......@@ -314,9 +322,9 @@ class PxBypass():
self._step_2(True)
# time.sleep(2)
self._step_3()
time.sleep(2)
self._token()
#
# time.sleep(2)
# self._token()
# self.add_header()
def _init(self):
......@@ -484,7 +492,7 @@ class PxBypass():
def _gen_pc(self, t1, e):
self.log.info(f'genpc key: {e}')
self.log.info(f'genpc msg: {t1}')
return ctxPC.call('genPc', t1,e)
return ctxPC.call('genPc', t1, e)
# r = requests.post('http://127.0.0.1:3001', data={
# 't':t1,
# 'e':e
......@@ -547,7 +555,7 @@ class PxBypass():
"cookie": '; '.join(cks)
}, method="GET", proxy=self.prox,
debug=True
, allow_redirects=True
# , allow_redirects=True
))
response = response.json()
......@@ -568,34 +576,33 @@ class PxBypass():
self.log.error(f"请求结果 {response['status_code']}")
def _step_2(self, nn):
self.performanceNow += random.randint(1000,2000)
self.performanceNow += random.randint(1000, 2000)
self.log.info(f'performanceNow {self.performanceNow}')
# sid, vid,ts, num1 ,num2,str1, uuid
# data_str = ctxStep2.call('genPayload2', self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
# self.str1, self.uuid,
# self.startTs, self.startTs2, self.performanceNow, self.px12280, nn)
data_str = ctxPayload2.call('genPayload2', self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
self.str1, self.uuid,
self.startTs, self.startTs2, self.performanceNow, self.px12280, nn)
# data_str =
# data = json.loads(data_str)
p = PxEnv(self.pxEnv, self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
self.str1, self.uuid,
self.startTs, self.startTs2, self.performanceNow, self.px12280)
data = [p.get_px11590()]
# p = PxEnv(self.pxEnv, self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
# self.str1, self.uuid,
# self.startTs, self.startTs2, self.performanceNow, self.px12280)
# data_str = [p.get_px11590()]
# data_str2 = ctxStep2.call('genPayload3', self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
# self.str1, self.uuid,
# self.startTs, self.startTs2, nn)
# data2 = json.loads(data_str2)
# data.extend(data2)
self.do_collector(data)
self.do_collector2(data_str)
def _decode_resp(self):
a = int(self.tag.replace('v', '').replace('.', ''))
return a % 128
def _step_11(self):
self.performanceNow += random.randint(1000,2000)
self.performanceNow += random.randint(1000, 2000)
data = [{"t": "PX12167", "d": {"PX11648": True}}]
self.do_collector(data)
......@@ -624,25 +631,25 @@ class PxBypass():
return data
def _step_3(self):
self.performanceNow += random.randint(1000,2000)
self.performanceNow += random.randint(1000, 2000)
self.log.info(f'performanceNow {self.performanceNow}')
# sid, vid,ts, num1 ,num2,str1, uuid
# genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs2, performanceNow, px11280, n)
# data_str = ctxStep2.call('genPayload4', self.target_url, self.sid, self.vid, self.ts, self.num1,
# self.num2,
# self.str1, self.uuid,self.startTs, self.startTs2, self.performanceNow, self.px12280)
p = PxEnv(self.pxEnv, self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
self.str1, self.uuid,
self.startTs, self.startTs2, self.performanceNow, self.px12280)
data = [
p.get_px12123(),
p.get_px11891(),
p.get_px11547()]
data_str = ctxPayload2.call('genPayload4', self.target_url, self.sid, self.vid, self.ts, self.num1,
self.num2,
self.str1, self.uuid, self.startTs, self.startTs2, self.performanceNow,
self.px12280)
# p = PxEnv(self.pxEnv, self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
# self.str1, self.uuid,
# self.startTs, self.startTs2, self.performanceNow, self.px12280)
# data = [
# p.get_px12123(),
#
# p.get_px11891(),
# p.get_px11547()]
self.do_collector(data)
self.do_collector2(data_str)
def parse_resp(self, resp):
if 'ob' in resp:
......@@ -666,10 +673,6 @@ class PxBypass():
self.cookies.update({
'_pxvid': self.vid
})
self.session.cookies.update({
'_pxvid': self.vid
})
if tmp[0] == 'o11o11':
self.sid = tmp[1]
if tmp[0] == '11o111':
......@@ -697,8 +700,7 @@ class PxBypass():
self.session.cookies.update({
'_px2': tmp[3]
})
self.log.info(f'px2_decode {base64.b64decode(tmp[3].encode()).decode()}')
# elif '31536000' in i:
self.log.debug(f'px2_decode {base64.b64decode(tmp[3].encode()).decode()}') # elif '31536000' in i:
# self.cookies.update({
# '_pxvid': tmp[1]
# })
......@@ -754,6 +756,48 @@ class PxBypass():
})
self.log.info(f'添加接口 {r.text}')
def do_collector2(self, data):
# self.log.info(f"gen Payload {self.uuid}, {self.ts}")
# payload = ctx.call('encodeData', base64.b64encode(data_str.encode('utf-8')).decode(), self.uuid, self.ts)
payload = data[0]
pc = data[1]
body = {
"appId": self.appId,
"tag": self.tag,
"uuid": self.uuid,
"ft": self.ft,
"seq": self.seq,
"en": "NTA",
"pc": pc,
"rsc": self.rsc,
"payload": payload,
}
body = self.update_sid_vid(body)
self.log.info(f'postBody {json.dumps(body)}')
# response = self.session.post(self.pxUrl, headers=self.pxHeaders, data=body)
response = requests.post(self.tlsUrl,
# response = requests.post('http://127.0.0.1:58000/tls/forward',
json=dict(url=self.pxUrl, headers=self.pxHeaders, method="POST", proxy=self.prox,
debug=True,
data=urlencode(body, doseq=True)
# ,allow_redirects=True
))
self.log.info(f'collector {response.text}')
resp = response.json()
resp = json.loads(resp['text'])
self.parse_resp(resp)
cks = []
# for k, v in self.cookies.items():
# cks.append(f'{k}={v}')
for k, v in self.session.cookies.get_dict().items():
cks.append(f'{k}={v}')
self.log.info('; '.join(cks))
self.inc()
# self.px12280 = self.startTs + self.performanceNow
if __name__ == '__main__':
url = "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-11-30&ADT=1&umnr=false&mon=true"
......
// pc
// encode
const Ev = (t, e, n) => {
var r = ie(encode(n), 10), o = [], a = -1;
for (var i = 0; i < t.length; i++) {
var l = Math.floor(i / r.length + 1)
var c = i >= r.length ? i % r.length : i
var u = r.charCodeAt(c) * r.charCodeAt(l)
// console.log(i, l, c, u)
u > a && (a = u)
}
for (var f = 0; t.length > f; f++) {
var s = Math.floor(f / r.length) + 1,
d = f % r.length,
p = r.charCodeAt(d) * r.charCodeAt(s)
// console.log(f, s, d, p, p > e, wv(p, 0, a, 0, e-1))
p >= e && (p = wv(p, 0, a, 0, e - 1));
for (; -1 !== o.indexOf(p);) {
p += 1
}
// console.log('add', p)
o.push(p)
}
return o.sort(function (t, e) {
return t - e
})
}
const encode = (t) => {
return btoa(encodeURIComponent(t).replaceAll(/%([0-9A-F]{2})/g, function (t, e) {
// console.log(t, e, '0x' + e)
return String.fromCharCode("0x" + e);
}))
}
const ie = (t, e) => {
for (var n = '', r = 0; r < t.length; r++)
// console.log(e, t.charCodeAt(r), e ^ t.charCodeAt(r), String.fromCharCode(e ^ t.charCodeAt(r)))
n += String.fromCharCode(e ^ t.charCodeAt(r))
return n
}
const wv = (t, e, n, r, o) => {
return Math.floor(((t - e) / (n - e)) * (o - r) + r)
}
const Fa = (t, e, n) => {
// console.log('t', t)
// console.log('e', e)
// console.log('n', n)
var r = '', o = 0, a = t.split('')
for (var i = 0; i < t.length; i++) {
// console.log(i,o,n[i], n[i] - i - 1, e.substring(o, n[i] - i - 1), a[i], e.substring(o, n[i] - i - 1)+a[i])
// console.log(i, o, n[i] - i - 1, n[i] - i - 1 - o)
r += e.substring(o, n[i] - i - 1)
+ a[i]
// console.log(e.substring(o, n[i] - i - 1))
// console.log(r.length, r)
o = n[i] - i - 1
// console.log('iii',i,r)
// console.log()
}
return (r += e.substring(o))
}
function encodePayload(payload, uuid, ts) {
var sts = ts.length === 0 ? '1604064986000' : ts
let t1 = ie(payload, 50);
const BasePayload = encode(t1)
// console.log(BasePayload)
const fv = ie(encode(sts), 10)
let t3 = Ev(fv, BasePayload.length, uuid);
return Fa(fv, BasePayload, t3)
}
function $C_kKK(t, e) {
for (var n = "", r = 0; r < t.length; r++) n += String.fromCharCode(e ^ t.charCodeAt(r));
return n;
......@@ -4863,10 +4944,8 @@ function createPx2(t, e) {
function createPx1(t) {
t = "" + t;
for (var e, n = 0, r = 0; r < t.length; r++) {
console.log(n, t.charCodeAt(r))
n = (n << 5) - n + t.charCodeAt(r);
n |= 0;
console.log(r,n )
}
return e = n, (e |= 0) < 0 && (e += 4294967296), e.toString(16);
......@@ -4917,6 +4996,165 @@ function createPX12508() {
return ENV.useragentdata.highvalue.brands
}
function genPc(t, e) {
function D(t, e) {
var n, r = H(t), a = [], o = [];
for (a[15] = o[15] = void 0,
r.length > 16 && (r = O(r, 8 * t.length)),
n = 0; n < 16; n += 1)
a[n] = 909522486 ^ r[n],
o[n] = 1549556828 ^ r[n];
var i = O(a.concat(H(e)), 512 + 8 * e.length);
return X(O(o.concat(i), 640))
}
function X(t) {
var e, n = "";
for (e = 0; e < 32 * t.length; e += 8)
n += String.fromCharCode(t[e >> 5] >>> e % 32 & 255);
return n
}
function H(t) {
var e, n = [];
for (n[(t.length >> 2) - 1] = void 0,
e = 0; e < n.length; e += 1)
n[e] = 0;
for (e = 0; e < 8 * t.length; e += 8)
n[e >> 5] |= (255 & t.charCodeAt(e / 8)) << e % 32;
return n
}
function R(t, e) {
var n = (65535 & t) + (65535 & e);
return (t >> 16) + (e >> 16) + (n >> 16) << 16 | 65535 & n
}
function x(t, e, n, r, a, o, i) {
return B(e & n | ~e & r, t, e, a, o, i)
}
function B(t, e, n, r, a, o) {
return R((i = R(R(e, t), R(r, o))) << (c = a) | i >>> 32 - c, n);
var i, c
}
function _(t, e, n, r, a, o, i) {
return B(e & r | n & ~r, t, e, a, o, i)
}
function k(t, e, n, r, a, o, i) {
return B(e ^ n ^ r, t, e, a, o, i)
}
function M(t, e, n, r, a, o, i) {
return B(n ^ (e | ~r), t, e, a, o, i)
}
function O(t, e) {
t[e >> 5] |= 128 << e % 32,
t[14 + (e + 64 >>> 9 << 4)] = e;
var n, r, a, o, i, c = 1732584193, u = -271733879, f = -1732584194, s = 271733878;
for (n = 0; n < t.length; n += 16)
r = c,
a = u,
o = f,
i = s,
c = x(c, u, f, s, t[n], 7, -680876936),
s = x(s, c, u, f, t[n + 1], 12, -389564586),
f = x(f, s, c, u, t[n + 2], 17, 606105819),
u = x(u, f, s, c, t[n + 3], 22, -1044525330),
c = x(c, u, f, s, t[n + 4], 7, -176418897),
s = x(s, c, u, f, t[n + 5], 12, 1200080426),
f = x(f, s, c, u, t[n + 6], 17, -1473231341),
u = x(u, f, s, c, t[n + 7], 22, -45705983),
c = x(c, u, f, s, t[n + 8], 7, 1770035416),
s = x(s, c, u, f, t[n + 9], 12, -1958414417),
f = x(f, s, c, u, t[n + 10], 17, -42063),
u = x(u, f, s, c, t[n + 11], 22, -1990404162),
c = x(c, u, f, s, t[n + 12], 7, 1804603682),
s = x(s, c, u, f, t[n + 13], 12, -40341101),
f = x(f, s, c, u, t[n + 14], 17, -1502002290),
c = _(c, u = x(u, f, s, c, t[n + 15], 22, 1236535329), f, s, t[n + 1], 5, -165796510),
s = _(s, c, u, f, t[n + 6], 9, -1069501632),
f = _(f, s, c, u, t[n + 11], 14, 643717713),
u = _(u, f, s, c, t[n], 20, -373897302),
c = _(c, u, f, s, t[n + 5], 5, -701558691),
s = _(s, c, u, f, t[n + 10], 9, 38016083),
f = _(f, s, c, u, t[n + 15], 14, -660478335),
u = _(u, f, s, c, t[n + 4], 20, -405537848),
c = _(c, u, f, s, t[n + 9], 5, 568446438),
s = _(s, c, u, f, t[n + 14], 9, -1019803690),
f = _(f, s, c, u, t[n + 3], 14, -187363961),
u = _(u, f, s, c, t[n + 8], 20, 1163531501),
c = _(c, u, f, s, t[n + 13], 5, -1444681467),
s = _(s, c, u, f, t[n + 2], 9, -51403784),
f = _(f, s, c, u, t[n + 7], 14, 1735328473),
c = k(c, u = _(u, f, s, c, t[n + 12], 20, -1926607734), f, s, t[n + 5], 4, -378558),
s = k(s, c, u, f, t[n + 8], 11, -2022574463),
f = k(f, s, c, u, t[n + 11], 16, 1839030562),
u = k(u, f, s, c, t[n + 14], 23, -35309556),
c = k(c, u, f, s, t[n + 1], 4, -1530992060),
s = k(s, c, u, f, t[n + 4], 11, 1272893353),
f = k(f, s, c, u, t[n + 7], 16, -155497632),
u = k(u, f, s, c, t[n + 10], 23, -1094730640),
c = k(c, u, f, s, t[n + 13], 4, 681279174),
s = k(s, c, u, f, t[n], 11, -358537222),
f = k(f, s, c, u, t[n + 3], 16, -722521979),
u = k(u, f, s, c, t[n + 6], 23, 76029189),
c = k(c, u, f, s, t[n + 9], 4, -640364487),
s = k(s, c, u, f, t[n + 12], 11, -421815835),
f = k(f, s, c, u, t[n + 15], 16, 530742520),
c = M(c, u = k(u, f, s, c, t[n + 2], 23, -995338651), f, s, t[n], 6, -198630844),
s = M(s, c, u, f, t[n + 7], 10, 1126891415),
f = M(f, s, c, u, t[n + 14], 15, -1416354905),
u = M(u, f, s, c, t[n + 5], 21, -57434055),
c = M(c, u, f, s, t[n + 12], 6, 1700485571),
s = M(s, c, u, f, t[n + 3], 10, -1894986606),
f = M(f, s, c, u, t[n + 10], 15, -1051523),
u = M(u, f, s, c, t[n + 1], 21, -2054922799),
c = M(c, u, f, s, t[n + 8], 6, 1873313359),
s = M(s, c, u, f, t[n + 15], 10, -30611744),
f = M(f, s, c, u, t[n + 6], 15, -1560198380),
u = M(u, f, s, c, t[n + 13], 21, 1309151649),
c = M(c, u, f, s, t[n + 4], 6, -145523070),
s = M(s, c, u, f, t[n + 11], 10, -1120210379),
f = M(f, s, c, u, t[n + 2], 15, 718787259),
u = M(u, f, s, c, t[n + 9], 21, -343485551),
c = R(c, r),
u = R(u, a),
f = R(f, o),
s = R(s, i);
return [c, u, f, s]
}
function N(t) {
var e, n, r = "0123456789abcdef", a = "";
for (n = 0; n < t.length; n += 1)
e = t.charCodeAt(n),
a += r.charAt(e >>> 4 & 15) + r.charAt(15 & e);
return a
}
function genPC1(t) {
for (var e = "", n = "", r = 0; r < t.length; r++) {
var a = t.charCodeAt(r);
a >= 48 && a <= 57 ? e += t[r] : n += a % 10;
}
return e + n
}
function genPC2(r) {
var a = "";
var o = 0;
for (o = 0; o < r.length; o += 2)
a += r[o];
return a
}
return genPC2(genPC1(N(D(e, t))))
}
function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs2, performanceNow, px11280, n) {
// let vid = m['I000I0']
// let sid = m['I0I0II']
......@@ -4951,9 +5189,9 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
"PX12501": md5(vid), // vid md5
"PX12169": 1,
"PX11902": 1,
"PX11560": performanceNow +randomInt(1000, 2500), // performance.now()
"PX11560": performanceNow + randomInt(1000, 2500), // performance.now()
// "PX11332": 1692944411272,
"PX11332": startTs +randomInt(1000, 2500),
"PX11332": startTs + randomInt(1000, 2500),
"PX12248": 3600,
"PX11385": startTs,
"PX12280": px11280,
......@@ -5369,7 +5607,7 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
"PX11484": [],
"PX12501": md5(vid),
"PX11902": 2,
"PX11560": performanceNow +randomInt(1000, 2500), // perf
"PX11560": performanceNow + randomInt(1000, 2500), // perf
"PX12280": px11280,
"PX11496": uuid,
"PX12564": null,
......@@ -5379,7 +5617,11 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
}
})
}
return JSON.stringify(data2);
let strs = JSON.stringify(data2);
return [
encodePayload(strs, uuid, ts),
genPc(strs, `${uuid}:v8.7.2:317`)
]
}
......@@ -5504,7 +5746,7 @@ uuid = '31fafcb0-8844-11ee-8d49-97ed9bc8f96f'
console.log(res)
// startTs PX11385
function genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs2, performanceNow,px11280, n) {
function genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs2, performanceNow, px11280, n) {
let data = [{
"t": "PX12123",
"d": {
......@@ -5672,17 +5914,21 @@ function genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
// "PX11645": url
}
})
return JSON.stringify(data)
let strs = JSON.stringify(data);
return [
encodePayload(strs, uuid, ts),
genPc(strs, `${uuid}:v8.7.2:317`)
]
}
// startTs2 PX11280
// console.log(genPayload2('https://www.flyfrontier.com/',
// sid, vid, ts, num1, num2, str1, uuid
//
// , 1700552863875, 1700464712550
// , 1700552863903, 1700552863903,true
// )
// )
console.log(genPayload2('https://www.flyfrontier.com/',
sid, vid, ts, num1, num2, str1, uuid
, 1700552863875, 1700464712550
, 1700552863903, 1700552863903, true
)
)
// console.log(JSON.stringify(data))
......@@ -5705,7 +5951,7 @@ function genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
// "716c90f0-8512-11ee-8c96-410f8e8f9c35"
// ))
while (true){
console.log(genUuid())
}
// while (true){
// console.log(genUuid())
//
// }
......@@ -9,7 +9,9 @@ headers = {"authority": "booking.flyfrontier.com",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-language": "en-US,en;q=0.9",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36",
"cookie": 'pxcts=979ebd00-8f4f-11ee-987b-b18415b5fd12; _pxvid=979eae87-8f4f-11ee-987b-7b66a112e4fb; _px2=eyJ1IjoiOTM4N2MxNDAtOGY0Zi0xMWVlLWIxNjItYTM5MGRjYjEzNWM2IiwidiI6Ijk3OWVhZTg3LThmNGYtMTFlZS05ODdiLTdiNjZhMTEyZTRmYiIsInQiOjE3MDEzMjg3Mjc2MDQsImgiOiIwNTFhNGEwMDYzN2NlZjRmZTJjY2JhMTZlZjZiMGJlZTkzODU5ZGYzYWYwYjc2YmViMzNkMzk1OTU1ZGMyZGJlIn0='
"cookie": '_gcl_au=1.1.350987795.1701334509; _uetsid=2b04af708f5e11ee8509153ed46992ea; _uetvid=2b04cf908f5e11eea7e5ad9b9c736736; pxcts=2b045ebd-8f5e-11ee-9c50-f7c2e4d7c598; _pxvid=2b044fb6-8f5e-11ee-9c50-c821bdd11c27; _rdt_uuid=1701334511316.a6e6247a-946b-43d0-9f01-cb2d547a3925; _ga=GA1.2.77682822.1701334510; _gid=GA1.2.1162709052.1701334512; _gat_UA-2678252-1=1; _px2=eyJ1IjoiMmEzOGIwMDAtOGY1ZS0xMWVlLWE5MTYtYWY0ZDFhNGNkOTYyIiwidiI6IjJiMDQ0ZmI2LThmNWUtMTFlZS05YzUwLWM4MjFiZGQxMWMyNyIsInQiOjYyMDIzMzg4MDAwNCwiaCI6ImUxZjkxNmUxYWU1ZTMyMGI5MTIxYmRkN2RlZjVkMmQxNDQ2NDAxMDIzYWZmYzc0Y2M5NTY5MjQ4OWZiNTM0YWYifQ==; _fbp=fb.1.1701334512951.1449064547; _tt_enable_cookie=1; _ttp=dcq_pDvX9ZWtsM-s50W5b9OalnX; _pin_unauth=dWlkPU9XTmtaVEJtTjJVdFpXTm1aUzAwTVdNMkxXRmtOMkV0TW1OaFlUZGlNbVl3WkdKaw; wisepops_visits=%5B%222023-11-30T08%3A55%3A08.859Z%22%5D; _up=1.2.845170716.1701334515; wisepops=%7B%22csd%22%3A1%2C%22popups%22%3A%7B%22429858%22%3A%7B%22dc%22%3A1%2C%22d%22%3A1701334518611%7D%7D%2C%22sub%22%3A0%2C%22ucrn%22%3A39%2C%22cid%22%3A%2278471%22%2C%22v%22%3A4%2C%22bandit%22%3A%7B%22recos%22%3A%7B%7D%7D%7D; wisepops_session=%7B%22arrivalOnSite%22%3A%222023-11-30T08%3A55%3A08.859Z%22%2C%22mtime%22%3A1701334518611%2C%22pageviews%22%3A1%2C%22popups%22%3A%7B%22429858%22%3A0%7D%2C%22bars%22%3A%7B%7D%2C%22sticky%22%3A%7B%7D%2C%22countdowns%22%3A%7B%7D%2C%22src%22%3Anull%2C%22utm%22%3A%7B%7D%2C%22testIp%22%3Anull%7D; _ga_P2WLKWBNNW=GS1.1.1701334510.1.0.1701334519.51.0.0'
}
......@@ -45,18 +47,22 @@ url = "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2
prox = 'http://user-uni001-region-us-sessid-1114-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
prox = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
# prox = 'http://user-uni001-region-us-sessid-4909-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
prox = 'http://74.48.159.194:33080'
print(prox)
for i in range(10):
for i in range(20):
# prox = 'http://127.0.0.1:8890'
url = "http://httpbin.org/ip"
response = requests.post('http://52.52.23.116/tls/forward',
# response = requests.post('http://127.0.0.1:58000/tls/forward',
json=dict(url=url, method="GET", proxy=prox, headers=headers, debug=True,
allow_redirects=True
)
)
print(response.json())
print(response.json()['status_code'])
print('FlightData' in response.json()['text'])
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