Commit b8806836 authored by wangmingming's avatar wangmingming

请求造纸

parent 7f3a750d
...@@ -99,39 +99,39 @@ while True: ...@@ -99,39 +99,39 @@ while True:
selectId = random.choice(list(envs)) selectId = random.choice(list(envs))
# selectId = 'a74b38e7115cf4d1b1f6976c' # selectId = 'a74b38e7115cf4d1b1f6976c'
if usedTime > 5: # if usedTime > 5:
c = session.get('https://www.jetblue.com/js/src/jb-74873.js', insecure_skip_verify=True).text # c = session.get('https://www.jetblue.com/js/src/jb-74873.js', insecure_skip_verify=True).text
m5 = md5(c) # m5 = md5(c)
if m5 != lastHash: # if m5 != lastHash:
lastHash = m5 # lastHash = m5
usedTime = 0 # usedTime = 0
logger.debug('js变化') # logger.debug('js变化')
token = re.findall('nt"\),\["(.+?)",', c)[0] # token = re.findall('nt"\),\["(.+?)",', c)[0]
db.token_shape.insert_one({ # db.token_shape.insert_one({
'_id': token, # '_id': token,
'update_time': int(time.time() * 1000) # 'update_time': int(time.time() * 1000)
}) # })
code = open('src.js', 'r', encoding='utf-8').read() # code = open('src.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' + 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' + 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']
# r = requests.get('http://127.0.0.1:3001').json() r = requests.get('http://127.0.0.1:3001').json()
# p = subprocess.Popen(['node', 'js_dom_run.js', selectId, '11'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, # p = subprocess.Popen(['node', 'js_dom_run.js', selectId, '11'], stdin=subprocess.PIPE, stdout=subprocess.PIPE,
# p = subprocess.Popen(['node', 'src_run_chrome_105.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE, # p = subprocess.Popen(['node', 'src_run_chrome_105.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE,
# p = subprocess.Popen(['node', 'src_run_company_chrome.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE, # p = subprocess.Popen(['node', 'src_run_company_chrome.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE,
p = subprocess.Popen(['node', 'src_run1.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE, # p = subprocess.Popen(['node', 'src_run1.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE) # stderr=subprocess.PIPE)
output, err = p.communicate(timeout=10) # output, err = p.communicate(timeout=10)
tmp = '' # tmp = ''
if p.returncode == 0: # if p.returncode == 0:
tmp = output.decode().split('\n')[-2] # tmp = output.decode().split('\n')[-2]
else: # else:
raise Exception(selectId) # raise Exception(selectId)
r = json.loads(tmp) # r = json.loads(tmp)
# res = db.env_shape.update_one( # res = db.env_shape.update_one(
# {'_id': ObjectId(selectId)}, # {'_id': ObjectId(selectId)},
# {"$inc": {"used": 1}} # {"$inc": {"used": 1}}
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"abab": "^2.0.5", "abab": "^2.0.5",
"pm2": "^5.3.0",
"acorn": "^8.4.1", "acorn": "^8.4.1",
"acorn-globals": "^6.0.0", "acorn-globals": "^6.0.0",
"canvas": "^2.11.2", "canvas": "^2.11.2",
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
"abab": "^2.0.5", "abab": "^2.0.5",
"acorn": "^8.4.1", "acorn": "^8.4.1",
"acorn-globals": "^6.0.0", "acorn-globals": "^6.0.0",
"pm2": "^5.3.0",
"canvas": "^2.11.2", "canvas": "^2.11.2",
"cssom": "^0.5.0", "cssom": "^0.5.0",
"cssstyle": "^2.3.0", "cssstyle": "^2.3.0",
......
No preview for this file type
const pm2 = require('pm2')
const crypto = require('crypto')
const fs = require('fs')
function _md5(content) {
const md5 = crypto.createHash('md5')
return md5.update(content).digest('hex')
}
let hash = ''
let code = fs.readFileSync('src.js').toString()
pm2.connect(async function (err) {
if (err) {
console.error(err)
process.exit(2)
}
let res = await fetch('https://www.jetblue.com/js/src/jb-74873.js');
let text = await res.text();
let newHash = _md5(text)
if (newHash !== hash) {
hash = newHash
console.log(new Date(), 'js文件变化')
fd = fs.openSync('src_run1.js', 'w')
fs.writeSync(fd, code + ';;;' + text + `
;;;
http.createServer((request,response)=>{
// console.log('当前times', times)
if (randomEvent){
window.mouse_move(startx,starty,endx,endy)
}
sid = keys[parseInt(Math.random() * keys.length)]
// sid = "b93e97591189a5841d0288ba"
ENV = ENVS[sid]
var xhr = new XMLHttpRequest();
xhr.open('POST', "https://jbrest.jetblue.com/lfs-rwb/outboundLFS", false);
xhr.send("")
xhr.setRequestHeader('user-agent', navis.userAgent)
// console.log(xhr.headers)
console.log('结束times', times)
// res.send()
response.end(JSON.stringify(xhr.headers))
}).listen(3001)
`)
}
pm2.start({
script: 'src_run1.js',
args: 'f40dbc501d254cb7dd41d45c 2 3',
name: 'api'
}, function (err, apps) {
if (err) {
console.error(err)
return pm2.disconnect()
}
// console.log(apps)
// console.log()
})
pm2.start({
interpreter: '/Users/wang/miniconda3/envs/nx/bin/python3',
script: 'jetblue.py'
})
setInterval(async function () {
let res = await fetch('https://www.jetblue.com/js/src/jb-74873.js');
let text = await res.text();
let newHash = _md5(text)
if (newHash !== hash) {
hash = newHash
console.log(new Date(), 'js文件变化')
fd = fs.openSync('src_run1.js', 'w')
fs.writeSync(fd, code + ';;;' + text + `
;;;
http.createServer((request,response)=>{
// console.log('当前times', times)
if (randomEvent){
window.mouse_move(startx,starty,endx,endy)
}
sid = keys[parseInt(Math.random() * keys.length)]
// sid = "b93e97591189a5841d0288ba"
ENV = ENVS[sid]
var xhr = new XMLHttpRequest();
xhr.open('POST', "https://jbrest.jetblue.com/lfs-rwb/outboundLFS", false);
xhr.send("")
xhr.setRequestHeader('user-agent', navis.userAgent)
// console.log(xhr.headers)
console.log('结束times', times)
// res.send()
response.end(JSON.stringify(xhr.headers))
}).listen(3001)
`)
pm2.restart('api')
}
},
10000)
})
\ No newline at end of file
This diff is collapsed.
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
"isolated-vm": "^4.6.0", "isolated-vm": "^4.6.0",
"nwsapi": "^2.2.0", "nwsapi": "^2.2.0",
"parse5": "6.0.1", "parse5": "6.0.1",
"pm2": "^5.3.0",
"saxes": "^5.0.1", "saxes": "^5.0.1",
"superpack": "^2.3.0", "superpack": "^2.3.0",
"symbol-tree": "^3.2.4", "symbol-tree": "^3.2.4",
......
...@@ -8,7 +8,17 @@ session.proxies = { ...@@ -8,7 +8,17 @@ 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',
} }
headers = {'Host': 'jbrest.jetblue.com', 'application-channel': 'Desktop_Web', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.188', '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': 'Aw9OHQOLAQAAA2rqwtNs0Po1mA9OG8HD-iRaPmM-q37QqEw6qOtTo59-75wrAZooPNsAAAAAAAAAAAAAAAAAAA==', 'x-1itxwo9i-b': '-pe3plv', 'x-1itxwo9i-c': 'AEBCGwOLAQAAQTf2NQ9mLbiyoX-lpQTAVKfoSYOuycEJd-cBNqDkSq_DitWh', 'x-1itxwo9i-d': 'ABaAhIDBCKGFgQGAAYIQgISigaIAwBGAzvpCzi_33weg5Eqvw4rVoQAAAAByzJzLAPN_NvtrJkMe0CStW1jTRhQ', 'x-1itxwo9i-z': 'q', 'x-1itxwo9i-a': '733Q1AWg96Krwn525wkFthdKcBJstoNQeqdsoHaCWl2Ovws=UxVCCVLQls-FdeYNXZWogG7wnZS2pJlLToPMK9KVjaYsXP1j7FgTGYncrfxef5jP=JJinQQE3vFM6FyL=A_5Z1Tbzz57m52Kmo5xetoRP_DGoCCM9aYxSOmGvlOmvYzgdqW-c6JORInGei2wbKxB7-iuykUEajZIj7j2vqjpMKerqQf=J4ySg283xjzGXKx7624U5OYcjEWwNfyPfLh8jPRsMUXzd6FOKnGrpfRCMfmz6leMVqWRYNxlnS8hznGpHAOTXffQYDlR_42eahCVzlj4JdyPufsD9Vazo6ll_e4gmu9vii=Sx1NKyLHiWqIlX5Om-88Gs11pcnfVSBTDd33_=nr47v1ouNsIQRXMAOTXliccKPSFj4xWpr_m8PXcSkMqKu2oRa-K2IZlRnKE3Bl6dLq4InT6iDr61bE2hsrLKDzWkRtZjIBS4izrkG2tGqi=dQcCurOWbHKCZ-2LCgCURA=1yNiIX-a3mIIS3cwc2RH7fmXdhzd1xSGYTqBMCz4X8dJyBzIYPQsTVmgYfQ-ZEmOq1BdcMm4bjUndH3=3Xo7RAcjfny5guwJci46GM9uhzLuwzLreyRnUw4yZ_IGWB-WoEK_cnXGfDMPxhTMW9Mywzh7QjO4nrNLJCVJifhLoYTuX_tIeBpGVLPETudcFBrpkcyeuL5S3kO4zoiIFCOXJP=ny2izTG=dCyid=wnzGMrMLc-ivbfxp7F1k=sT-OTTcYn9qy6nffaGoX2gc-t5aOT743UNY-ZROmFKXQhf_oVOPbLSdApf=qeCq5KIvu9AGKKA3Gno_8STIX8LYQpuqGNRyq7cB=ZApLx93CmBNlfkl1Hgp1KMbqMzzjl3rmY4sea7IAxyGCRE_Ja7EPyKhJ8yPvkuAAiCLd96UxklkO3D2XV9OgV8J_AuV48evSNuysub-5NBH-k9GLTiu1M-9qi5_J71bXx-2m9Ve7kW4-SUO8XN9PIdN4dqjhy9RGmqq7cXoX88Sjf4iO27RVFLPiAYkgtSp1rt2zf35xXfHG4-j=jZ9xZIbctGZqcg8nEMsPoc=4HfDZNzbcQDWml_Z-I2gOWRoQxknqOVu1Yad8mONQgnOC2-gry66VDkRxAlasHNBqlN33iBfDFX=br4ASwaaaexkdKvde8B6BWyrKkbTFOVTP5CaajF6N4n5tdBoyzO5zTtyxquGNNPRfelHDVAQdOl=r-AYPGA9=A-ueMzkRrKHE15UB4GckC_W7RRzueYyAwYsh4fUhlXIdiNU-pfc5vovyNxxSFQ=tdKd8ncnhy6-qEu_gJP4iRIppyNi8_hiFeVj4sgPCRHRBc4YEFep-prGcqHIyXwvSPI=9GS5X4trqRTEqMXGfSrUa8KaVISWRCsQ5hxCvVTmz=DptuTK2_idA5iDm2AGjpdSYDsL1DnFsQ_G3nEj3wuBTbrrTL6salDtoU7KVfee-v6e3Xiytt78H_=mFCuxt6uCmYd9TWw-NM4bVcf12qHKrRS_5xcdlbfJfvCYuF4zaqsleEe1osj1OCuVnqBEiidRDiJd4N3ZWJXPRznqh=Fqo9YrMvnjxkkeoyavVHDyMVjIvUApWkhmD3c7JCMlOQjSFlXN36C61NnbWyrN8QKpWxqj=iLnBqKOIV2MCiRVYZ-U7FUqIB'} headers = {
"x-1itxwo9i-a": "erRC9zENjHroJM0-q=MPKcC0mFLaXUPj=J7t0qDHoGA=uMjAITWdRooi41EqUEEJpj5HUaJJT3JWrnTHKEjCgRBe=fSEodGes2=FGMyr3wJJ4lUD7XyP8RWn-i6gn0W_MLId_onN974ifUOKjMi8sy4dHjt8DuFL6RnllNXEUykW4NHA55T0X1XHbXwk9R_rIRc4LU2je3iG1KL5g203hY3o1qIVkjDcsgyQ-FsltuyI-=L6FbfOnEbROTge9AWmx9YS_xQz6ji5LWo23lG2Jq0p1nuLeRj6W01mE2KM=gz5yxJwg3dC4le7EluNu6zQIuiDBmXZASCRlXSBBUbQezxMVz4YIz15VfWNi00OeRy8zWCI48ORVrTQ=EWxPkQtqtiBHtV0an4jN4s73P6sksajwc5Y3mc-1A-CM260kl-eHaPQALwbzSjNT3RtQHHOz0XVnDDN5VTxL8673xVn=UrHYcKq-auqYK-ohQQKIjHrN=DU9ibc9sF-EWmB3C2eqoMHwkC-y9adaFWmfVmVhXY=6LnXjqJhHjGU2tg6uJgMKLXH=1pOU3WJ4tRJcLj9z_yXKiBHg3aomYTQPzmxJNQYJrGy9e9NPDBTyC_CJYZjWqrLDTFpglYbwmeYUMzuDsDkYlq8egxm3qjT3BdrL4z0y8xKitNtE94hyrcHqDgkp-YJ1fBNZya7hOEUiN-449KxLDLTREgbeuAXGCtudi3D3yPw7t2DjirGazV0Q7_mIi363rDRlgKodpZgjP94Z-DVZlDkR_rNb3AL5iR35EPJNbG=sgjRGZP4qAgz9kug0QUV5eyHPBSN5Onf4gTJFPrE9njKwmaIO_uxqg4awyAd4OpKVrLZVqxq-NLrgzsw_FRq8x_8xIPFUgn-aMlzDjz8j3Zdy_TBw2mtA95-4zNtKES=_pfoiNo-==m9olGS0E7B098jex2TZMK=mmaIW23OAnaJU1516sY5YBt7dCE8VNGuYVbRDNTLSM6NeUuyZBXQhcMf9DRZeZo5mNGki_V3knEVXxsopfDfU9HlA81DzFc11VwsA=F6l3d=2UHNTFG_2RwU953NQbcoGDBEeoJf96ZSed7Lx46DjeUnzwJWrzIT1EpGMPRFoLtD_qWo=zNwqLmflXD-py5JZfE8eV_iJf_jhMYMSAL=co3ow2opHgOZWw6aEMKqpyKdeBRRNjcJOVd9zJsVXLZglX5Q5SbmyK0uPg1nTQZqBTJhlspurEGfL-N2LHVfq3Bwj-Ps25EgNDxq80forBZ6kbfI_jLSgUobmrTpP65C7C0ORu2sy4nNgu6EzzuL-1Z7bsoprBFYoQbkQeEi=MNeu217VUhrHlbY2HmHYHwI=bZI6zwFgeMXH-TMqDsrELSHwePdyZUHc3lqT1BmOHBJEh1JD9_eEbaDqVRQKIEYuXSK78L8HXHrm773H1dlRsD27=Lq5wu=Y-kEjmDMA0WE2JdikxGkNqirHWJ1ZiDm9iPDe3W1OhbywIBcJ7-LHTkd7-pOOCer-XqM-wX6wa1ycXm-XyhXe8S_wQ5r3A49HGzzHRenjDmUOX0iWH5ZQtbqNGPHg8wbVpJIjFoc2s4yRR0XT5ETqpFafOq_za3--KMQyj1NXdHfxC_NfCdRwjy4Olp3SHQ8imXj54Fh7eeJyp865ZnVBF0eMJ5b5ftgtDh=tzcNjgkg9JrxUfT=ONjqSnFLiBNhoxU-5EPw9lpol2ki",
"application-channel": "Desktop_Web",
"x-1itxwo9i-f": "A1cbuQOLAQAA01cyxG7te8eBW33RR0dBvDG8gj7zmlG_Kkp2-yLSYD859TjSAdF_b_wAAAAAAAAAAAAAAAAAAA==",
"x-1itxwo9i-c": "AADmtgOLAQAAacZGZf1h4MiL3w1EpZnCJ6TssjwDO_QpTJbX-xZ6XCs-gfNv", "Host": "jbrest.jetblue.com",
"accept": "application/json",
"x-1itxwo9i-d": "ABaAhIDBCKGFgQGAAYIQgISigaIAwBGAzvpCzi_33wcWelwrPoHzbwAAAAByzJzLALgJDCI4_MNbPnCHiTZo0p4",
"x-1itxwo9i-z": "q",
"user-agent": "Mozilla/5.0 (iPad; CPU OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/114.0.5735.124 Mobile/15E148 Safari/604.1",
"origin": "https://www.jetblue.com", "accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"booking-application-type": "NGB", "content-type": "application/json", "x-1itxwo9i-b": "xihes3"}
url = "https://jbrest.jetblue.com/lfs-rwb/outboundLFS" url = "https://jbrest.jetblue.com/lfs-rwb/outboundLFS"
data = { data = {
...@@ -38,5 +48,5 @@ data = { ...@@ -38,5 +48,5 @@ data = {
} }
while True: while True:
print(session.post(url,json=data, headers=headers).text) print(session.post(url, json=data, headers=headers).text)
time.sleep(1) time.sleep(1)
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