diff --git a/docs/4_28_0/js_data_ch_4_27.0_generated.json b/docs/4_28_0/js_data_ch_4_28.0_generated.json similarity index 66% rename from docs/4_28_0/js_data_ch_4_27.0_generated.json rename to docs/4_28_0/js_data_ch_4_28.0_generated.json index e9c5457..288f466 100644 --- a/docs/4_28_0/js_data_ch_4_27.0_generated.json +++ b/docs/4_28_0/js_data_ch_4_28.0_generated.json @@ -1,29 +1,29 @@ { - "ttst": 43, + "ttst": 138, "ifov": false, - "hc": 4, - "br_oh": 663, - "br_ow": 384, - "ua": "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36", + "hc": 5, + "br_oh": 620, + "br_ow": 360, + "ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36", "wbd": false, - "tagpu": 5.167040384311697, + "tagpu": 9.423374907896758, "wdif": false, "wdifrm": false, "npmtm": false, - "br_h": 663, - "br_w": 384, + "br_h": 620, + "br_w": 360, "isf": true, "nddc": 1, - "rs_h": 811, - "rs_w": 384, + "rs_h": 804, + "rs_w": 360, "rs_cd": 24, "phe": false, "nm": false, "jsf": false, "lg": "fr-FR", - "pr": 2.8125, - "ars_h": 811, - "ars_w": 384, + "pr": 3, + "ars_h": 804, + "ars_w": 360, "tz": -120, "str_ss": true, "str_ls": true, @@ -51,7 +51,7 @@ "vnd": "Google Inc.", "bid": "NA", "mmt": "empty", - "plu": "c1iRnTJ,YUxg36GL", + "plu": "eTJjZUp,iZMOHLs1", "hdn": false, "awe": false, "geb": false, @@ -116,11 +116,12 @@ "emt": false, "bfr": false, "dbov": false, - "cfpfe": "ZnVuY3Rpb24oKXt2YXIgbj10LG89ZG9jdW1lbnRbbigyNjApXShuKDI5NCkpO2lmKG8peyFmdW5jdGlvbiB0KCl7dmFyIGk9bjt0cnl7dmFyIGE9b1tpKDI2MyldW2koMjYwKV0oJ1x4NjJceDcyXHg2Zlx4NzdceDczXHg2NVx4NzJceDY2XHg2Y1x4NmZceDc3XHgy", - "stcfp": "Oi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6NzYzNjQpCiAgICBhdCB0LmV4cG9ydHMuZGRfYWMgKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6ODk3ODApCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUxOTI4", + "cfpfe": "ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudFsnXHg3MVx4NzVceDY1XHg3Mlx4NzlceDUzXHg2NVx4NmNceDY1XHg2M1x4NzRceDZmXHg3MiddKCdceDYyXHg3Mlx4NmZceDc3XHg3M1x4NjVceDcyXHg2Nlx4NmNceDZmXHg3N1x4MmRceDYzXHg2Zlx4NmVceDc0XHg2", + "stcfp": "aWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6Nzc0MjUpCiAgICBhdCA8Y29tcHV0ZWQ+IFthcyBkZF9hY10gKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6ODk5NTcpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUyOTU3", "ckwa": true, - "glvd": "Qualcomm", - "glrd": "Adreno (TM) 630", + "emd": "k:ai,vi,ao,vi d:defau,8f9de,defau,24476 g:4e652,f9991,defau,d5801", + "glvd": "ARM", + "glrd": "Mali-G57 MC2", "wwl": false, - "jset": 1715011727 -} \ No newline at end of file + "jset": 1715927413 +} diff --git a/docs/4_28_0/js_data_le_4_28.0_generated.json b/docs/4_28_0/js_data_le_4_28.0_generated.json new file mode 100644 index 0000000..d2ab5e3 --- /dev/null +++ b/docs/4_28_0/js_data_le_4_28.0_generated.json @@ -0,0 +1,141 @@ +{ + "ttst": 50, + "ifov": false, + "hc": 5, + "br_oh": 620, + "br_ow": 360, + "ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36", + "wbd": false, + "tagpu": 4.919088817133858, + "wdif": false, + "wdifrm": false, + "npmtm": false, + "br_h": 620, + "br_w": 360, + "isf": true, + "nddc": 1, + "rs_h": 804, + "rs_w": 360, + "rs_cd": 24, + "phe": false, + "nm": false, + "jsf": false, + "lg": "fr-FR", + "pr": 3, + "ars_h": 804, + "ars_w": 360, + "tz": -120, + "str_ss": true, + "str_ls": true, + "str_idb": true, + "str_odb": true, + "plgod": false, + "plg": 2, + "plgne": "err", + "plgre": "err", + "plgof": "err", + "plggt": "err", + "pltod": false, + "hcovdr": false, + "hcovdr2": false, + "plovdr": false, + "plovdr2": false, + "ftsovdr": false, + "ftsovdr2": false, + "lb": false, + "eva": 33, + "lo": false, + "ts_mtp": 5, + "ts_tec": true, + "ts_tsa": true, + "vnd": "Google Inc.", + "bid": "NA", + "mmt": "empty", + "plu": "eTJjZUp,iZMOHLs1", + "hdn": false, + "awe": false, + "geb": false, + "dat": false, + "med": "defined", + "aco": "probably", + "acots": false, + "acmp": "probably", + "acmpts": true, + "acw": "probably", + "acwts": false, + "acma": "maybe", + "acmats": false, + "acaa": "probably", + "acaats": true, + "ac3": "", + "ac3ts": false, + "acf": "probably", + "acfts": false, + "acmp4": "maybe", + "acmp4ts": false, + "acmp3": "probably", + "acmp3ts": false, + "acwm": "maybe", + "acwmts": false, + "ocpt": false, + "vco": "", + "vcots": false, + "vch": "probably", + "vchts": true, + "vcw": "probably", + "vcwts": true, + "vc3": "maybe", + "vc3ts": false, + "vcmp": "", + "vcmpts": false, + "vcq": "", + "vcqts": false, + "vc1": "probably", + "vc1ts": true, + "dvm": 4, + "sqt": false, + "so": "portrait-primary", + "wdw": true, + "cokys": "bG9hZFRpbWVzY3NpL=", + "ecpc": false, + "lgs": true, + "lgsod": false, + "psn": true, + "edp": false, + "addt": true, + "wsdc": true, + "ccsr": true, + "nuad": true, + "bcda": true, + "idn": true, + "capi": false, + "svde": false, + "vpbq": true, + "ucdv": false, + "spwn": false, + "emt": false, + "bfr": false, + "dbov": false, + "cfpfe": "ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudFsnXHg3MVx4NzVceDY1XHg3Mlx4NzlceDUzXHg2NVx4NmNceDY1XHg2M1x4NzRceDZmXHg3MiddKCdceDYyXHg3Mlx4NmZceDc3XHg3M1x4NjVceDcyXHg2Nlx4NmNceDZmXHg3N1x4MmRceDYzXHg2Zlx4NmVceDc0XHg2", + "stcfp": "aWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6Nzc0MjUpCiAgICBhdCA8Y29tcHV0ZWQ+IFthcyBkZF9hY10gKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6ODk5NTcpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUyOTU3", + "ckwa": true, + "emd": "k:ai,vi,ao,vi d:defau,8f9de,defau,24476 g:4e652,f9991,defau,d5801", + "glvd": "ARM", + "glrd": "Mali-G57 MC2", + "wwl": false, + "jset": 1715927566, + "dcok": ".hermes.com", + "log2": true, + "m_fmi": false, + "tbce": 0, + "es_sigmdn": null, + "es_mumdn": null, + "es_distmdn": null, + "es_angsmdn": null, + "es_angemdn": null, + "m_s_c": 0, + "m_m_c": 3, + "m_c_c": 3, + "m_cm_r": 1, + "m_ms_r": -1 +} diff --git a/models/jsdata_le_pojo.py b/models/jsdata_le_pojo.py index f663c80..cf78278 100644 --- a/models/jsdata_le_pojo.py +++ b/models/jsdata_le_pojo.py @@ -20,9 +20,9 @@ from models.jsdata_pojo import JsDataPojo class JsDataLeTypePojo(JsDataPojo): def __init__(self, glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu, - vnd, pr, ts_mtp, dvm, m_s_c, m_m_c, m_c_c, m_cm_r, m_ms_r): + vnd, pr, ts_mtp, dvm, m_s_c, m_m_c, m_c_c, m_cm_r, m_ms_r, emd: str): super().__init__(glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu, - vnd, pr, ts_mtp, dvm) + vnd, pr, ts_mtp, dvm, emd=emd) self.dcok = ".hermes.com" self.log2 = True self.m_fmi = False @@ -41,12 +41,7 @@ class JsDataLeTypePojo(JsDataPojo): self.stcfp = "aWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6Nzc0MjUpCiAgICBhdCA8Y29tcHV0ZWQ+IFthcyBkZF9hY10gKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6ODk5NTcpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUyOTU3" # 4.28.0 -test_data_json = """{"glvd": "Qualcomm", "glrd": "Adreno (TM) 630", "hc": 2, "br_oh": 663, "br_ow": 384, "br_h": 663, - "br_w": 384, "rs_h": 811, "rs_w": 384, "rs_cd": 24, "ars_h": 811, "ars_w": 384, "plg": 2, "eva": 33, - "vnd": "Google Inc.", "plu": ["5gQIEKN", "Iv26GLka"], - "ua": "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36", - "dvm": 4, "acw": "probably", "pr": 2.8125, "ts_mtp": 5, - "cookiesStr": "app.sig=Arp0SzXCTBF2ordHf3pPTd6cS14;datadome=o_7W8TjHcQjqvnFjFBGAZZ0OmNOd0fnJXfzgqOajAHBBNv7zNMFi2~Jn7wQbTEIZdr2qvg0IFFQQr~Zk5ifzM154V1XxZVhgDZeVkNyRKrQewLBIzVeSagWs587fBqdX;app=eyJmbGFzaCI6e30sImNhY2hlZmxhc2giOltdLCJjc3JmU2VjcmV0IjoieVVRWmJBWnlRTnQ5bFlNbDdNN3R6eHhqIn0=;policy=accepted;lang=fr;"}""" +test_data_json = """{"glvd":"ARM","glrd":"Mali-G57 MC2","hc":5,"br_oh":620,"br_ow":360,"br_h":620,"br_w":360,"rs_h":804,"rs_w":360,"rs_cd":24,"ars_h":804,"ars_w":360,"plg":2,"eva":33,"vnd":"Google Inc.","plu":["eTJjZUp","iZMOHLs1"],"ua":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36","dvm":4,"acw":"probably","pr":3,"ts_mtp":5,"tz":-120,"emd":"k:ai,vi,ao,vi d:defau,8f9de,defau,24476 g:4e652,f9991,defau,d5801","cookiesStr":"app.sig=_FqS3_SPN2D40Z4Qlq-_ybxzRvQ;datadome=VSGCNMYkY6L81typRJUpurlyd39dHxdfxIYc6DzRWDT7_rtZ8UodGcbow1okQR2zg_t4d_NcP0rC1ZHNz3XSDAGFZCJhFI49lai~x2Nb2unkhOlY8o4E04Wjmde~auDZ;app=eyJmbGFzaCI6e30sImNhY2hlZmxhc2giOltdLCJjc3JmU2VjcmV0IjoiLW9jbktLVXAzMjVTOEFEdFpLUU9kSXlMIn0=;policy=accepted;lang=fr;"}""" if __name__ == '__main__': test_data_dict = json.loads(test_data_json) @@ -58,5 +53,5 @@ if __name__ == '__main__': ts_mtp=test_data_dict['ts_mtp'], eva=test_data_dict['eva'], rs_h=test_data_dict['rs_h'], rs_w=test_data_dict['rs_w'], rs_cd=test_data_dict['rs_cd'], m_s_c=0, m_m_c=3, m_c_c=3, - m_cm_r=1, m_ms_r=-1) + m_cm_r=1, m_ms_r=-1, emd=test_data_dict['emd']) print(le_js_data.to_url_encoded_json()) diff --git a/models/jsdata_pojo.py b/models/jsdata_pojo.py index d815f2e..83ed6f3 100644 --- a/models/jsdata_pojo.py +++ b/models/jsdata_pojo.py @@ -130,13 +130,14 @@ class JsDataPojo: cfpfe: str stcfp: str ckwa: bool + emd: str glvd: str glrd: str wwl: bool jset: int def __init__(self, glrd, glvd, hc, br_oh, ua, br_ow, br_h, br_w, rs_h, rs_w, rs_cd, ars_h, ars_w, plg, eva, plu, - vnd, pr, ts_mtp, dvm): + vnd, pr, ts_mtp, dvm, emd): # self.opts = "endpoint,ajaxListenerPath" self.ttst = random.randint(38, 148) self.ifov = False @@ -236,6 +237,7 @@ class JsDataPojo: self.vc1ts = True self.dvm = dvm self.set_default_values() + self.emd = emd self.glvd = glvd self.glrd = glrd self.wwl = False @@ -275,12 +277,7 @@ class JsDataPojo: return _safe_string -test_data_json = """{"glvd": "Qualcomm", "glrd": "Adreno (TM) 630", "hc": 2, "br_oh": 663, "br_ow": 384, "br_h": 663, - "br_w": 384, "rs_h": 811, "rs_w": 384, "rs_cd": 24, "ars_h": 811, "ars_w": 384, "plg": 2, "eva": 33, - "vnd": "Google Inc.", "plu": ["5gQIEKN", "Iv26GLka"], - "ua": "Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36", - "dvm": 4, "acw": "probably", "pr": 2.8125, "ts_mtp": 5, - "cookiesStr": "app.sig=Arp0SzXCTBF2ordHf3pPTd6cS14;datadome=o_7W8TjHcQjqvnFjFBGAZZ0OmNOd0fnJXfzgqOajAHBBNv7zNMFi2~Jn7wQbTEIZdr2qvg0IFFQQr~Zk5ifzM154V1XxZVhgDZeVkNyRKrQewLBIzVeSagWs587fBqdX;app=eyJmbGFzaCI6e30sImNhY2hlZmxhc2giOltdLCJjc3JmU2VjcmV0IjoieVVRWmJBWnlRTnQ5bFlNbDdNN3R6eHhqIn0=;policy=accepted;lang=fr;"}""" +test_data_json = """{"glvd":"ARM","glrd":"Mali-G57 MC2","hc":5,"br_oh":620,"br_ow":360,"br_h":620,"br_w":360,"rs_h":804,"rs_w":360,"rs_cd":24,"ars_h":804,"ars_w":360,"plg":2,"eva":33,"vnd":"Google Inc.","plu":["eTJjZUp","iZMOHLs1"],"ua":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Mobile Safari/537.36","dvm":4,"acw":"probably","pr":3,"ts_mtp":5,"tz":-120,"emd":"k:ai,vi,ao,vi d:defau,8f9de,defau,24476 g:4e652,f9991,defau,d5801","cookiesStr":"app.sig=_FqS3_SPN2D40Z4Qlq-_ybxzRvQ;datadome=VSGCNMYkY6L81typRJUpurlyd39dHxdfxIYc6DzRWDT7_rtZ8UodGcbow1okQR2zg_t4d_NcP0rC1ZHNz3XSDAGFZCJhFI49lai~x2Nb2unkhOlY8o4E04Wjmde~auDZ;app=eyJmbGFzaCI6e30sImNhY2hlZmxhc2giOltdLCJjc3JmU2VjcmV0IjoiLW9jbktLVXAzMjVTOEFEdFpLUU9kSXlMIn0=;policy=accepted;lang=fr;"}""" if __name__ == '__main__': test_data_dict = json.loads(test_data_json) @@ -290,7 +287,7 @@ if __name__ == '__main__': plg=test_data_dict['plg'], br_h=test_data_dict['br_h'], br_w=test_data_dict['br_w'], plu=test_data_dict['plu'], vnd=test_data_dict['vnd'], dvm=test_data_dict['dvm'], ts_mtp=test_data_dict['ts_mtp'], eva=test_data_dict['eva'], rs_h=test_data_dict['rs_h'], - rs_w=test_data_dict['rs_w'], rs_cd=test_data_dict['rs_cd']) + rs_w=test_data_dict['rs_w'], rs_cd=test_data_dict['rs_cd'], emd=test_data_dict['emd']) print(js.to_url_encoded_json()) # text_file = open("jsdata.txt", "w") # # write string to file diff --git a/queue_message/appointmentrequestsender.py b/queue_message/appointmentrequestsender.py index 1d962d6..9cd7559 100644 --- a/queue_message/appointmentrequestsender.py +++ b/queue_message/appointmentrequestsender.py @@ -109,7 +109,7 @@ class AppointmentRequestSender(threading.Thread): plu=_received_dict['plu'], vnd=_received_dict['vnd'], dvm=_received_dict['dvm'], ts_mtp=_received_dict['ts_mtp'], eva=_received_dict['eva'], rs_h=_received_dict['rs_h'], - rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd']) + rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd'], emd=_received_dict['emd']) _received_cookies = _received_dict["cookiesStr"] # remove already sent contacts if self.just_send: @@ -125,7 +125,8 @@ class AppointmentRequestSender(threading.Thread): for con in self.contact_list: # _proxy_to_use = self.proxy_manager.get_proxy_for_appointment_request() # print(_proxy_to_use) - sender = Sender(_received_cookies, cookiesPublisher=self.cookiesPublisher, received_dict=_received_dict, + sender = Sender(_received_cookies, cookiesPublisher=self.cookiesPublisher, + received_dict=_received_dict, proxy_to_use=_proxy_to_use, logger=self.logger) self.logger.info(con.mail) if self.valid_csrf is None: @@ -168,7 +169,7 @@ class AppointmentRequestSender(threading.Thread): rs_h=_received_dict['rs_h'], rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd'], m_s_c=m_s_c, m_m_c=m_m_c, m_c_c=m_c_c, - m_cm_r=m_cm_r, m_ms_r=m_ms_r) + m_cm_r=m_cm_r, m_ms_r=m_ms_r, emd=_received_dict['emd']) time.sleep(random.randint(1, 4)) _new_le_cookies = captchaResultGetter.get_le_valid_cookie(proxy_to_use=_proxy_to_use, js_le_type_data=js_le_data, diff --git a/queue_message/parallel_requestsender.py b/queue_message/parallel_requestsender.py index 1c5ad23..02a3fc8 100644 --- a/queue_message/parallel_requestsender.py +++ b/queue_message/parallel_requestsender.py @@ -103,7 +103,7 @@ class ParallelRequestSender(threading.Thread): rs_h=_received_dict['rs_h'], rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd'], m_s_c=m_s_c, m_m_c=m_m_c, m_c_c=m_c_c, - m_cm_r=m_cm_r, m_ms_r=m_ms_r) + m_cm_r=m_cm_r, m_ms_r=m_ms_r, emd=_received_dict['emd']) time.sleep(random.randint(1, 4)) _new_le_cookies = captchaResultGetter.get_le_valid_cookie(proxy_to_use=_proxy_to_use, js_le_type_data=js_le_data, @@ -149,7 +149,7 @@ class ParallelRequestSender(threading.Thread): plu=_received_dict['plu'], vnd=_received_dict['vnd'], dvm=_received_dict['dvm'], ts_mtp=_received_dict['ts_mtp'], eva=_received_dict['eva'], rs_h=_received_dict['rs_h'], - rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd']) + rs_w=_received_dict['rs_w'], rs_cd=_received_dict['rs_cd'], emd=_received_dict['emd']) def generate_proxy(self): _port = random.randint(40001, 49999) diff --git a/utils/generate_js_data.py b/utils/generate_js_data.py index 4ed23ed..f897f70 100644 --- a/utils/generate_js_data.py +++ b/utils/generate_js_data.py @@ -25,6 +25,6 @@ if __name__ == '__main__': ua = "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36" jsData = JsDataPojo(glrd=glrd, hc=hc, ua=ua, br_oh=br_oh, br_ow=br_ow, br_h=br_h, br_w=br_w, rs_h=rs_h, rs_w=rs_w, eva=eva, - rs_cd=rs_cd, plg=plg, plu=plu, ars_h=ars_h, ars_w=ars_w, vnd=vnd, glvd=glvd) + rs_cd=rs_cd, plg=plg, plu=plu, ars_h=ars_h, ars_w=ars_w, vnd=vnd, glvd=glvd,emd="NA") print(jsData) \ No newline at end of file