xtn-tools-pro 1.0.0.3.5__py3-none-any.whl → 1.0.0.3.7__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- xtn_tools_pro/task_pro/go_fun.py +42 -11
- {xtn_tools_pro-1.0.0.3.5.dist-info → xtn_tools_pro-1.0.0.3.7.dist-info}/METADATA +1 -1
- {xtn_tools_pro-1.0.0.3.5.dist-info → xtn_tools_pro-1.0.0.3.7.dist-info}/RECORD +6 -6
- {xtn_tools_pro-1.0.0.3.5.dist-info → xtn_tools_pro-1.0.0.3.7.dist-info}/LICENSE +0 -0
- {xtn_tools_pro-1.0.0.3.5.dist-info → xtn_tools_pro-1.0.0.3.7.dist-info}/WHEEL +0 -0
- {xtn_tools_pro-1.0.0.3.5.dist-info → xtn_tools_pro-1.0.0.3.7.dist-info}/top_level.txt +0 -0
xtn_tools_pro/task_pro/go_fun.py
CHANGED
@@ -29,21 +29,25 @@ class GoFun:
|
|
29
29
|
thread_num = ini_dict.get('thread_num', 0)
|
30
30
|
restart_time = ini_dict.get('restart_time', 0)
|
31
31
|
update_proxies_time = ini_dict.get('update_proxies_time', 0)
|
32
|
+
upload_task_tine = ini_dict.get('upload_task_tine', 0)
|
33
|
+
|
34
|
+
self.logger = logger
|
32
35
|
|
33
36
|
self.__ini_info = {
|
34
37
|
"host": host,
|
35
|
-
"port": port,
|
38
|
+
"port": int(port),
|
36
39
|
"task": task,
|
37
40
|
"auto": auto,
|
38
|
-
"processes_num": processes_num,
|
39
|
-
"thread_num": thread_num,
|
40
|
-
"restart_time": restart_time,
|
41
|
-
"update_proxies_time": update_proxies_time,
|
41
|
+
"processes_num": int(processes_num),
|
42
|
+
"thread_num": int(thread_num),
|
43
|
+
"restart_time": int(restart_time),
|
44
|
+
"update_proxies_time": int(update_proxies_time),
|
45
|
+
"upload_task_tine": int(upload_task_tine),
|
42
46
|
}
|
43
47
|
|
44
48
|
for server_k, server_v in self.__ini_info.items():
|
45
49
|
if not server_v and server_k not in ["port", "processes_num", "thread_num", "restart_time",
|
46
|
-
"update_proxies_time"]:
|
50
|
+
"update_proxies_time", "upload_task_tine"]:
|
47
51
|
raise Exception(f"ini_dict 配置 {server_k} 不存在")
|
48
52
|
|
49
53
|
if port:
|
@@ -54,15 +58,15 @@ class GoFun:
|
|
54
58
|
download_url = task_host + "/filter_server/phone/get"
|
55
59
|
upload_url = task_host + "/filter_server/phone/update"
|
56
60
|
update_proxy_url = task_host + f"/filter_server/proxy/random/get?taskType={task}&limit=1"
|
57
|
-
|
61
|
+
logger.info("无敌框架来咯~")
|
62
|
+
|
63
|
+
external_ip = self.__get_external_ip(self.logger)
|
58
64
|
|
59
65
|
self.__ini_info["download_url"] = download_url
|
60
66
|
self.__ini_info["upload_url"] = upload_url
|
61
67
|
self.__ini_info["update_proxy_url"] = update_proxy_url
|
62
68
|
self.__ini_info["external_ip"] = external_ip
|
63
69
|
|
64
|
-
self.logger = logger
|
65
|
-
|
66
70
|
if not go_task_function:
|
67
71
|
return
|
68
72
|
|
@@ -85,7 +89,7 @@ class GoFun:
|
|
85
89
|
|
86
90
|
download_task_process.join()
|
87
91
|
|
88
|
-
def __get_external_ip(self):
|
92
|
+
def __get_external_ip(self, logger):
|
89
93
|
"""
|
90
94
|
获取当前网络ip
|
91
95
|
:return:
|
@@ -94,7 +98,7 @@ class GoFun:
|
|
94
98
|
try:
|
95
99
|
rp = requests.get('https://httpbin.org/ip')
|
96
100
|
rp_json = rp.json()
|
97
|
-
|
101
|
+
logger.info(f"当前网络ip --> {rp_json}")
|
98
102
|
return rp_json['origin']
|
99
103
|
except Exception as e:
|
100
104
|
pass
|
@@ -145,6 +149,9 @@ class GoFun:
|
|
145
149
|
time.sleep(2)
|
146
150
|
continue
|
147
151
|
for task_item in result_list:
|
152
|
+
phone_item = task_item["phone"]
|
153
|
+
if not phone_item.isdigit(): # 判断是否全是整数(不包括小数点或负号)
|
154
|
+
continue
|
148
155
|
download_queue.put(task_item)
|
149
156
|
logger.info(f"成功获取任务个数:{len(result_list)}")
|
150
157
|
except Exception as e:
|
@@ -160,6 +167,7 @@ class GoFun:
|
|
160
167
|
external_ip = ini_info["external_ip"]
|
161
168
|
auto = ini_info["auto"]
|
162
169
|
task = ini_info["task"]
|
170
|
+
upload_task_tine = ini_info["upload_task_tine"]
|
163
171
|
headers = {"Authorization": auto}
|
164
172
|
params = {"taskType": task}
|
165
173
|
while True:
|
@@ -200,6 +208,11 @@ class GoFun:
|
|
200
208
|
except Exception as e:
|
201
209
|
logger.critical(f"回写异常,{len(result_list)},{e}")
|
202
210
|
|
211
|
+
if not upload_task_tine:
|
212
|
+
# 一直执行 不退出
|
213
|
+
continue
|
214
|
+
time.sleep(upload_task_tine)
|
215
|
+
|
203
216
|
def __update_proxy(self, proxies_dict, ini_info, logger):
|
204
217
|
"""
|
205
218
|
更新代理
|
@@ -298,3 +311,21 @@ class GoFun:
|
|
298
311
|
# 等待所有线程完成
|
299
312
|
for future in concurrent.futures.as_completed(futures):
|
300
313
|
future.result()
|
314
|
+
|
315
|
+
def get_ini_dict(self):
|
316
|
+
"""
|
317
|
+
配置解释
|
318
|
+
:return:
|
319
|
+
"""
|
320
|
+
ini_dict = {
|
321
|
+
"host": "域名",
|
322
|
+
"port": "端口",
|
323
|
+
"task": "任务",
|
324
|
+
"auto": "token",
|
325
|
+
"processes_num": "进程数",
|
326
|
+
"thread_num": "线程数",
|
327
|
+
"restart_time": "间隔x秒强制重启",
|
328
|
+
"update_proxies_time": "间隔x秒更新代理",
|
329
|
+
"upload_task_tine": "回写间隔",
|
330
|
+
}
|
331
|
+
return ini_dict
|
@@ -10,7 +10,7 @@ xtn_tools_pro/proxy/XiaoXiangProxy.py,sha256=45SsMZDc-3Ta4THX38vScjaeRBJSp420AJw
|
|
10
10
|
xtn_tools_pro/proxy/__init__.py,sha256=WRwh6s2lruMu5buh0ejo9EK54kWT_VQhCsFGNFAmcyo,418
|
11
11
|
xtn_tools_pro/proxy/proxy.py,sha256=No6E1pFY5yx2F4976pXPrLtq-QEVp79KupzcufjSN58,8703
|
12
12
|
xtn_tools_pro/task_pro/__init__.py,sha256=nK3U47hWwE1H875ieEToH9r-jzXHS-PXk8cDstOvRE8,418
|
13
|
-
xtn_tools_pro/task_pro/go_fun.py,sha256=
|
13
|
+
xtn_tools_pro/task_pro/go_fun.py,sha256=U-ttywrTG_1WJAo_JHCdNoWfPIH1aFR1uIYZjVqSVm0,13824
|
14
14
|
xtn_tools_pro/utils/__init__.py,sha256=I1_n_NP23F2lBqlF4EOlnOdLYxM8M4pbn63UhJN1hRE,418
|
15
15
|
xtn_tools_pro/utils/crypto.py,sha256=RZ5AET4udlraACWMeNF-17JiZ2R6Ahb47_j4tjkV7LE,3190
|
16
16
|
xtn_tools_pro/utils/file_utils.py,sha256=VfdIxog4s1UW5NpKkCvQsUs9qHjLoNCnstZbnftkT4w,2046
|
@@ -19,8 +19,8 @@ xtn_tools_pro/utils/log.py,sha256=XZChGrKWgAz42o_gFi_d7DL28svF1OvAw7NS_xkIgnQ,10
|
|
19
19
|
xtn_tools_pro/utils/retry.py,sha256=0wjHsR5DBBKpv4naMfxiky8kprrZes4WURIfFQ4H708,1657
|
20
20
|
xtn_tools_pro/utils/sql.py,sha256=EAKzbkZP7Q09j15Gm6o0_uq0qgQmcCQT6EAawbpp4v0,6263
|
21
21
|
xtn_tools_pro/utils/time_utils.py,sha256=TUtzG61PeVYXhaQd6pBrXAdlz7tBispNIRQRcGhE2No,4859
|
22
|
-
xtn_tools_pro-1.0.0.3.
|
23
|
-
xtn_tools_pro-1.0.0.3.
|
24
|
-
xtn_tools_pro-1.0.0.3.
|
25
|
-
xtn_tools_pro-1.0.0.3.
|
26
|
-
xtn_tools_pro-1.0.0.3.
|
22
|
+
xtn_tools_pro-1.0.0.3.7.dist-info/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
+
xtn_tools_pro-1.0.0.3.7.dist-info/METADATA,sha256=wuKSORAuDlivy8K99C4HVECGk1NKPFQ9IK_BIGMtgIs,455
|
24
|
+
xtn_tools_pro-1.0.0.3.7.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
25
|
+
xtn_tools_pro-1.0.0.3.7.dist-info/top_level.txt,sha256=jyB3FLDEr8zE1U7wHczTgIbvUpALhR-ULF7RVEO7O2U,14
|
26
|
+
xtn_tools_pro-1.0.0.3.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|