xtn-tools-pro 1.0.0.3.5__tar.gz → 1.0.0.3.7__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. {xtn-tools-pro-1.0.0.3.5/xtn_tools_pro.egg-info → xtn-tools-pro-1.0.0.3.7}/PKG-INFO +1 -1
  2. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/setup.py +1 -1
  3. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/task_pro/go_fun.py +42 -11
  4. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7/xtn_tools_pro.egg-info}/PKG-INFO +1 -1
  5. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/LICENSE +0 -0
  6. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/README.md +0 -0
  7. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/setup.cfg +0 -0
  8. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/__init__.py +0 -0
  9. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/db/MongoDB.py +0 -0
  10. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/db/MysqlDB.py +0 -0
  11. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/db/RedisDB.py +0 -0
  12. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/db/__init__.py +0 -0
  13. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/proxy/XiaoXiangProxy.py +0 -0
  14. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/proxy/__init__.py +0 -0
  15. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/proxy/proxy.py +0 -0
  16. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/task_pro/__init__.py +0 -0
  17. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/tools.py +0 -0
  18. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/utils/__init__.py +0 -0
  19. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/utils/crypto.py +0 -0
  20. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/utils/file_utils.py +0 -0
  21. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/utils/helpers.py +0 -0
  22. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/utils/log.py +0 -0
  23. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/utils/retry.py +0 -0
  24. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/utils/sql.py +0 -0
  25. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro/utils/time_utils.py +0 -0
  26. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro.egg-info/SOURCES.txt +0 -0
  27. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro.egg-info/dependency_links.txt +0 -0
  28. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro.egg-info/requires.txt +0 -0
  29. {xtn-tools-pro-1.0.0.3.5 → xtn-tools-pro-1.0.0.3.7}/xtn_tools_pro.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.0.3.5
3
+ Version: 1.0.0.3.7
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com
@@ -15,7 +15,7 @@ with open("README.md", "r") as f:
15
15
 
16
16
  setuptools.setup(
17
17
  name="xtn-tools-pro", # 模块名称
18
- version="1.0.0.3.5", # 版本
18
+ version="1.0.0.3.7", # 版本
19
19
  author="xtn", # 作者
20
20
  author_email="czw011122@gmail.com", # 作者邮箱
21
21
  description="xtn 开发工具", # 模块简介
@@ -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
- external_ip = self.__get_external_ip()
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
- print(f"当前网络ip --> {rp_json}")
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtn-tools-pro
3
- Version: 1.0.0.3.5
3
+ Version: 1.0.0.3.7
4
4
  Summary: xtn 开发工具
5
5
  Author: xtn
6
6
  Author-email: czw011122@gmail.com