send more data for request data

This commit is contained in:
2024-03-16 11:36:30 +01:00
parent a52d7c8426
commit c9e316c5ab
4 changed files with 208 additions and 18 deletions
+63
View File
@@ -0,0 +1,63 @@
class RequestDataPojo {
glvd
glrd
hc
br_oh
br_ow
br_h
br_w
rs_h
rs_w
rs_cd
ars_h
ars_w
plg
eva
vnd
plu
ua
dvm
acw
cookiesStr
constructor(glvd,
glrd,
hc,
br_oh,
br_ow,
br_h,
br_w,
rs_h,
rs_w,
rs_cd,
ars_h,
ars_w,
plg,
eva,
vnd,
plu, ua, dvm, acw) {
this.glvd = glvd
this.glrd = glrd
this.hc = hc
this.br_oh = br_oh
this.br_ow = br_ow
this.br_h = br_h
this.br_w = br_w
this.rs_h = rs_h
this.rs_w = rs_w
this.rs_cd = rs_cd
this.ars_h = ars_h
this.ars_w = ars_w
this.plg = plg
this.eva = eva
this.vnd = vnd
this.plu = plu
this.ua = ua
this.dvm = dvm
this.acw = acw
}
}
module.exports = RequestDataPojo
+2 -1
View File
@@ -3,6 +3,7 @@ const amqp = require("amqplib");
const QUEUE_HOST = "amqp://appointment:ZyuhJZ2xEYWhElhpJjy7YEpZGZwNYJz2fHIu@appointment.lpaconsulting.fr:5672" const QUEUE_HOST = "amqp://appointment:ZyuhJZ2xEYWhElhpJjy7YEpZGZwNYJz2fHIu@appointment.lpaconsulting.fr:5672"
const REQUEST_DATA_QUEUE_FR = 'REQUEST_DATA'; const REQUEST_DATA_QUEUE_FR = 'REQUEST_DATA';
const REQUEST_DATA_QUEUE_DE = 'REQUEST_DATA_DE'; const REQUEST_DATA_QUEUE_DE = 'REQUEST_DATA_DE';
const REQUEST_DATA_OBJECT = "REQUEST_DATA_OBJECT"
class Sender { class Sender {
channel; channel;
@@ -21,7 +22,7 @@ class Sender {
} }
} }
module.exports = Sender module.exports = {Sender, REQUEST_DATA_OBJECT}
// let sender = new Sender() // let sender = new Sender()
// sender.initConnection().then((r) => { // sender.initConnection().then((r) => {
+36 -14
View File
@@ -1,21 +1,43 @@
const CommandorPage = require("./workers/CommandorPage"); const CommandorPage = require("./workers/CommandorPage");
const ContactPojo = require("./models/ContactPojo"); const ContactPojo = require("./models/ContactPojo");
const {MongoManager} = require("./workers/mongo_manager"); const {MongoManager} = require("./workers/mongo_manager");
const RequestDataPojo = require("./models/RequestDataPojo");
const mongoManager = new MongoManager(); const mongoManager = new MongoManager();
mongoManager.connect().then(r => { // mongoManager.connect().then(r => {
// let contact = new ContactPojo("0649614591", "1234567890", "PAN", "Lei", "panleicim@gmail.com") // // let contact = new ContactPojo("0649614591", "1234567890", "PAN", "Lei", "panleicim@gmail.com")
// let commandPage = new CommandorPage(contact, null, mongoManager) // // let commandPage = new CommandorPage(contact, null, mongoManager)
// commandPage.deleteFromBlackList().then(r => { // // commandPage.deleteFromBlackList().then(r => {
// console.log("saved to db") // // console.log("saved to db")
// // })
// mongoManager.getAllAcceptedAppointments().then(acceptedList => {
// acceptedList.forEach((item) => {
// console.log(item.email)
// console.log(item.accepted_at)
// }) // })
mongoManager.getAllAcceptedAppointments().then(acceptedList => { // }
acceptedList.forEach((item) => { // )
console.log(item.email) // }
console.log(item.accepted_at) // )
}) let glvd = "Qualcomm"
} let glrd = "Adreno (TM) 630"
) let hc = 8
} let br_oh = 711
) let br_ow = 384
let br_h = 711
let br_w = 384
let rs_h = 811
let rs_w = 384
let rs_cd = 24
let ars_h = 811
let ars_w = 384
let plg = 2
let eva = 33
let vnd = "Google Inc."
let plu = "rVpzZz4,dt9mbseP"
let ua = "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36"
let dvm = 1
let requestPojo = new RequestDataPojo(glvd, glrd, hc, br_oh, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, vnd, plu, ua, dvm)
requestPojo.cookiesStr = "datadome=vUwJoG9aItJ3LTQ28~u_6wOr4YM7CjqF6TBMXPmehhR0UffLzVaSooP~K5xJ6iKcdGnuYDsvd4ozNQuMyFLPb39m0enuy3XinRDnfWiuypj0IEKrD_4fgA2bgeOp46lG;policy=accepted;app.sig=CpeG6QFWmHWaWV3E6Ohul8Jud4k;app=eyJmbGFzaCI6e30sImNhY2hlZmxhc2giOltdLCJjc3JmU2VjcmV0IjoiNDBtd2xPV25MeUNXdHBLaG5YZGxLcTZDIn0=;lang=fr;"
console.log(JSON.stringify(requestPojo))
+106 -2
View File
@@ -9,6 +9,8 @@ const SlidingCaptchaSolver = require("./SlidingCaptchaSolver");
const OCRChecker = require("./OCRChecker"); const OCRChecker = require("./OCRChecker");
const {exec} = require("child_process"); const {exec} = require("child_process");
const {openUrlWithAdb} = require("../utiles/CmdUtils"); const {openUrlWithAdb} = require("../utiles/CmdUtils");
const RequestDataPojo = require("../models/RequestDataPojo");
const {REQUEST_DATA_OBJECT} = require("../queue/Sender");
// const RDV_URL = "http://192.168.0.44:8000/test_appointment.html" // const RDV_URL = "http://192.168.0.44:8000/test_appointment.html"
const RDV_URL = "https://rendezvousparis.hermes.com/client/register"; const RDV_URL = "https://rendezvousparis.hermes.com/client/register";
const BLANK_URL = "about:blank" const BLANK_URL = "about:blank"
@@ -74,7 +76,7 @@ function logWithDevice(message, device) {
const searchTexts = ['hermes+rdv+online+paris', 'hermes+rdv+enligne+paris', 'hermes+rdv+en+ligne+paris', 'hermes+rendezvous+en+ligne+paris', 'hermes+appointment+online+paris', 'hermes+appointment+online+paris', 'appointment+hermes+paris+on+line', 'hermes+rendez+vous+online+paris', 'hermes+rendez+vous+paris+en+ligne', 'hermes+rendez+vous+paris+enligne', 'hermes+rendez+vous+paris+online', 'online+appointment+hermes+paris', 'hermes+online+appointment+paris', 'paris+hermes+online+appointment'] const searchTexts = ['hermes+rdv+online+paris', 'hermes+rdv+enligne+paris', 'hermes+rdv+en+ligne+paris', 'hermes+rendezvous+en+ligne+paris', 'hermes+appointment+online+paris', 'hermes+appointment+online+paris', 'appointment+hermes+paris+on+line', 'hermes+rendez+vous+online+paris', 'hermes+rendez+vous+paris+en+ligne', 'hermes+rendez+vous+paris+enligne', 'hermes+rendez+vous+paris+online', 'online+appointment+hermes+paris', 'hermes+online+appointment+paris', 'paris+hermes+online+appointment']
class CommandorPage { class CommandorPage {
constructor(contact, device, sender, mongoManager, selectedStore = DEFAULT_STORE, audioAnalyse = false, alertBeep = false, port = 9000, onlyForCookies = false) { constructor(contact, device, sender, mongoManager, selectedStore = DEFAULT_STORE, audioAnalyse = false, alertBeep = false, port = 9000, onlyForCookies = true) {
this.contact = contact; this.contact = contact;
this.device = device; this.device = device;
this.mongoManager = mongoManager; this.mongoManager = mongoManager;
@@ -1159,6 +1161,106 @@ class CommandorPage {
} }
} }
async getRequestData() {
const {
glvd,
glrd,
hc,
br_oh,
br_ow,
br_h,
br_w,
rs_h,
rs_w,
rs_cd,
ars_h,
ars_w,
plg,
eva,
vnd,
plu, ua, dvm, acw
} = await this.page.evaluate(() => {
let webglContext = document.createElement('canvas').getContext("webgl")
let webglDebugRenderInfo = webglContext.getExtension("WEBGL_debug_renderer_info")
let glvd = webglContext.getParameter(webglDebugRenderInfo.UNMASKED_VENDOR_WEBGL)
let glrd = webglContext.getParameter(webglDebugRenderInfo.UNMASKED_RENDERER_WEBGL)
let hc = navigator.hardwareConcurrency
let br_oh = window.outerHeight
let br_ow = window.outerWidth
let br_h = Math.max(
document.documentElement.clientHeight,
window.innerHeight || 0
)
let br_w = Math.max(
document.documentElement.clientWidth,
window.innerWidth || 0
)
let rs_h = window.screen.height
let rs_w = window.screen.width
let rs_cd = window.screen.colorDepth
let ars_h = screen.availHeight || 0
let ars_w = screen.availWidth || 0
let plg = navigator.plugins.length
let eva = eval.toString().length
let vnd = window.navigator.vendor
let plugins = navigator.plugins
let pluginsName = []
for (let i = 0; i < plugins.length; i++) {
name = plugins[i].name;
pluginsName.push(name)
}
let plu = pluginsName
let ua = navigator.userAgent
let dvm = navigator['deviceMemory'] || -1
let audio = document['createElement']("audio")
let acw = audio.canPlayType(('audio/wav; codecs="1"'))
return {
glvd,
glrd,
hc,
br_oh,
br_ow,
br_h,
br_w,
rs_h,
rs_w,
rs_cd,
ars_h,
ars_w,
plg,
eva,
vnd,
plu,
ua,
dvm, acw
}
})
logWithDevice("glvd:" + glvd, this.device)
logWithDevice("glrd:" + glrd, this.device)
logWithDevice("hc:" + hc, this.device)
logWithDevice("br_oh:" + br_oh, this.device)
logWithDevice("br_ow:" + br_ow, this.device)
logWithDevice("br_h:" + br_h, this.device)
logWithDevice("br_w:" + br_w, this.device)
logWithDevice("rs_h:" + rs_h, this.device)
logWithDevice("rs_w:" + rs_w, this.device)
logWithDevice("rs_cd:" + rs_cd, this.device)
logWithDevice("ars_h:" + ars_h, this.device)
logWithDevice("ars_w:" + ars_w, this.device)
logWithDevice("plg:" + plg, this.device)
logWithDevice("eva:" + eva, this.device)
logWithDevice("vnd:" + vnd, this.device)
logWithDevice("plu:" + plu, this.device)
logWithDevice("ua:" + ua, this.device)
logWithDevice("dvm:" + dvm, this.device)
logWithDevice("acw:" + acw, this.device)
return new RequestDataPojo(glvd, glrd, hc, br_oh, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, vnd, plu, ua, dvm, acw)
}
async sendCookiesToQueue() { async sendCookiesToQueue() {
try { try {
@@ -1169,7 +1271,9 @@ class CommandorPage {
}) })
console.log(cookiesString); console.log(cookiesString);
if (this.onlyForCookies) { if (this.onlyForCookies) {
this.sender.sendMessage(cookiesString, "REQUEST_DATA_DE") let pojoToSend = await this.getRequestData()
pojoToSend.cookiesStr = cookiesString
this.sender.sendMessage(JSON.stringify(pojoToSend), REQUEST_DATA_OBJECT)
} else } else
this.sender.sendMessage(cookiesString) this.sender.sendMessage(cookiesString)
} catch (e) { } catch (e) {