Commit b9be9926 authored by wang's avatar wang

f9 验票

parent e3e6504a
......@@ -4728,7 +4728,7 @@ export class PxEnv {
this.navigator = this.ENV.navigatorparams;
this.window = this.ENV.windowparams;
this.navigator.useragent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69"
// this.navigator.useragent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69"
// # o1oo11
......
......@@ -28,20 +28,14 @@ async function sleep(ms) {
class PxBypass {
tag = "v8.9.0"
ft = "324"
appId = "PXkp4CLSb5"
ua = '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'
ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Mobile/15E148 Safari/604.1'
pxUrl = `https://collector-${this.appId}.px-cloud.net/api/v2/collector`
tlsUrl = 'http://52.52.23.116/tls/forward'
prox = `http://user-uni001-region-us-sessid-${randint(1000, 5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600`
// prox = `http://uni00001_custom_zone_US_sid_${randint(67336718, 67336728)}_time_5:q39CEBTs5A@us.foxyip.com:7778`
// prox = `http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:${randint(10000, 13500)}`
prox = 'http://127.0.0.1:8890'
tlsUrl = 'http://127.0.0.1:58000/tls/forward'
constructor() {
this.flag = false
this.appId = "PXkp4CLSb5"
this.ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
// ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4 Mobile/15E148 Safari/604.1'
this.pxUrl = `https://collector-${this.appId}.px-cloud.net/api/v2/collector`
this.log = log4js.getLogger('px')
let env = fs.readFileSync('./env.json', 'utf-8')
......@@ -51,14 +45,14 @@ class PxBypass {
// selectId = 'd3e94c1cb84038031357a52f'
this.log.info('select env', selectId)
this.env = env[selectId]
this.ua = this.env.navigatorparams.useragent
// this.ua = this.env.navigatorparams.useragent
this.prox = `http://user-uni001-region-us-sessid-${randint(1000, 5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600`
// prox = `http://uni00001_custom_zone_US_sid_${randint(67336718, 67336728)}_time_5:q39CEBTs5A@us.foxyip.com:7778`
// prox = `http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:${randint(10000, 13500)}`
this.prox = 'http://127.0.0.1:8890'
this.tlsUrl = 'http://52.52.23.116/tls/forward'
this.tlsUrl = 'http://127.0.0.1:58000/tls/forward'
// this.prox = 'http://127.0.0.1:7890'
this.tlsUrl = 'http://52.52.23.116/tls/forward'
// this.tlsUrl = 'http://127.0.0.1:58000/tls/forward'
this.log.info('ua', this.ua)
......@@ -105,18 +99,18 @@ class PxBypass {
let cks = Object.keys(this.cookies).map((v, k) => `${v}=${this.cookies[v]}`).join('; ')
this.log.info('cookie', cks)
let headers = {
"Host": "www.spirit.com",
"upgrade-insecure-requests": "1",
// "user-agent": this.ua,
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
//
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"sec-fetch-site": "none",
"sec-fetch-mode": "navigate",
"sec-fetch-user": "?1",
"sec-fetch-dest": "document",
"accept-language": "en-US,en;q=0.9,en-GB;q=0.8,en-GB-oxendict;q=0.7",
"cookie": cks
"Host": "www.spirit.com",
"upgrade-insecure-requests": "1",
// "user-agent": this.ua,
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
//
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"sec-fetch-site": "none",
"sec-fetch-mode": "navigate",
"sec-fetch-user": "?1",
"sec-fetch-dest": "document",
"accept-language": "en-US,en;q=0.9,en-GB;q=0.8,en-GB-oxendict;q=0.7",
"cookie": cks
}
let res = await axios.post('http://ymx-lcc.unififi.com/header/add', JSON.stringify({
'brush_fromto': 'LAS-BOS',
......@@ -136,7 +130,7 @@ class PxBypass {
for (let i = 0; i < data.length; i++) {
let n = data[i];
n.d['PX11645'] = this.url;
n.d[ "PX11379"] = true;
n.d["PX11379"] = true;
}
console.log(JSON.stringify(data))
......@@ -310,7 +304,13 @@ class PxBypass {
if (tmp.includes('_px2')) {
this.cookies['_px2'] = tmp[3]
this.log.debug(`px2_decode ${atob(this.cookies['_px2'])}`)
}
if (tmp[1] === 'score') {
if (tmp[2] === '0') {
this.flag = true
} else {
this.flag = false;
}
}
}
......@@ -390,25 +390,45 @@ class PxBypass {
let cks = Object.keys(this.cookies).map((v, k) => `${v}=${this.cookies[v]}`).join('; ')
this.log.info('cookie', cks)
let akmRes = await axios({
// url: 'http://127.0.0.1:59001/akamai/gen',
url: 'http://lcc.unififi.com/akamai/gen',
headers: {
'Content-Type': 'application/json'
},
method: "POST",
data: JSON.stringify({"type": "NK", "proxy": this.prox})
})
let akmData = akmRes.data;
Object.assign(this.cookies, akmData.cookies)
let cks2 = Object.keys(this.cookies).map((v, k) => `${v}=${this.cookies[v]}`).join('; ')
let res = await axios.post(this.tlsUrl, JSON.stringify({
url: 'https://www.spirit.com/Booking/Retrieve?&ln=Gomez%20Carrillo&rl=AENQ7Q',
url: "https://www.spirit.com/api/prod-token/api/v1/token",
headers: {
"Host": "www.spirit.com",
"upgrade-insecure-requests": "1",
// "user-agent": this.ua,
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
//
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"sec-fetch-site": "none",
"sec-fetch-mode": "navigate",
"sec-fetch-user": "?1",
"sec-fetch-dest": "document",
"accept-language": "en-US,en;q=0.9,en-GB;q=0.8,en-GB-oxendict;q=0.7",
"cookie": cks
"authority": "www.spirit.com",
"accept": "application/json, text/plain, */*",
"accept-language": "en",
"cache-control": "no-cache",
"content-type": "application/json",
"ocp-apim-subscription-key": "dc6844776fe84b1c8b68affe7deb7916",
"origin": "https://www.spirit.com",
"pragma": "no-cache",
"referer": "https://www.spirit.com/",
"sec-ch-ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"x-dtpc": "3$490824527_858h12vIBCAEKRFHOANVWCBCKEKUTPBORFFKHEC-0e0",
'cookie': cks2,
},
allow_redirects: true,
debug: true,
method: "GET",
method: "POST",
data: "{\"applicationName\":\"dotRezWeb\"}",
proxy: this.prox,
random_tls: true,
......@@ -452,30 +472,26 @@ async function run() {
// # continue
if (data.status === 0) {
for (let i = 0; i < 10; i++) {
try {
let px = new PxBypass()
let px = new PxBypass()
try {
await px.step1()
if (px.flag) {
await px.test()
break
}
// await px.test()
// await px.step2()
// await sleep(1500)
await px.step3()
if (px.check()) {
continue
}
await sleep(1000)
await sleep(1000)
await px.step4()
if (px.check()) {
continue
if (px.flag) {
await px.test()
// break
}
// await sleep(1500)
await px.test()
// await px.add_headers()
await sleep(1000)
} catch (e) {
......@@ -484,6 +500,7 @@ async function run() {
await sleep(1000)
}
}
}
......
This diff is collapsed.
......@@ -58,8 +58,7 @@ a2 = "UisrUitSHhEBDRAHHlIeAAsMAxAbHBwcHCsrKysrUh49EhpQHlFRUh4HGyhTKwgNCywYNxo4Ji
a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLBg3GjgmLxUvJTcWLCY7UiwbUhovNTQOLjUnFSw1MxYsNjtSODY3GiwmO1AtNjNWKwsVCwYLK1QrCAVWLBgoCy82DgsuNjNQLCYBFi82JA44MVJWLSU7Vi42Ixo4JgFSLDUwCywYJ1YvMSsRKwwzCy0IJ1AtNi8bLTYFUCwIO1AtJiMRKw8FCy0LKAs4JjALOzYjVy8IOxU7NjQPLCYzUTglOxg7UDtXLCYoDzgIMxg4NiNTLBgBUDs2N1AsNSsaLFAsCS01JA4sCCNQOwgFViwYBVIsJigOLA8vGjsYN1crDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBxSKysrK1JSUh49EhoGBx5RUVIeA1NQVgBaAFdXV1pXAFFWV1RRA1pTV1VQWwAAAFFWVAMDA1IHU1EHU1ZVBlQHU1oGWgBXA1VWAwZWBFFVBgZTAVgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgUYLAg7UC0mIFseFhAXBx5RUlIcHBwcUisrUitSHhEBDRAHHlIeAAsMAxAb"
a2 = "X18BX19fEg1YWlgKWFtZXwpYWlgIVlcMWAxfXw0PD1wPXl0NXAsPC1dZWlsKWQgNWQoNW14KDFYKWl4LXl8NWw1XCFhZCwwQEBAQAV9fAV8BXwESXV9YWxAQEBABXwFfX18SDRsQEBAQX19fAV8BEl9cXVlYVl1eV1daW1tZW1dZV1pcEBAQEAFfAQFfXxJfElkKCA1eVwhdXFsKDF0LDwheDQhfXVcIWwtaVlpYXQoLXF5dW19bXlsNXVgICF4KV1gIW15cDFxaWF9YXl4SWlhfD11fDAhaVgpeWlkMDwsMV19aW1sPWAwNW1wNW10PCFdfWghdWFtcDVpaDwpZDV4LCA1WXV5aWwtZC15aCBJfXBIIDwIdCxAQEBABX18BX18SCl8NWlZWXFdDDwtXD0NfXwsLQwwKWgpDXApcD1wPWFgMXV5aEBAQEF9fXwEBXxIIHhJYXhJfEBAQEF8BXwEBXxINDQ1UXhAQEBBfX18BAV8SDQ0SWF4SO1woGjQ4IB4KKTtXOikoWiEZU1MQEBAQAV8BAV8BEg0MW1leXggLQw8LVw9DX18LC0MMXl5aQ1daDwtYDV0LClxZVhJdX1tdWF5eXhIaHBsLEBAQEF9fAQFfARJfEgpfDVYKXAteQw8LVw9DX18LC0MMCF4KQ1lbV19ZDAhYCA1XChJcW1pfElpeXQpWD1kPX1ZXCAxfVwtdXVZXWVpeDw1aVgsLDwxdWVsNVlpeXF9fX1sLVw0IDw9fWAhaVgsICgpWXQ0PDVdfX1oNCwoIXFtZCApeCF9eW19ZXFlbWl8MDwtXW19aXAhdVlZZWlZeW1ZcXVhbCA9cCA1bWlsKClkLWlYLCl1WMVVXXFQSXhIgLxAQEBBfAQEBAV8SDQMLDA1bCQwHWQtXCQ0IXF8ECl4QEBAQAV9fAQFfXwESCl8NWlYMXF9DDwtXD0NfXwsLQwwKWgpDXApcD1wPWFgMXV5aEhocGwsQEBAQX19fAQFfEhwIElheEl8QEBAQAV9fAV8BX18SX1leWllYV15aWFxWWw=="
a2 = "FRVLS0tLBk9OQ0sbGUNIVxkfHBhXS0sfH1dCTRgbVx5LHB5LGx5PGBkfTQQEBAQVFRUVS0sGGQ8EBAQESxVLS0sVBk9PQkJJTkpDQk9CS0hPQ0JJSUlPBAQEBBVLS0sVFUtLBktNSkJJSEJDSU5MS0MEBAQES0sVSxVLBhkUQx0cChISEQkJTUgVCBgbTkwdBAQEBBVLS0sVFUsVBk9JQ0IEBAQEFUtLFUtLSxUGT05DSEgcGEhXGR8cGFdLSx8fV0JNGBtXHkscHksbHk8YGR9NBg4IDx8EBAQESxUVFUtLBkhOH0xDS0NJG0lLG0IbS0seTB9MThkYSEkcG0pNQ05PThgeTU9PGB5MS0JLGRlPH05KQh4YHB9MSE5NT0tJSk8EBAQESxVLSxVLBhkZBkxKBi9IPA4gLDQKHj0vQy49PE41DUdH"
a2 = "FRUVFUtLBhkPBAQEBBVLS0sVSxUVBiUKAh4fBklJSgYeGR4YSENPHh5NThtJGUIYTRgZGE0ZHE4fH0MZG0xNGRlLSk1PHB5LSx5CGUIbHBhMSEMeHE1MG0sZQkpDTk5KQB8DMEobLUsWGUkoEhgiOxM1ED9JNy4zTjUuM0k1PjNKNT40QwYOCA8fBklKSg=="
b2 = base64.b64decode(a2.encode())
for i in bytes(encrypt(b2, 890 % 128)).decode().split('~~~~'):
......
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