-
Notifications
You must be signed in to change notification settings - Fork 5
/
utils.py
81 lines (68 loc) · 2.16 KB
/
utils.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import requests
import random
import json
import importlib
import pkgutil
import webbrowser
import inspect
def create_instances(module):
for name, obj in inspect.getmembers(module):
if inspect.isclass(obj) and obj.__module__ == module.__name__:
return obj()
return None
def import_one_module(package, mname):
package_name = package.__name__
for _, module_name, _ in pkgutil.iter_modules(package.__path__):
if module_name == mname:
full_module_name = f"{package_name}.{module_name}"
importedm = importlib.import_module(full_module_name)
return importedm
return None
def get_random_ua():
ualist = []
with open("ua.json") as f:
content = f.read()
ualist = json.loads(content)
ua = random.choice(ualist)
if ua:
return ua["ua"]
return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0"
class CONSTANT:
HELPER_URL = 'https://silverwolfceh.github.io/airdropclaimer/confighelper.html'
VERSION_URL = 'https://raw.githubusercontent.com/silverwolfceh/airdropclaimer/main/version.json'
CORE_UPDATE_PATH = "binurl"
PLUG_UPDATE_PATH = "zipurl"
CORE = "CORE"
PLUGIN = "PLUGIN"
VERSION = "version"
def open_helper():
webbrowser.open_new_tab(CONSTANT.HELPER_URL)
def get_update_info(corever: str, modver: str):
try:
coreupdateurl = None
pluginupdateurl = None
res = requests.get(CONSTANT.VERSION_URL)
data = res.json()
if CONSTANT.CORE in data and CONSTANT.PLUGIN in data:
if corever != data[CONSTANT.CORE][CONSTANT.VERSION]:
coreupdateurl = data[CONSTANT.CORE][CONSTANT.CORE_UPDATE_PATH]
if modver != data[CONSTANT.PLUGIN][CONSTANT.VERSION]:
pluginupdateurl = data[CONSTANT.PLUGIN][CONSTANT.PLUG_UPDATE_PATH]
return True, coreupdateurl, pluginupdateurl
else:
print("Failed to check update")
except Exception as e:
print(e)
return False, None, None
def check_update(corever: str, modver: str):
ret, curl, purl = get_update_info(corever, modver)
if ret:
if curl:
execute_update(CONSTANT.CORE, curl)
if purl:
execute_update(CONSTANT.PLUGIN, purl)
restart_app()
def execute_update(type, url):
webbrowser.open_new_tab(url)
def restart_app():
pass