xtn-tools-pro 1.0.0.3.5__py3-none-any.whl → 1.0.0.3.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|