From 2d54c90d433752b33d313f84ee1c2188e4e07abe Mon Sep 17 00:00:00 2001 From: PAN Lei Date: Sat, 8 Nov 2025 14:13:27 +0100 Subject: [PATCH] use ip royal proxy to validate links --- proxy_manager/proxy_manager.py | 7 ++++++- scheduler_link_validator.py | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 scheduler_link_validator.py diff --git a/proxy_manager/proxy_manager.py b/proxy_manager/proxy_manager.py index ea61c51..19ae2e6 100644 --- a/proxy_manager/proxy_manager.py +++ b/proxy_manager/proxy_manager.py @@ -54,6 +54,10 @@ FR_MOBILE_ANY_IP_ROTATING = { 'http': 'http://user_6a7f21,type_residential,country_FR:d5c051@portal.anyip.io:1080', 'https': 'http://user_6a7f21,type_residential,country_FR:d5c051@portal.anyip.io:1080', } +FR_RES_IP_ROYAL_ROTATING = { + 'http': 'http://Uv2qfG3PyhT6Wctw:V45HOlzAIssCYssJ_country-fr@geo.iproyal.com:12321', + 'https': 'http://Uv2qfG3PyhT6Wctw:V45HOlzAIssCYssJ_country-fr@geo.iproyal.com:12321', +} # 八分之一用data_impulse # MOBILE_PROXY_LIST = [FR_PROXY_MOB_OXY_STICKY, FR_PROXY_MOB_OXY_STICKY, FR_PROXY_MOB_OXY_STICKY, FR_PROXY_MOB_OXY_STICKY, # FR_PROXY_MOB_OXY_STICKY, FR_MOBILE_ANY_IP_STICKY, FR_MOBILE_ANY_IP_STICKY, FR_MOBILE_ANY_IP_STICKY, @@ -74,7 +78,8 @@ class ProxyManager: def get_link_validate_proxy(self, links_to_validate: list) -> list: # return [FR_PROXY_RES_PARIS_OXY] - return [FR_MOBILE_ANY_IP_ROTATING] + # return [FR_MOBILE_ANY_IP_ROTATING] + return [FR_RES_IP_ROYAL_ROTATING] # return [FR_PROXY_RES_OXY] # if len(links_to_validate) > 15: # return [FR_PROXY_RES_OXY, FR_PROXY_MOB_OXY, FR_PROXY_ASOCK_RES_2, FR_DATA_IMPULSE_RES] diff --git a/scheduler_link_validator.py b/scheduler_link_validator.py new file mode 100644 index 0000000..f984da4 --- /dev/null +++ b/scheduler_link_validator.py @@ -0,0 +1,26 @@ +from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor +from apscheduler.schedulers.blocking import BlockingScheduler + +from link_validator_executor import start_link_validation + + +def start_check_results_job(sched): + sched.add_job(start_link_validation, 'cron', day_of_week='mon-sat', hour='13', + minute='48', + misfire_grace_time=10, + second='10', timezone='Europe/Paris', max_instances=1, args=[]) + + +def config_and_start_jobs(): + executors = { + 'default': ThreadPoolExecutor(1), + 'processpool': ProcessPoolExecutor(1) + } + sched = BlockingScheduler(executors=executors) + start_check_results_job(sched) + sched.print_jobs() + sched.start() + + +if __name__ == '__main__': + config_and_start_jobs()