Commit b9be9926 authored by wang's avatar wang

f9 验票

parent e3e6504a
...@@ -4728,7 +4728,7 @@ export class PxEnv { ...@@ -4728,7 +4728,7 @@ export class PxEnv {
this.navigator = this.ENV.navigatorparams; this.navigator = this.ENV.navigatorparams;
this.window = this.ENV.windowparams; 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 // # o1oo11
......
...@@ -28,20 +28,14 @@ async function sleep(ms) { ...@@ -28,20 +28,14 @@ async function sleep(ms) {
class PxBypass { class PxBypass {
tag = "v8.9.0" tag = "v8.9.0"
ft = "324" 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() { 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') this.log = log4js.getLogger('px')
let env = fs.readFileSync('./env.json', 'utf-8') let env = fs.readFileSync('./env.json', 'utf-8')
...@@ -51,14 +45,14 @@ class PxBypass { ...@@ -51,14 +45,14 @@ class PxBypass {
// selectId = 'd3e94c1cb84038031357a52f' // selectId = 'd3e94c1cb84038031357a52f'
this.log.info('select env', selectId) this.log.info('select env', selectId)
this.env = 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` 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://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://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:${randint(10000, 13500)}`
this.prox = 'http://127.0.0.1:8890' // this.prox = 'http://127.0.0.1:7890'
this.tlsUrl = 'http://52.52.23.116/tls/forward' this.tlsUrl = 'http://52.52.23.116/tls/forward'
this.tlsUrl = 'http://127.0.0.1:58000/tls/forward' // this.tlsUrl = 'http://127.0.0.1:58000/tls/forward'
this.log.info('ua', this.ua) this.log.info('ua', this.ua)
...@@ -105,18 +99,18 @@ class PxBypass { ...@@ -105,18 +99,18 @@ class PxBypass {
let cks = Object.keys(this.cookies).map((v, k) => `${v}=${this.cookies[v]}`).join('; ') let cks = Object.keys(this.cookies).map((v, k) => `${v}=${this.cookies[v]}`).join('; ')
this.log.info('cookie', cks) this.log.info('cookie', cks)
let headers = { let headers = {
"Host": "www.spirit.com", "Host": "www.spirit.com",
"upgrade-insecure-requests": "1", "upgrade-insecure-requests": "1",
// "user-agent": this.ua, // "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", "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", "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-site": "none",
"sec-fetch-mode": "navigate", "sec-fetch-mode": "navigate",
"sec-fetch-user": "?1", "sec-fetch-user": "?1",
"sec-fetch-dest": "document", "sec-fetch-dest": "document",
"accept-language": "en-US,en;q=0.9,en-GB;q=0.8,en-GB-oxendict;q=0.7", "accept-language": "en-US,en;q=0.9,en-GB;q=0.8,en-GB-oxendict;q=0.7",
"cookie": cks "cookie": cks
} }
let res = await axios.post('http://ymx-lcc.unififi.com/header/add', JSON.stringify({ let res = await axios.post('http://ymx-lcc.unififi.com/header/add', JSON.stringify({
'brush_fromto': 'LAS-BOS', 'brush_fromto': 'LAS-BOS',
...@@ -136,7 +130,7 @@ class PxBypass { ...@@ -136,7 +130,7 @@ class PxBypass {
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
let n = data[i]; let n = data[i];
n.d['PX11645'] = this.url; n.d['PX11645'] = this.url;
n.d[ "PX11379"] = true; n.d["PX11379"] = true;
} }
console.log(JSON.stringify(data)) console.log(JSON.stringify(data))
...@@ -310,7 +304,13 @@ class PxBypass { ...@@ -310,7 +304,13 @@ class PxBypass {
if (tmp.includes('_px2')) { if (tmp.includes('_px2')) {
this.cookies['_px2'] = tmp[3] this.cookies['_px2'] = tmp[3]
this.log.debug(`px2_decode ${atob(this.cookies['_px2'])}`) 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 { ...@@ -390,25 +390,45 @@ class PxBypass {
let cks = Object.keys(this.cookies).map((v, k) => `${v}=${this.cookies[v]}`).join('; ') let cks = Object.keys(this.cookies).map((v, k) => `${v}=${this.cookies[v]}`).join('; ')
this.log.info('cookie', cks) 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({ 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: { headers: {
"Host": "www.spirit.com", "authority": "www.spirit.com",
"upgrade-insecure-requests": "1", "accept": "application/json, text/plain, */*",
// "user-agent": this.ua, "accept-language": "en",
"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", "cache-control": "no-cache",
// "content-type": "application/json",
"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", "ocp-apim-subscription-key": "dc6844776fe84b1c8b68affe7deb7916",
"sec-fetch-site": "none", "origin": "https://www.spirit.com",
"sec-fetch-mode": "navigate", "pragma": "no-cache",
"sec-fetch-user": "?1", "referer": "https://www.spirit.com/",
"sec-fetch-dest": "document", "sec-ch-ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
"accept-language": "en-US,en;q=0.9,en-GB;q=0.8,en-GB-oxendict;q=0.7", "sec-ch-ua-mobile": "?0",
"cookie": cks "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, allow_redirects: true,
debug: true, debug: true,
method: "GET", method: "POST",
data: "{\"applicationName\":\"dotRezWeb\"}",
proxy: this.prox, proxy: this.prox,
random_tls: true, random_tls: true,
...@@ -452,30 +472,26 @@ async function run() { ...@@ -452,30 +472,26 @@ async function run() {
// # continue // # continue
if (data.status === 0) { if (data.status === 0) {
for (let i = 0; i < 10; i++) { for (let i = 0; i < 10; i++) {
try { let px = new PxBypass()
let px = new PxBypass()
try {
await px.step1() await px.step1()
if (px.flag) {
await px.test()
break
}
// await px.test() // await px.test()
// await px.step2() // await px.step2()
// await sleep(1500) // await sleep(1500)
await px.step3() await px.step3()
if (px.check()) {
continue
}
await sleep(1000)
await sleep(1000)
await px.step4() await px.step4()
if (px.check()) { if (px.flag) {
continue await px.test()
// break
} }
// await sleep(1500) // await sleep(1500)
await px.test()
// await px.add_headers() // await px.add_headers()
await sleep(1000) await sleep(1000)
} catch (e) { } catch (e) {
...@@ -484,6 +500,7 @@ async function run() { ...@@ -484,6 +500,7 @@ async function run() {
await sleep(1000) await sleep(1000)
} }
} }
} }
......
This diff is collapsed.
...@@ -58,8 +58,7 @@ a2 = "UisrUitSHhEBDRAHHlIeAAsMAxAbHBwcHCsrKysrUh49EhpQHlFRUh4HGyhTKwgNCywYNxo4Ji ...@@ -58,8 +58,7 @@ a2 = "UisrUitSHhEBDRAHHlIeAAsMAxAbHBwcHCsrKysrUh49EhpQHlFRUh4HGyhTKwgNCywYNxo4Ji
a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLBg3GjgmLxUvJTcWLCY7UiwbUhovNTQOLjUnFSw1MxYsNjtSODY3GiwmO1AtNjNWKwsVCwYLK1QrCAVWLBgoCy82DgsuNjNQLCYBFi82JA44MVJWLSU7Vi42Ixo4JgFSLDUwCywYJ1YvMSsRKwwzCy0IJ1AtNi8bLTYFUCwIO1AtJiMRKw8FCy0LKAs4JjALOzYjVy8IOxU7NjQPLCYzUTglOxg7UDtXLCYoDzgIMxg4NiNTLBgBUDs2N1AsNSsaLFAsCS01JA4sCCNQOwgFViwYBVIsJigOLA8vGjsYN1crDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBxSKysrK1JSUh49EhoGBx5RUVIeA1NQVgBaAFdXV1pXAFFWV1RRA1pTV1VQWwAAAFFWVAMDA1IHU1EHU1ZVBlQHU1oGWgBXA1VWAwZWBFFVBgZTAVgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgUYLAg7UC0mIFseFhAXBx5RUlIcHBwcUisrUitSHhEBDRAHHlIeAAsMAxAb" a2 = "KysrKytSHj0SGlAeUVFSHgcbKFMrCA0LLBg3GjgmLxUvJTcWLCY7UiwbUhovNTQOLjUnFSw1MxYsNjtSODY3GiwmO1AtNjNWKwsVCwYLK1QrCAVWLBgoCy82DgsuNjNQLCYBFi82JA44MVJWLSU7Vi42Ixo4JgFSLDUwCywYJ1YvMSsRKwwzCy0IJ1AtNi8bLTYFUCwIO1AtJiMRKw8FCy0LKAs4JjALOzYjVy8IOxU7NjQPLCYzUTglOxg7UDtXLCYoDzgIMxg4NiNTLBgBUDs2N1AsNSsaLFAsCS01JA4sCCNQOwgFViwYBVIsJigOLA8vGjsYN1crDFJfHhYQFwceUVJSHBwcHFJSK1IrUh4BFxwcHBxSKysrK1JSUh49EhoGBx5RUVIeA1NQVgBaAFdXV1pXAFFWV1RRA1pTV1VQWwAAAFFWVAMDA1IHU1EHU1ZVBlQHU1oGWgBXA1VWAwZWBFFVBgZTAVgHGyhSAzVTDgFRMAoAOiMLLQgnUC02LxstNgUYLAg7UC0mIFseFhAXBx5RUlIcHBwcUisrUitSHhEBDRAHHlIeAAsMAxAb"
a2 = "X18BX19fEg1YWlgKWFtZXwpYWlgIVlcMWAxfXw0PD1wPXl0NXAsPC1dZWlsKWQgNWQoNW14KDFYKWl4LXl8NWw1XCFhZCwwQEBAQAV9fAV8BXwESXV9YWxAQEBABXwFfX18SDRsQEBAQX19fAV8BEl9cXVlYVl1eV1daW1tZW1dZV1pcEBAQEAFfAQFfXxJfElkKCA1eVwhdXFsKDF0LDwheDQhfXVcIWwtaVlpYXQoLXF5dW19bXlsNXVgICF4KV1gIW15cDFxaWF9YXl4SWlhfD11fDAhaVgpeWlkMDwsMV19aW1sPWAwNW1wNW10PCFdfWghdWFtcDVpaDwpZDV4LCA1WXV5aWwtZC15aCBJfXBIIDwIdCxAQEBABX18BX18SCl8NWlZWXFdDDwtXD0NfXwsLQwwKWgpDXApcD1wPWFgMXV5aEBAQEF9fXwEBXxIIHhJYXhJfEBAQEF8BXwEBXxINDQ1UXhAQEBBfX18BAV8SDQ0SWF4SO1woGjQ4IB4KKTtXOikoWiEZU1MQEBAQAV8BAV8BEg0MW1leXggLQw8LVw9DX18LC0MMXl5aQ1daDwtYDV0LClxZVhJdX1tdWF5eXhIaHBsLEBAQEF9fAQFfARJfEgpfDVYKXAteQw8LVw9DX18LC0MMCF4KQ1lbV19ZDAhYCA1XChJcW1pfElpeXQpWD1kPX1ZXCAxfVwtdXVZXWVpeDw1aVgsLDwxdWVsNVlpeXF9fX1sLVw0IDw9fWAhaVgsICgpWXQ0PDVdfX1oNCwoIXFtZCApeCF9eW19ZXFlbWl8MDwtXW19aXAhdVlZZWlZeW1ZcXVhbCA9cCA1bWlsKClkLWlYLCl1WMVVXXFQSXhIgLxAQEBBfAQEBAV8SDQMLDA1bCQwHWQtXCQ0IXF8ECl4QEBAQAV9fAQFfXwESCl8NWlYMXF9DDwtXD0NfXwsLQwwKWgpDXApcD1wPWFgMXV5aEhocGwsQEBAQX19fAQFfEhwIElheEl8QEBAQAV9fAV8BX18SX1leWllYV15aWFxWWw==" a2 = "X18BX19fEg1YWlgKWFtZXwpYWlgIVlcMWAxfXw0PD1wPXl0NXAsPC1dZWlsKWQgNWQoNW14KDFYKWl4LXl8NWw1XCFhZCwwQEBAQAV9fAV8BXwESXV9YWxAQEBABXwFfX18SDRsQEBAQX19fAV8BEl9cXVlYVl1eV1daW1tZW1dZV1pcEBAQEAFfAQFfXxJfElkKCA1eVwhdXFsKDF0LDwheDQhfXVcIWwtaVlpYXQoLXF5dW19bXlsNXVgICF4KV1gIW15cDFxaWF9YXl4SWlhfD11fDAhaVgpeWlkMDwsMV19aW1sPWAwNW1wNW10PCFdfWghdWFtcDVpaDwpZDV4LCA1WXV5aWwtZC15aCBJfXBIIDwIdCxAQEBABX18BX18SCl8NWlZWXFdDDwtXD0NfXwsLQwwKWgpDXApcD1wPWFgMXV5aEBAQEF9fXwEBXxIIHhJYXhJfEBAQEF8BXwEBXxINDQ1UXhAQEBBfX18BAV8SDQ0SWF4SO1woGjQ4IB4KKTtXOikoWiEZU1MQEBAQAV8BAV8BEg0MW1leXggLQw8LVw9DX18LC0MMXl5aQ1daDwtYDV0LClxZVhJdX1tdWF5eXhIaHBsLEBAQEF9fAQFfARJfEgpfDVYKXAteQw8LVw9DX18LC0MMCF4KQ1lbV19ZDAhYCA1XChJcW1pfElpeXQpWD1kPX1ZXCAxfVwtdXVZXWVpeDw1aVgsLDwxdWVsNVlpeXF9fX1sLVw0IDw9fWAhaVgsICgpWXQ0PDVdfX1oNCwoIXFtZCApeCF9eW19ZXFlbWl8MDwtXW19aXAhdVlZZWlZeW1ZcXVhbCA9cCA1bWlsKClkLWlYLCl1WMVVXXFQSXhIgLxAQEBBfAQEBAV8SDQMLDA1bCQwHWQtXCQ0IXF8ECl4QEBAQAV9fAQFfXwESCl8NWlYMXF9DDwtXD0NfXwsLQwwKWgpDXApcD1wPWFgMXV5aEhocGwsQEBAQX19fAQFfEhwIElheEl8QEBAQAV9fAV8BX18SX1leWllYV15aWFxWWw=="
a2 = "FRVLS0tLBk9OQ0sbGUNIVxkfHBhXS0sfH1dCTRgbVx5LHB5LGx5PGBkfTQQEBAQVFRUVS0sGGQ8EBAQESxVLS0sVBk9PQkJJTkpDQk9CS0hPQ0JJSUlPBAQEBBVLS0sVFUtLBktNSkJJSEJDSU5MS0MEBAQES0sVSxVLBhkUQx0cChISEQkJTUgVCBgbTkwdBAQEBBVLS0sVFUsVBk9JQ0IEBAQEFUtLFUtLSxUGT05DSEgcGEhXGR8cGFdLSx8fV0JNGBtXHkscHksbHk8YGR9NBg4IDx8EBAQESxUVFUtLBkhOH0xDS0NJG0lLG0IbS0seTB9MThkYSEkcG0pNQ05PThgeTU9PGB5MS0JLGRlPH05KQh4YHB9MSE5NT0tJSk8EBAQESxVLSxVLBhkZBkxKBi9IPA4gLDQKHj0vQy49PE41DUdH" a2 = "FRUVFUtLBhkPBAQEBBVLS0sVSxUVBiUKAh4fBklJSgYeGR4YSENPHh5NThtJGUIYTRgZGE0ZHE4fH0MZG0xNGRlLSk1PHB5LSx5CGUIbHBhMSEMeHE1MG0sZQkpDTk5KQB8DMEobLUsWGUkoEhgiOxM1ED9JNy4zTjUuM0k1PjNKNT40QwYOCA8fBklKSg=="
b2 = base64.b64decode(a2.encode()) b2 = base64.b64decode(a2.encode())
for i in bytes(encrypt(b2, 890 % 128)).decode().split('~~~~'): 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