From 68888364b98c5c15f7f7b123a284573fabbcd634 Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Sat, 22 Jun 2024 11:25:42 +0200 Subject: [PATCH 1/4] check mail list size before reading mails --- mail/mail_reader_all_contacts.py | 51 ++++++++++++++++---------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/mail/mail_reader_all_contacts.py b/mail/mail_reader_all_contacts.py index 137ac01..adead85 100755 --- a/mail/mail_reader_all_contacts.py +++ b/mail/mail_reader_all_contacts.py @@ -231,31 +231,32 @@ def need_to_check_email(mail: str, successful_items) -> bool: def find_links_to_validate_from_mail_list(mail_list: list, logger): # check time before start checking emails - contact_to_book_list = MONGO_STORE_MANAGER.get_all_contact_to_book_list() - successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() - mails_messages = [] - with ThreadPoolExecutor(max_workers=len(mail_list)) as executor: - for mail in mail_list: - # check whether we need to read mail - if need_to_check_email(mail.mail, successful_items): - mail_reader = MailReader(mail.mail, mail.password) - executor.submit(mail_reader.read_emails, mails_messages) - # for mail in mail_list: - # # check whether we need to read mail - # if need_to_check_email(mail.mail, successful_items): - # mail_reader = MailReader(mail.mail, mail.password) - # mail_reader.read_emails(mails_messages) - _refreshed_successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() - for mail in mails_messages: - match = re.search(VALIDATION_URL_REGEX, mail.body) - if match: - url = match.group(0) - if need_to_valid_url(url, _refreshed_successful_items): - logger.info("need to validate url: " + url) - MONGO_STORE_MANAGER.save_links_to_validate(url, mail.to_address, - _all_contact_list=contact_to_book_list) - else: - logger.info("do not need to click url --> {}".format(mail.mail_address)) + if len(mail_list) > 0: + contact_to_book_list = MONGO_STORE_MANAGER.get_all_contact_to_book_list() + successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() + mails_messages = [] + with ThreadPoolExecutor(max_workers=len(mail_list)) as executor: + for mail in mail_list: + # check whether we need to read mail + if need_to_check_email(mail.mail, successful_items): + mail_reader = MailReader(mail.mail, mail.password) + executor.submit(mail_reader.read_emails, mails_messages) + # for mail in mail_list: + # # check whether we need to read mail + # if need_to_check_email(mail.mail, successful_items): + # mail_reader = MailReader(mail.mail, mail.password) + # mail_reader.read_emails(mails_messages) + _refreshed_successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() + for mail in mails_messages: + match = re.search(VALIDATION_URL_REGEX, mail.body) + if match: + url = match.group(0) + if need_to_valid_url(url, _refreshed_successful_items): + logger.info("need to validate url: " + url) + MONGO_STORE_MANAGER.save_links_to_validate(url, mail.to_address, + _all_contact_list=contact_to_book_list) + else: + logger.info("do not need to click url --> {}".format(mail.mail_address)) if __name__ == '__main__': From 26e2956bd85709c46674a9bd283595ea5acb909a Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Tue, 25 Jun 2024 18:39:12 +0200 Subject: [PATCH 2/4] reduce wait time and support outlook.com mails --- mail/mail_constants.py | 3 ++- queue_message/appointmentrequestsender.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mail/mail_constants.py b/mail/mail_constants.py index 41d820b..139898d 100755 --- a/mail/mail_constants.py +++ b/mail/mail_constants.py @@ -32,6 +32,7 @@ DOMAIN_CHILD_PIZZA = "child.pizza" DOMAIN_GENOCIDE_FUN = "genocide.fun" DOMAIN_DMC_CHAT = "dmc.chat" DOMAIN_WEB_DE = "web.de" +DOMAIN_OUTLOOK_COM = "outlook.com" AOL_IMAP_SERVER = "imap.aol.com" IMAP_SERVER_163 = "imap.163.com" @@ -85,7 +86,7 @@ def create_imap(login: str): elif DOMAIN_SINA in login: # imap = imaplib.IMAP4_SSL(IMAP_SERVER_SINA) imap = IMAPClient(IMAP_SERVER_SINA, use_uid=True) - elif DOMAIN_HOTMAIL in login: + elif DOMAIN_HOTMAIL in login or DOMAIN_OUTLOOK_COM in login: imap = imaplib.IMAP4_SSL(HOTMAIL_IMAP_SERVER) elif DOMAIN_RAMBLER_RU in login: imap = imaplib.IMAP4_SSL(RAMBLER_IMAP_SERVER) diff --git a/queue_message/appointmentrequestsender.py b/queue_message/appointmentrequestsender.py index 5d62a28..9b8290f 100644 --- a/queue_message/appointmentrequestsender.py +++ b/queue_message/appointmentrequestsender.py @@ -204,7 +204,7 @@ class AppointmentRequestSender(threading.Thread): else: self.retrieve_invalidate_urls() self.logger.info("empty list") - time.sleep(60) + time.sleep(20) self.logger.info("will basic_reject method.delivery_tag: " + str(method.delivery_tag)) ch.basic_reject(delivery_tag=method.delivery_tag, requeue=True) else: From 33ea135873e4726eab71c8d971bed758b7b5a3bc Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Wed, 26 Jun 2024 00:59:07 +0200 Subject: [PATCH 3/4] support 4.29.3 --- docs/4_29_3/jsdata_ch_4_29_3.json | 127 +++++++++++++++++++++++++++ docs/4_29_3/jsdata_le_4_29_3.json | 139 ++++++++++++++++++++++++++++++ models/jsdata_le_pojo.py | 4 +- models/jsdata_pojo.py | 4 +- workers/captcha_result_getter.py | 4 +- 5 files changed, 272 insertions(+), 6 deletions(-) create mode 100644 docs/4_29_3/jsdata_ch_4_29_3.json create mode 100644 docs/4_29_3/jsdata_le_4_29_3.json diff --git a/docs/4_29_3/jsdata_ch_4_29_3.json b/docs/4_29_3/jsdata_ch_4_29_3.json new file mode 100644 index 0000000..d07245a --- /dev/null +++ b/docs/4_29_3/jsdata_ch_4_29_3.json @@ -0,0 +1,127 @@ +{ + "ttst": 61, + "ifov": false, + "hc": 7, + "br_oh": 674, + "br_ow": 393, + "ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Mobile Safari/537.36", + "wbd": false, + "tagpu": 0.2905677202811785, + "wdif": false, + "wdifrm": false, + "npmtm": false, + "br_h": 674, + "br_w": 393, + "isf": true, + "nddc": 1, + "rs_h": 851, + "rs_w": 393, + "rs_cd": 24, + "phe": false, + "nm": false, + "jsf": false, + "lg": "fr-FR", + "pr": 2.75, + "ars_h": 851, + "ars_w": 393, + "tz": -120, + "str_ss": true, + "str_ls": true, + "str_idb": true, + "str_odb": false, + "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": "iwYMGqd,5o78mbsW", + "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": 1, + "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": "Oi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6Nzc4NjkpCiAgICBhdCB0LmV4cG9ydHMuZGRfYWMgKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6OTEzMjgpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUzNTcw", + "ckwa": true, + "emd": "k:ai,ao,vi", + "glvd": "Google Inc. (Qualcomm)", + "glrd": "ANGLE (Qualcomm, Adreno (TM) 618, OpenGL ES 3.2)", + "wwl": false, + "jset": 1719355871 +} \ No newline at end of file diff --git a/docs/4_29_3/jsdata_le_4_29_3.json b/docs/4_29_3/jsdata_le_4_29_3.json new file mode 100644 index 0000000..912978b --- /dev/null +++ b/docs/4_29_3/jsdata_le_4_29_3.json @@ -0,0 +1,139 @@ +{ + "ttst": 61, + "ifov": false, + "hc": 7, + "br_oh": 674, + "br_ow": 393, + "ua": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Mobile Safari/537.36", + "wbd": false, + "tagpu": 0.2905677202811785, + "wdif": false, + "wdifrm": false, + "npmtm": false, + "br_h": 674, + "br_w": 393, + "isf": true, + "nddc": 1, + "rs_h": 851, + "rs_w": 393, + "rs_cd": 24, + "phe": false, + "nm": false, + "jsf": false, + "lg": "fr-FR", + "pr": 2.75, + "ars_h": 851, + "ars_w": 393, + "tz": -120, + "str_ss": true, + "str_ls": true, + "str_idb": true, + "str_odb": false, + "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": "iwYMGqd,5o78mbsW", + "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": 1, + "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": "Oi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6Nzc4NjkpCiAgICBhdCB0LmV4cG9ydHMuZGRfYWMgKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6OTEzMjgpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUzNTcw", + "ckwa": true, + "emd": "k:ai,ao,vi", + "glvd": "Google Inc. (Qualcomm)", + "glrd": "ANGLE (Qualcomm, Adreno (TM) 618, OpenGL ES 3.2)", + "wwl": false, + "jset": 1719355887, + "dcok": ".hermes.com", + "log2": true, + "es_sigmdn": null, + "es_mumdn": null, + "es_distmdn": null, + "es_angsmdn": null, + "es_angemdn": null, + "m_s_c": 42, + "m_m_c": 0, + "m_c_c": 0, + "m_cm_r": -1, + "m_ms_r": 0 +} \ No newline at end of file diff --git a/models/jsdata_le_pojo.py b/models/jsdata_le_pojo.py index e6b004f..29dacfd 100644 --- a/models/jsdata_le_pojo.py +++ b/models/jsdata_le_pojo.py @@ -37,8 +37,8 @@ class JsDataLeTypePojo(JsDataPojo): self.m_c_c = m_c_c self.m_cm_r = m_cm_r self.m_ms_r = m_ms_r - self.cfpfe = "ZnVuY3Rpb24oKXt2YXIgbj10LG89ZG9jdW1lbnRbJ1x4NzFceDc1XHg2NVx4NzJceDc5XHg1M1x4NjVceDZjXHg2NVx4NjNceDc0XHg2Zlx4NzInXShuKDM2NCkpO2lmKG8peyFmdW5jdGlvbiB0KCl7dmFyIGk9bjt0cnl7dmFyIGE9b1tpKDI2NildW2koMjU1KV0o" # 4.29.2 - self.stcfp = "aWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6NzY4ODYpCiAgICBhdCA8Y29tcHV0ZWQ+IFthcyBkZF9hY10gKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6OTA2MTcpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUxNjY5" # 4.29.2 + self.cfpfe = "ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudFsnXHg3MVx4NzVceDY1XHg3Mlx4NzlceDUzXHg2NVx4NmNceDY1XHg2M1x4NzRceDZmXHg3MiddKCdceDYyXHg3Mlx4NmZceDc3XHg3M1x4NjVceDcyXHg2Nlx4NmNceDZmXHg3N1x4MmRceDYzXHg2Zlx4NmVceDc0XHg2" # 4.29.3 + self.stcfp = "Oi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6Nzc4NjkpCiAgICBhdCB0LmV4cG9ydHMuZGRfYWMgKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6OTEzMjgpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUzNTcw" # 4.29.3 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;"}""" diff --git a/models/jsdata_pojo.py b/models/jsdata_pojo.py index 9d7ae03..3db46c7 100644 --- a/models/jsdata_pojo.py +++ b/models/jsdata_pojo.py @@ -267,8 +267,8 @@ class JsDataPojo: self.emt = False self.bfr = False self.dbov = False - self.cfpfe = "ZnVuY3Rpb24oKXt2YXIgbj10LG89ZG9jdW1lbnRbJ1x4NzFceDc1XHg2NVx4NzJceDc5XHg1M1x4NjVceDZjXHg2NVx4NjNceDc0XHg2Zlx4NzInXShuKDM2NCkpO2lmKG8peyFmdW5jdGlvbiB0KCl7dmFyIGk9bjt0cnl7dmFyIGE9b1tpKDI2NildW2koMjU1KV0o" # 4.29.2 - self.stcfp = "aWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6NzY4ODYpCiAgICBhdCA8Y29tcHV0ZWQ+IFthcyBkZF9hY10gKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6OTA2MTcpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUxNjY5" # 4.29.2 + self.cfpfe = "ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudFsnXHg3MVx4NzVceDY1XHg3Mlx4NzlceDUzXHg2NVx4NmNceDY1XHg2M1x4NzRceDZmXHg3MiddKCdceDYyXHg3Mlx4NmZceDc3XHg3M1x4NjVceDcyXHg2Nlx4NmNceDZmXHg3N1x4MmRceDYzXHg2Zlx4NmVceDc0XHg2" # 4.29.3 + self.stcfp = "Oi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6Nzc4NjkpCiAgICBhdCB0LmV4cG9ydHMuZGRfYWMgKGh0dHBzOi8vZC5kaWdpdGFsLmhlcm1lcy90YWdzLmpzOjI6OTEzMjgpCiAgICBhdCBodHRwczovL2QuZGlnaXRhbC5oZXJtZXMvdGFncy5qczoyOjUzNTcw" # 4.29.3 self.ckwa = True def to_url_encoded_json(self): diff --git a/workers/captcha_result_getter.py b/workers/captcha_result_getter.py index cc4d6cd..4e96fdb 100644 --- a/workers/captcha_result_getter.py +++ b/workers/captcha_result_getter.py @@ -105,7 +105,7 @@ class CaptchaResultGetter: return None def get_ch_raw_data_from_js_data(self, js_data: JsDataPojo, old_valid_cookie) -> str: - _tag_version = "4.29.2" + _tag_version = "4.29.3" _raw_data = "jsData={}&eventCounters=%5B%5D&jsType=ch&cid={}&ddk=789361B674144528D0B7EE76B35826&Referer=https%253A%252F%252Frendezvousparis.hermes.com%252Fclient%252Fregister&request=%252Fclient%252Fregister&responsePage=origin&ddv={}".format( js_data.to_url_encoded_json(), old_valid_cookie, _tag_version) print("raw ch data is " + _raw_data) @@ -172,7 +172,7 @@ class CaptchaResultGetter: # _le_js_raw_data = self.get_le_raw_data_from_js_data(js_le_type_data=js_le_type_data, # old_valid_cookie=old_valid_cookie) _cid = get_datadome_cookies(old_valid_cookie) - _raw_data = "jsData={}&eventCounters=%7B%22mousemove%22%3A{}%2C%22click%22%3A{}%2C%22scroll%22%3A{}%2C%22touchstart%22%3A{}%2C%22touchend%22%3A{}%2C%22touchmove%22%3A{}%2C%22keydown%22%3A{}%2C%22keyup%22%3A{}%7D&jsType=le&cid={}&ddk=789361B674144528D0B7EE76B35826&Referer=https%253A%252F%252Frendezvousparis.hermes.com%252Fclient%252Fregister&request=%252Fclient%252Fregister&responsePage=origin&ddv=4.29.2".format( + _raw_data = "jsData={}&eventCounters=%7B%22mousemove%22%3A{}%2C%22click%22%3A{}%2C%22scroll%22%3A{}%2C%22touchstart%22%3A{}%2C%22touchend%22%3A{}%2C%22touchmove%22%3A{}%2C%22keydown%22%3A{}%2C%22keyup%22%3A{}%7D&jsType=le&cid={}&ddk=789361B674144528D0B7EE76B35826&Referer=https%253A%252F%252Frendezvousparis.hermes.com%252Fclient%252Fregister&request=%252Fclient%252Fregister&responsePage=origin&ddv=4.29.3".format( js_le_type_data.to_url_encoded_json(), mousemove_count, click_count, scroll_count, touch_count, touch_count, touch_move, key_count, From 171fe261630e2b637dbdfcad5bf2dae469680187 Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Fri, 28 Jun 2024 18:17:48 +0200 Subject: [PATCH 4/4] mob for url validation --- proxy_manager/proxy_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proxy_manager/proxy_manager.py b/proxy_manager/proxy_manager.py index 7cb141a..be9a578 100644 --- a/proxy_manager/proxy_manager.py +++ b/proxy_manager/proxy_manager.py @@ -59,11 +59,11 @@ class ProxyManager: def get_link_validate_proxy(self, links_to_validate: list) -> list: if len(links_to_validate) > 15: - return [FR_PROXY_RES_OXY, FR_PROXY_ASOCK_RES_2, FR_DATA_IMPULSE_RES] + return [FR_PROXY_RES_OXY, FR_PROXY_MOB_OXY, FR_PROXY_ASOCK_RES_2, FR_DATA_IMPULSE_RES] # return [FR_PROXY_RES_OXY, FR_PROXY_ASOCK_RES_2, FR_DATA_IMPULSE_RES, FR_ASOCKS_MOBILE_PROXY] else: - return [FR_PROXY_RES_OXY, FR_PROXY_ASOCK_RES_2, FR_DATA_IMPULSE_RES] + return [FR_PROXY_RES_OXY, FR_PROXY_MOB_OXY, FR_PROXY_ASOCK_RES_2, FR_DATA_IMPULSE_RES] # return [FR_PROXY_RES_OXY] def get_result_link_proxy(self):