Commit e77b7743 authored by wangmingming's avatar wangmingming

111

parent 08e95a81
...@@ -63,4 +63,16 @@ let { code } = generator(ast, { ...@@ -63,4 +63,16 @@ let { code } = generator(ast, {
// } // }
}); });
fs.writeFile(decode_file, code, (err) => {}); fs.writeFile(decode_file, code, (err) => {});
\ No newline at end of file
print(Object.keys(Object.getOwnPropertyDescriptors(location)))
let locationDescs = Object.getOwnPropertyDescriptors(location)
let locationKeys = Object.keys(locationDescs);
locationKeys.sort(sortRandom)
let locationReDefine = {};
locationKeys.forEach(key=>{
locationReDefine[key] = locationDescs[key]
})
Object.defineProperties(location,locationReDefine)
print(Object.keys(Object.getOwnPropertyDescriptors(location)))
\ No newline at end of file
...@@ -14,7 +14,112 @@ from pymongo import MongoClient ...@@ -14,7 +14,112 @@ from pymongo import MongoClient
from loguru import logger from loguru import logger
def get_random_location():
t1 = '''var _hostname, _origin,_host,_protocol,_port,_pathname,_search,_hash;
Object.defineProperties(location, {'''
t2 = [
''' href: {
value: 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true',
enumerable: true
},
''',
'''ancestorOrigins: {
get: v_saf(function ancestorOrigins() {
return new DOMStringList()
}),
enumerable: true,
configurable: false
},''',
''' hostname: {set: function(arg){_hostname = arg}, get:function(){return _hostname}, enumerable:true},''',
'''reload: {
value: v_saf(function reload() {
}),
enumerable: true,
},''',
'''protocol: {set: function(arg){_protocol = arg}, get:function(){return _protocol}, enumerable:true},''',
'''host: {set: function(arg){_hostname = arg}, get:function(){return _hostname}, enumerable:true},''',
''' port: {set: function(arg){_port = arg}, get:function(){return _port}, enumerable:true},''',
''' hash: {set: function(arg){_hash = arg}, get:function(){return _hash}, enumerable:true},''',
''' pathname: {set: function(arg){_pathname = arg}, get:function(){return _pathname}, enumerable:true},''',
'''origin: {set: function(arg){_origin = arg}, get:function(){return _origin}, enumerable:true},''',
'''search: {set: function(arg){_pathname = arg}, get:function(){return _pathname}, enumerable:true},''',
'''assign: {
value: v_saf(function assign() {
}),
enumerable: true,
},''',
'''toString: {
value: v_saf(function toString() {
return ''
}),
enumerable: true,
},''',
'''replace: {
value: v_saf(function replace() {
}),
enumerable: true,
},'''
]
random.shuffle(t2)
# print(t2)
r = '''location.href = 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true'
function set_href(v, href){
href = href.trim()
v_console_log(` href[set]:`, JSON.stringify(href))
if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
} else if (href.startsWith("//")) {
href = (v.protocol ? v.protocol : 'http:') + href
} else {
href = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
}
var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
v.protocol = a[1] ? a[1] : "";
v.host = a[2] ? a[2] : "";
v.port = a[3] ? a[3] : "";
v.pathname = a[4] ? a[4] : "";
v.search = a[5] ? a[5] : "";
v.hash = a[6] ? a[6] : "";
v.hostname = v.host;
v.origin = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "");
}
// 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
set_href(location, 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true')
window.location = location
// window.location = new Proxy(location, {
// get(target, p, receiver) {
// console.log('locaiton get', p)
// return Reflect.get(target, p, receiver)
// },
// has(target, p) {
// let res = Reflect.has(target, p);
// console.log('locaiton has', p, res)
// return res;
// },
// getOwnPropertyDescriptor(target, p) {
// let res = Reflect.getOwnPropertyDescriptor(target, p);
//
// console.log('locaiton getOwnPropertyDescriptor', p, res)
// return res;
// }
// })
origin = location.origin
'''
return t1 + '\n' + '\n'.join(t2) + '})\n' + r
def md5(text): def md5(text):
m = hashlib.md5() m = hashlib.md5()
...@@ -59,7 +164,8 @@ headers = { ...@@ -59,7 +164,8 @@ headers = {
# 'safari_ios_15_6' # 'safari_ios_15_6'
# ] # ]
success = 0
total = 0
while True: while True:
# r = requests.get('http://ymx-lcc.unififi.com/header/task/pull/headerB6?brush_name=test') # r = requests.get('http://ymx-lcc.unififi.com/header/task/pull/headerB6?brush_name=test')
# if r.json()['status'] != 0: # if r.json()['status'] != 0:
...@@ -67,36 +173,48 @@ while True: ...@@ -67,36 +173,48 @@ while True:
# time.sleep(10) # time.sleep(10)
# continue # continue
logger.debug('开始刷值') logger.debug('开始刷值')
selectId = random.choice(list(envs))
lastHash = '' lastHash = ''
usedTime = 10 usedTime = 10
success = 0
total = 0
code = open('src.js', 'r', encoding='utf-8').read() code = open('src.js', 'r', encoding='utf-8').read()
code1 = open('js_dom_run.js', 'r', encoding='utf-8').read() code1 = open('js_dom_run.js', 'r', encoding='utf-8').read()
for i in range(30): for i in range(30):
try: try:
# selectId = '55a8fe24a752595e774341d6' # selectId = '55a8fe24a752595e774341d6'
selectId = random.choice(list(envs))
proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{int(random.randint(10000, 11149))}' proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{int(random.randint(10000, 11149))}'
# proxy = f'http://ynfflcc2023.hotmail.com:gdcfh9@69.30.227.194:{random.randint(20001, 20250)}' # proxy = f'http://ynfflcc2023.hotmail.com:gdcfh9@69.30.227.194:{random.randint(20001, 20250)}'
# proxy = f'http://user-uni003-region-us-sessid-{random.randint(1000,5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600' # proxy = f'http://user-uni003-region-us-sessid-{random.randint(1000,5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
# proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@198.147.25.26:{int(random.randint(10000, 11149))}' # proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@198.147.25.26:{int(random.randint(10000, 11149))}'
proxy = 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600' proxy = 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{int(random.randint(10000, 11149))}'
# proxy = random.choice(['http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:9000', proxy])
# proxy = requests.post('http://ymx-lcc.unififi.com/proxy/get-proxy', json={'name':"B6", 'type':'shopping'}).json()['url']
# proxy = f'http://ynfflcc2023.hotmail.com:gdcfh9@69.30.227.194:{random.randint(20001, 20250)}'
proxy1 = f'http://user-uni003-region-us-sessid-${random.randint(1000,5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
proxy2 = f'http://uni00001_custom_zone_US_sid_{random.randint(67336718, 67336918)}_time_5:q39CEBTs5A@us.foxyip.com:7778'
# proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@198.147.25.26:{int(random.randint(10000, 11149))}'
# proxy = 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
proxy = random.choice([proxy, proxy1])
tlsV = f'chrome_{random.randint(105, 113)}' tlsV = f'chrome_{random.randint(105, 113)}'
tlsV = 'chrome_112' tlsV = 'chrome_112'
session = tls_client.Session(tlsV) session = tls_client.Session(tlsV)
session.proxies = {
'http': proxy,
'https': proxy,
}
# if platform.uname().system == 'Darwin': # if platform.uname().system == 'Darwin':
# # proxy = 'http://127.0.0.1:7890'
# session.proxies = { # session.proxies = {
# 'http': 'http://127.0.0.1:7890', # 'http': 'http://127.0.0.1:7890',
# 'https': 'http://127.0.0.1:7890', # 'https': 'http://127.0.0.1:7890',
# } # }
# selectId = 'a74b38e7115cf4d1b1f6976c' # selectId = 'a74b38e7115cf4d1b1f6976c'
c = session.get('https://www.southwest.com/assets/app/scripts/swa-common.js', insecure_skip_verify=True).text
m5 = md5(c) if usedTime > 10:
if m5 != lastHash and usedTime > 5: c = session.get('https://www.southwest.com/assets/app/scripts/swa-common.js',
lastHash = m5 insecure_skip_verify=True).text
usedTime = 0 usedTime = 0
logger.debug('js变化') logger.debug('js变化')
token = re.findall('nt"\),\["(.+?)",', c)[0] token = re.findall('nt"\),\["(.+?)",', c)[0]
...@@ -107,9 +225,9 @@ while True: ...@@ -107,9 +225,9 @@ while True:
code = open('src.js', 'r', encoding='utf-8').read() code = open('src.js', 'r', encoding='utf-8').read()
code1 = open('js_dom_run.js', 'r', encoding='utf-8').read() code1 = open('js_dom_run.js', 'r', encoding='utf-8').read()
with open('src_run1.js', 'w', encoding='utf-8') as f: with open('src_run1.js', 'w', encoding='utf-8') as f:
f.write(code + '\n\n' + c) f.write(code + '\n\n' +get_random_location() +';;'+ c)
with open('js_dom_run1.js', 'w', encoding='utf-8') as f: # with open('js_dom_run1.js', 'w', encoding='utf-8') as f:
f.write(code1 + '\n\n' + c) # f.write(code1 + '\n\n' +get_random_location() +';;'+ + c)
t1 = time.time() t1 = time.time()
# token = list(db.token_shape.aggregate( [ { '$sample': { 'size': 1 } } ] ))[0]['_id'] # token = list(db.token_shape.aggregate( [ { '$sample': { 'size': 1 } } ] ))[0]['_id']
# r = requests.get('http://127.0.0.1:5000/getinfo').json()['message'] # r = requests.get('http://127.0.0.1:5000/getinfo').json()['message']
...@@ -169,7 +287,7 @@ while True: ...@@ -169,7 +287,7 @@ while True:
# )) # ))
# status_code = response.json()['status_code'] # status_code = response.json()['status_code']
logger.info(f'tls:{tlsV} proxy:{proxy} res:: {status_code}') logger.info(f'tls:{tlsV} proxy:{proxy} res:: {status_code}')
# total += 1 total += 1
print(response.text) print(response.text)
if status_code != 403: if status_code != 403:
# res = db.env_shape.update_one( # res = db.env_shape.update_one(
...@@ -199,4 +317,3 @@ while True: ...@@ -199,4 +317,3 @@ while True:
# time.sleep(3) # time.sleep(3)
except Exception as e: except Exception as e:
print(e) print(e)
time.sleep(10)
This source diff could not be displayed because it is too large. You can view the blob instead.
import time import random
import requests t1 = '''var _hostname, _origin,_host,_protocol,_port,_pathname,_search,_hash;
import tls_client Object.defineProperties(location, {'''
session = tls_client.Session(client_identifier='chrome_112') t2 = [''' href: {
session.proxies = { value: 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true',
'http': 'http://127.0.0.1:7890', enumerable: true
'https': 'http://127.0.0.1:7890',
}
headers = {'Host': 'jbrest.jetblue.com', 'application-channel': 'Desktop_Web', 'user-agent': 'Mozilla/5.0 (Linux; Android 12; ALT-AL00 Build/HUAWEIALT-AL00E; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/111.0.5563.116 Safari/537.36 XWEB/5261 MMWEBSDK/20230805 MMWEBID/4003 MicroMessenger/8.0.41.2441(0x28002950) WeChat/arm64 Weixin NetType/4G Language/zh_CN ABI/arm64', 'booking-application-type': 'NGB', 'content-type': 'application/json', 'accept': 'application/json', 'origin': 'https://www.jetblue.com', 'accept-language': 'en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7', 'x-1itxwo9i-f': 'Az_1jLGKAQAAvxyTckjOtV8hTyZzopeKYGUb24QE5szmZof_6pxQqMOlSgKtAXL3RNj6K21wfMBeCOfvosJeCA==', 'x-1itxwo9i-b': '-jkdghv', 'x-1itxwo9i-c': 'AGCojLGKAQAAYXPhNBfS4rn0WffjJRilxLGdUD_8EL-AiNNLMa0eZBVPSp2a', 'x-1itxwo9i-d': 'ABaAhIDBCKGFgQGAAYIQgISigaIAwBGAzvpCzi_33wetHmQVT0qdmgAAAAByzJzLADCu23LRJERp75aPdp8QpRI', 'x-1itxwo9i-z': 'q', 'x-1itxwo9i-a': 'eRemfzhUTooTEG0-0dj9K3gJ15nI8newB_BZKmcFkhIrL918pgZ1aySUNHmlG-FwH2-ow_=_WU-Ado=bmoBVfvK1QhUznxAm7TnaHqwGUVfZvIK-=xtdK4sW8_zKva02webFdpzv910mx0OA-89IkMEtFxMG_-AzG7YKShpBkTh0ACOoxSVqUTl4EyiCirckutggBORS8cTXJOIZRuwwI7MDKqEJbIu3tm4BCBkfhKYuuvOob3vZ5TQVJ=TACURjzCufI4WRCAk5QRTVCapsN9O3aulvcepEhy1OZLjY42P_etyLpR74FTgJTQnNoVkBx0SDBnFI2fyYBqO8CViCJr7hCwD2biJRxex7c_0vde5O0k0SUG1jfsdeTbUfwtRW89neOt3fGexuPeHcV1=v=UVrhPVi4jiQ78=FQ0IVDtw=J4oaFK9hGUtu77iTOmqFDSV8UUTLy5Mtz1WK5txVpaURa-BRY-wFo0A-upS4DGYOV9e-l=LpuVrjXlhTkFcd_POB0rpmtUBZ7aTKSoohXhpHtElQw4L-Hw75_5kE0A3D-5E3m_kduJJOXyjMhP4FPQNdGcYYVHEWnz2TC7FOBuJFpPrCzs=yXeGfV2XOhmP8no4cZfD9J8SJOpBvB=iYi4Qz4bpPiCk57UbDEj1RNc-w0JmBm9X_fHm3Qxq7sjCcIJY4gXwxKzPAvJ3=y_wKRBNBvzN_7ri3P_bD-Tiip1zaTvBm_v9wU3iR_ccORvHds-I-T2ciFIIHvRRXfysLQX7tavlgIuRxYXI9=74wHk-DoqTPbPa2eBKC7NzpEyQke1KOZdlM9KipWJIV_0WbkoAV2Qh4Vo4YjsDxgLzmZ7fWrz9E_GHSvzw_02OkZfEruquxf0KIjSsGZ-geIuXtJmEvybeXzIyuwnYRYQ_NBCMlGOMxUrL_Oy5_UhFH_kt7=YKfhfwRZtF7nyl4rZFovsi2mlFn=lbSmEH=zfGx1YZ9ZlmVFEPdDfArd4BEIvoRn2WBkojBlO3TFNRIRM1wFTlZh_=Wa7HdEy7if5hG=X_Md7pjxUcCxqQuy-QeNRI77glyzlSznHCocdrh2xD9N-9TOIOfNtHibVZTuV=iizE882eVZV2py9Vfbe_xH8mrACPfK2nOIE7V4TbALq8ODghAWqcTRueXmXhsG2tePUBjkNQnsgGwrBbo9fBu3fhHs1hb3xsGkbX8sZpfbOb4yyH-WU3kfdjaizlbJEkPuv1tPQon=GgFjctLxWkj1RXbrRuOR0m3lP8iO43=rx85edFD9eepQs9rbmyDZDgFvv-G-WwNdSLd5LuLNYFLg001hkmnk-12txvKY-1ijwSRda8tIzMYG-IC0ScKcU9=U4MpgDlPuFaO4eA82e9E9swQetXLa4L_X_4PmFIVHE2qHXw9-_dbX_jz4JnZfSeygsPDq4uTj4i8VoxkHJjJ=FsOsVSfA0LY8mmXmyU4GD2HskZnMr7DD=ZaALCzO5W9yl1wCbmkaQ3c1JmMQwuGUvNi0HJwrL=Pf8l-zseSujxoTeZnCb82HtGR40biCh2BQw9y-pKe8mSU-4nv2saOBmkqhrDD_8pa9029lp08vUJuTCv_-j4Cp0sP7_ZbJD=lBxrYoVkqqZNr8ZWksRqT-qyTVd4qoV5SpcD7=xe3buESfztjkFHYossXKFNYQDJs8OFyM1vDTYKaa-DBF=K4CK2HRca-sa4lVmkPljC99q7QHaZGDD-YVN5fCOxbLVIoizruQjuYiEgGmpXFXM-YGnJ9skIOcTGNcZxQl3OvwUPp-kJceamr3lhlQNENku_-1areE9pp7nnnFZ_1DdZR8Gm04t=tHL97uQ1wIatViIOG3P2X-O3_=pztIgYLfMlAysZGPs-mfaYHO2kvb5vlHTNOez9gykeOj9y3kiZfCGGDchJSzNYxueU23n_p3BIfVcVmNwkGvN8S3uQ8FPdPT5rBfDOfaxNdSk9Z9eG7-te5GwK4vJbOK35wX=Sw4ywHUA3B52TYqYdvj2xcojaiNY-0tCMlT4c_4kp5fnGAY9fzxCng7BHxiV7AntkTaTi3IGvbFfy29XsZcJkv4tl2RRdzw2lj-oj=d-Z0aF0kqrXPI41dJlFg4U8GG5NHLwA23A-OsDZ02ABUBsT00T5f-I'}
url = "https://jbrest.jetblue.com/lfs-rwb/outboundLFS"
data = {
"tripType": "oneWay",
"from": "LAS",
"to": "BOS",
"depart": "2023-05-10",
"cabin": "economy",
"refundable": False,
"dates": {
"before": "3",
"after": "3"
},
"pax": {
"ADT": 1,
"CHD": 0,
"INF": 0,
"UNN": 0
}, },
"redempoint": False, ''',
"pointsBreakup": { '''ancestorOrigins: {
"option": "", get: v_saf(function ancestorOrigins() {
"value": 0 return new DOMStringList()
}, }),
"isMultiCity": False, enumerable: true,
"isDomestic": False configurable: false
},''',
''' hostname: {set: function(arg){_hostname = arg}, get:function(){return _hostname}, enumerable:true},''',
'''reload: {
value: v_saf(function reload() {
}),
enumerable: true,
},''',
'''protocol: {set: function(arg){_protocol = arg}, get:function(){return _protocol}, enumerable:true},''',
'''host: {set: function(arg){_hostname = arg}, get:function(){return _hostname}, enumerable:true},''',
''' port: {set: function(arg){_port = arg}, get:function(){return _port}, enumerable:true},''',
''' hash: {set: function(arg){_hash = arg}, get:function(){return _hash}, enumerable:true},''',
''' pathname: {set: function(arg){_pathname = arg}, get:function(){return _pathname}, enumerable:true},''',
'''origin: {set: function(arg){_origin = arg}, get:function(){return _origin}, enumerable:true},''',
'''search: {set: function(arg){_pathname = arg}, get:function(){return _pathname}, enumerable:true},''',
'''assign: {
value: v_saf(function assign() {
}),
enumerable: true,
},''',
'''toString: {
value: v_saf(function toString() {
return ''
}),
enumerable: true,
},''',
'''replace: {
value: v_saf(function replace() {
}),
enumerable: true,
},'''
]
random.shuffle(t2)
# print(t2)
r = '''location.href = 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true'
function set_href(v, href){
href = href.trim()
v_console_log(` href[set]:`, JSON.stringify(href))
if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
} else if (href.startsWith("//")) {
href = (v.protocol ? v.protocol : 'http:') + href
} else {
href = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
}
var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
v.protocol = a[1] ? a[1] : "";
v.host = a[2] ? a[2] : "";
v.port = a[3] ? a[3] : "";
v.pathname = a[4] ? a[4] : "";
v.search = a[5] ? a[5] : "";
v.hash = a[6] ? a[6] : "";
v.hostname = v.host;
v.origin = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "");
} }
// 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
set_href(location, 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true')
window.location = location
// window.location = new Proxy(location, {
// get(target, p, receiver) {
// console.log('locaiton get', p)
// return Reflect.get(target, p, receiver)
// },
// has(target, p) {
// let res = Reflect.has(target, p);
// console.log('locaiton has', p, res)
// return res;
// },
// getOwnPropertyDescriptor(target, p) {
// let res = Reflect.getOwnPropertyDescriptor(target, p);
//
// console.log('locaiton getOwnPropertyDescriptor', p, res)
// return res;
// }
// })
origin = location.origin
'''
while True: print(t1 + '\n' + '\n'.join(t2) + '})\n' + r)
print(session.post(url,json=data, headers=headers).text) \ No newline at end of file
time.sleep(1)
\ No newline at end of file
var v_saf; var _hostname, _origin, _host, _protocol, _port, _pathname, _search, _hash;
!function () { Object.defineProperties(location, {
var n = Function.toString, t = [], i = [], o = [].indexOf.bind(t), e = [].push.bind(t), r = [].push.bind(i); host: {
set: function (arg) {
function u(n, t, nn) { _hostname = arg
tt = '' }, get: function () {
if (nn) { return _hostname
tt = ' ' + nn }, enumerable: true
} },
return -1 == o(n) && (e(n), r(`function${tt} ${t || n.name || ""}() { [native code] }`)), n toString: {
} value: v_saf(function toString() {
return ''
Object.defineProperty(Function.prototype, "toString", { }),
enumerable: !1, enumerable: true,
configurable: !0,
writable: !0,
value: function () {
let res = "function" == typeof this && i[o(this)] || n.call(this)
// print('toString', arguments, '|||', 'res', res)
return res; },
} reload: {
}), u(Function.prototype.toString, "toString"), v_saf = u value: v_saf(function reload() {
}();
var bl_33 = function () {
var bl_3 = arguments[0];
if (typeof bl_3 === "string") {
cbb_105 = [];
var bl_1 = cbb_105;
while (true) {
while (true) {
if (!(bl_2 < bl_3["length"])) {
var bl_2 = 0;
var bl_0 = 0;
while (true) {
if (!(bl_0 < bl_1["length"])) {
var bl_2 = lb_2;
return lb_2 !== null;
}
var bl_2 = 0 | (bl_2 << 5) - bl_2 + bl_1[bl_0];
var bl_0 = Number(bl_0) + 1;
}
}
if (!(1 === bl_3["length"] - bl_2)) {
break;
}
cbb_106 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_3["charCodeAt"], bl_3, [bl_2]);
cbb_107 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_1["push"], bl_1, [cbb_106 << 16]);
var bl_2 = bl_2 + 2;
}
cbb_108 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_3["charCodeAt"], bl_3, [bl_2]);
cbb_109 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_3["charCodeAt"], bl_3, [bl_2 + 1]);
cbb_110 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_1["push"], bl_1, [cbb_108 << 16 | cbb_109]);
var bl_2 = bl_2 + 2;
}
}
cbb_111 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(ArrayBuffer["isView"], ArrayBuffer, [bl_3]);
var bl_2 = bl_3["byteLength"] % 4;
var bl_1 = new Int32Array(bl_3["buffer"]);
var bl_2 = 0;
var bl_0 = 0;
while (true) {
if (!(bl_0 < bl_1["length"])) {
// var bl_2 = lb_2;
return bl_2;
}
bl_2 = 0 | (bl_2 << 5) - bl_2 + bl_1[bl_0];
var bl_0 = Number(bl_0) + 1;
}
};
let data = new Uint8Array(90000); }),
for (let i = 0; i < data.length; i++) { enumerable: true,
data[i] = 11
}
console.log(bl_33(data))
},
port: {
set: function (arg) {
_port = arg
}, get: function () {
return _port
}, enumerable: true
},
origin: {
set: function (arg) {
_origin = arg
}, get: function () {
return _origin
}, enumerable: true
},
pathname: {
set: function (arg) {
_pathname = arg
}, get: function () {
return _pathname
}, enumerable: true
},
href: {
value: 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true',
enumerable: true
},
function _inherits(t, e) { hash: {
t.prototype = Object.create(e.prototype, { set: function (arg) {
constructor: {value: t, writable: !0, configurable: !0} _hash = arg
}), e && Object.setPrototypeOf(t, e) }, get: function () {
} return _hash
class Document { }, enumerable: true
},
protocol: {
set: function (arg) {
_protocol = arg
}, get: function () {
return _protocol
}, enumerable: true
},
search: {
set: function (arg) {
_pathname = arg
}, get: function () {
return _pathname
}, enumerable: true
},
assign: {
value: v_saf(function assign() {
} }),
Object.defineProperties(Document.prototype, { enumerable: true,
},
replace: {
value: v_saf(function replace() {
createElement: { }),
value:function (){},
configurable: true,
enumerable: true, enumerable: true,
writable: true
}, },
hostname: {
set: function (arg) {
_hostname = arg
}, get: function () {
return _hostname
}, enumerable: true
},
ancestorOrigins: {
get: v_saf(function ancestorOrigins() {
return new DOMStringList()
}),
enumerable: true,
configurable: false
},
}) })
document = { location.href = 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true'
} function set_href(v, href) {
delete Document.prototype.createElement.__proto__ href = href.trim()
Object.setPrototypeOf(Document.prototype.createElement, null); v_console_log(` href[set]:`, JSON.stringify(href))
// Object.defineProperty(Document.prototype.createElement, 'prototype',undefined) if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
HTMLDocument = v_saf(function HTMLDocument() { } else if (href.startsWith("//")) {
if (!v_new_toggle) { href = (v.protocol ? v.protocol : 'http:') + href
throw TypeError("Illegal constructor") } else {
href = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
} }
;Object.defineProperty(this, 'location', { var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
get() { v.protocol = a[1] ? a[1] : "";
return location v.host = a[2] ? a[2] : "";
} v.port = a[3] ? a[3] : "";
}) v.pathname = a[4] ? a[4] : "";
}); v.search = a[5] ? a[5] : "";
_inherits(HTMLDocument, Document) v.hash = a[6] ? a[6] : "";
document.__proto__ = HTMLDocument.prototype v.hostname = v.host;
tt1 = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(document)), 'createElement').value v.origin = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "");
Object.setPrototypeOf(tt1, null); }
delete tt1.__proto__
delete tt1.prototype
t = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(Function["prototype"]["call"]["bind"], Function["prototype"]["call"], [Object["prototype"]["hasOwnProperty"]]); // 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
set_href(location, 'https://www.southwest.com/air/booking/index.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway&validate=true')
window.location = location
// window.location = new Proxy(location, {
// get(target, p, receiver) {
// console.log('locaiton get', p)
// return Reflect.get(target, p, receiver)
// },
// has(target, p) {
// let res = Reflect.has(target, p);
// console.log('locaiton has', p, res)
// return res;
// },
// getOwnPropertyDescriptor(target, p) {
// let res = Reflect.getOwnPropertyDescriptor(target, p);
//
// console.log('locaiton getOwnPropertyDescriptor', p, res)
// return res;
// }
// })
console.log(t(tt1,'prototype')) origin = location.origin
\ No newline at end of file \ No newline at end of file
This diff is collapsed.
FROM python:3.10.1-slim-bullseye
RUN mkdir -p "/home/opt/lcc-wn"
RUN apt update &&apt install curl -y
RUN pip3 install requests loguru curl_cffi tls_client pyquery nacos-sdk-python pyyaml pymongo
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
RUN apt install nodejs -y
WORKDIR /home/opt/lcc-wn/
RUN apt install -y make g++
COPY src/package.json /home/opt/lcc-wn/package.json
COPY src/package-lock.json /home/opt/lcc-wn/package-lock.json
RUN cd /home/opt/lcc-wn/ && npm i
COPY src/src.js /home/opt/lcc-wn/src.js
#COPY src/jsdom /home/opt/lcc-wn/jsdom
#COPY src/js_dom_run.js /home/opt/lcc-wn/js_dom_run.js
COPY src/main.py /home/opt/lcc-wn/main.py
CMD ["python3", "main.py"]
version: "3.7" # compose版本号
services:
b61: # 单个服务标识(名字)
container_name: lcc-py-wn-1 # 启动后的容器名称 相当于 --name 指定的名称
image: lccb6:latest # 镜像
restart: "on-failure"
deploy:
resources:
limits:
cpus: '1'
memory: 1G
volumes:
- /data/log/lcc-wn/:/data/log/lcc-wn/
environment:
- work_dir=1
b62: # 单个服务标识(名字)
container_name: lcc-py-wn-2 # 启动后的容器名称 相当于 --name 指定的名称
image: lccb6:latest # 镜像
restart: "on-failure"
deploy:
resources:
limits:
cpus: '1'
memory: 1G
volumes:
- /data/log/lcc-wn/:/data/log/lcc-wn/
environment:
- work_dir=2
b63: # 单个服务标识(名字)
container_name: lcc-py-wn-3 # 启动后的容器名称 相当于 --name 指定的名称
image: lccb6:latest # 镜像
restart: "on-failure"
deploy:
resources:
limits:
cpus: '1'
memory: 1G
volumes:
- /data/log/lcc-wn/:/data/log/lcc-wn/
environment:
- work_dir=3
b64: # 单个服务标识(名字)
container_name: lcc-py-wn-4 # 启动后的容器名称 相当于 --name 指定的名称
image: lccb6:latest # 镜像
restart: "on-failure"
deploy:
resources:
limits:
cpus: '1'
memory: 1G
volumes:
- /data/log/lcc-wn/:/data/log/lcc-wn/
environment:
- work_dir=4
# b65: # 单个服务标识(名字)
# container_name: lcc-py-wn-5 # 启动后的容器名称 相当于 --name 指定的名称
# image: lccb6:latest # 镜像
# restart: "on-failure"
# deploy:
# resources:
# limits:
# cpus: '1'
# memory: 1G
# volumes:
# - /data/log/lcc-wn/:/data/log/lcc-wn/
# environment:
# - work_dir=4
# b66: # 单个服务标识(名字)
# container_name: lcc-py-wn-6 # 启动后的容器名称 相当于 --name 指定的名称
# image: lccb6:latest # 镜像
# restart: "on-failure"
# deploy:
# resources:
# limits:
# cpus: '1'
# memory: 1G
# volumes:
# - /data/log/lcc-wn/:/data/log/lcc-wn/
# environment:
# - work_dir=4
# b67: # 单个服务标识(名字)
# container_name: lcc-py-wn-7 # 启动后的容器名称 相当于 --name 指定的名称
# image: lccb6:latest # 镜像
# restart: "on-failure"
# deploy:
# resources:
# limits:
# cpus: '1'
# memory: 1G
# volumes:
# - /data/log/lcc-wn/:/data/log/lcc-wn/
# environment:
# - work_dir=4
# b64: # 单个服务标识(名字)
# container_name: lcc-py-wn-4 # 启动后的容器名称 相当于 --name 指定的名称
# image: lccb6:latest # 镜像
# restart: "on-failure"
# deploy:
# resources:
# limits:
# cpus: '1'
# memory: 1G
# volumes:
# - /data/log/lcc-wn/:/data/log/lcc-wn/
# environment:
# - work_dir=4
# b64: # 单个服务标识(名字)
# container_name: lcc-py-wn-4 # 启动后的容器名称 相当于 --name 指定的名称
# image: lccb6:latest # 镜像
# restart: "on-failure"
# deploy:
# resources:
# limits:
# cpus: '1'
# memory: 1G
# volumes:
# - /data/log/lcc-wn/:/data/log/lcc-wn/
# environment:
# - work_dir=4
This diff is collapsed.
This diff is collapsed.
{
"name": "shape-bypass",
"version": "1.0.0",
"description": "",
"main": "ast.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"abab": "^2.0.5",
"acorn": "^8.4.1",
"acorn-globals": "^6.0.0",
"canvas": "^2.11.2",
"cssom": "^0.5.0",
"cssstyle": "^2.3.0",
"data-urls": "^3.0.0",
"decimal.js": "^10.3.1",
"domexception": "^2.0.1",
"escodegen": "^2.0.0",
"express": "^4.18.2",
"fingerprint-generator": "^2.1.37",
"form-data": "^4.0.0",
"ghost-cursor": "^1.1.18",
"html-encoding-sniffer": "^2.0.1",
"http-proxy-agent": "^4.0.1",
"https-proxy-agent": "^5.0.0",
"is-potential-custom-element-name": "^1.0.1",
"isolated-vm": "^4.6.0",
"nwsapi": "^2.2.0",
"parse5": "6.0.1",
"saxes": "^5.0.1",
"superpack": "^2.3.0",
"symbol-tree": "^3.2.4",
"tough-cookie": "^4.0.0",
"w3c-hr-time": "^1.0.2",
"w3c-xmlserializer": "^2.0.0",
"webidl-conversions": "^6.1.0",
"whatwg-encoding": "^1.0.5",
"whatwg-mimetype": "^2.3.0",
"whatwg-url": "^9.0.0",
"ws": "^8.0.0",
"xml-name-validator": "^3.0.0"
}
}
This diff is collapsed.
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