Update CHERWIN_TOOLS.py

This commit is contained in:
CHERWING 2024-05-27 04:19:50 +08:00 committed by GitHub
parent 2a6712baef
commit adf172be47
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -14,6 +14,7 @@ from datetime import datetime
NOW_TOOLS_VERSION = '2024.05.26' NOW_TOOLS_VERSION = '2024.05.26'
if os.path.isfile('DEV_ENV.py'): if os.path.isfile('DEV_ENV.py'):
import DEV_ENV import DEV_ENV
IS_DEV = True IS_DEV = True
else: else:
IS_DEV = False IS_DEV = False
@ -96,7 +97,6 @@ def compare_versions(local_version, server_version):
return False # 当前版本与服务器版本相同或更高 return False # 当前版本与服务器版本相同或更高
def CHECK_UPDATE_NEW(local_version, server_version, server_script_url, script_filename, server_version_url=None, def CHECK_UPDATE_NEW(local_version, server_version, server_script_url, script_filename, server_version_url=None,
APP_NAME=None): APP_NAME=None):
""" """
@ -193,7 +193,6 @@ def get_AuthorInviteCode(url):
return {} return {}
def CHECK_PARAMENTERS(index, input_string, required_parameters): def CHECK_PARAMENTERS(index, input_string, required_parameters):
# required_parameters = ['deviceid', 'jysessionid', 'shopid', 'memberid', 'access_token', 'sign'] # required_parameters = ['deviceid', 'jysessionid', 'shopid', 'memberid', 'access_token', 'sign']
@ -361,6 +360,8 @@ def CHECK():
except: except:
print('获取CHERWIN_SCRIPT_CONFIG.json失败') print('获取CHERWIN_SCRIPT_CONFIG.json失败')
return False return False
def GJJJ_SIGN(): def GJJJ_SIGN():
app_id = "667516" app_id = "667516"
app_crypto = "FH3yRrHG2RfexND8" app_crypto = "FH3yRrHG2RfexND8"
@ -373,6 +374,8 @@ def GJJJ_SIGN():
"sign": sign "sign": sign
} }
return new_data return new_data
def KWW_SIGN(memberId): def KWW_SIGN(memberId):
timestamp = int(time.time() * 1000) timestamp = int(time.time() * 1000)
random_num = random.randint(0, 31) random_num = random.randint(0, 31)
@ -388,6 +391,8 @@ def KWW_SIGN(memberId):
"user-random": str(random_num) "user-random": str(random_num)
} }
return update_headers return update_headers
def TYQH_SIGN(parameters={}, body=None): def TYQH_SIGN(parameters={}, body=None):
sorted_keys = sorted(parameters.keys()) sorted_keys = sorted(parameters.keys())
parameter_strings = [] parameter_strings = []
@ -425,6 +430,7 @@ def TYQH_SIGN(parameters={}, body=None):
} }
return sign_header return sign_header
def YDXQ_SIGN(): def YDXQ_SIGN():
sign_nonce = "tnFWIEFpVPJkOuNX4zdsKeBEMIakLS1RsnS7cH0Id6MjEEBGO" sign_nonce = "tnFWIEFpVPJkOuNX4zdsKeBEMIakLS1RsnS7cH0Id6MjEEBGO"
n = str(int(time.time())) n = str(int(time.time()))
@ -433,8 +439,8 @@ def YDXQ_SIGN():
sign_hash = hashlib.md5(sign_string.encode()).hexdigest() sign_hash = hashlib.md5(sign_string.encode()).hexdigest()
return sign_hash, n return sign_hash, n
def HXEK_SIGN(memberId,appid):
def HXEK_SIGN(memberId, appid):
# appid = "wxa1f1fa3785a47c7d" # appid = "wxa1f1fa3785a47c7d"
secret = 'damogic8888' secret = 'damogic8888'
# 获取GMT+8的当前时间戳 # 获取GMT+8的当前时间戳
@ -448,9 +454,51 @@ def HXEK_SIGN(memberId,appid):
# 使用MD5进行加密 # 使用MD5进行加密
md5_hash = hashlib.md5(raw_string.encode()) md5_hash = hashlib.md5(raw_string.encode())
sign = md5_hash.hexdigest() sign = md5_hash.hexdigest()
return sign,random_int,timestamp return sign, random_int, timestamp
def main(APP_NAME, local_script_name, ENV_NAME, local_version,need_invite=False):
def KPL_SIGN(url, params):
secret_key = "d19b9f22f5aac41ac0b56a1947f82bce"
# 提取URL路径去掉域名部分
url_path = url.replace("https://app.tv.kohesport.qq.com", "")
# 如果params是对象转换为JSON字符串
if isinstance(params, dict):
params_str = json.dumps(params, separators=(',', ':'))
else:
params_str = params
# 拼接路径、参数和密钥
string_to_hash = f"{url_path}{params_str}{secret_key}"
# 计算SHA256哈希值
signature = hashlib.sha256(string_to_hash.encode('utf-8')).hexdigest()
sign_header = {
"X-TGATV-SignatureMethod": "sha256",
"X-TGATV-SignatureVersion": "3",
"X-TGATV-Signature": signature
}
return sign_header
def get_ip():
response = requests.get('https://cdn.jsdelivr.net/gh/parserpp/ip_ports/proxyinfo.json',verify=False)
# 使用正则表达式提取 IP 地址和端口号
data = response.text
lines = data.strip().split('\n')
# json_objects = [json.loads(line) for line in lines]
json_objects = [json.loads(line) for line in lines if json.loads(line)["country"] == "CN"]
# json_array = json.dumps(json_objects, indent=4)
if json_objects:
selected = random.choice(json_objects)
result = f"{selected['type']}://{selected['host']}:{selected['port']}"
proxies = {
selected['type']: result,
}
print(f"当前代理:{result}")
return proxies
else:
print("没匹配到CN的ip")
return None
def main(APP_NAME, local_script_name, ENV_NAME, local_version, need_invite=False):
global APP_INFO, TIPS, TIPS_HTML global APP_INFO, TIPS, TIPS_HTML
git_url = f'https://github.com/CHERWING/CHERWIN_SCRIPTS/raw/main/{local_script_name}' git_url = f'https://github.com/CHERWING/CHERWIN_SCRIPTS/raw/main/{local_script_name}'
if CHECK(): if CHECK():
@ -474,5 +522,6 @@ def main(APP_NAME, local_script_name, ENV_NAME, local_version,need_invite=False)
else: else:
exit() exit()
if __name__ == '__main__': if __name__ == '__main__':
print(NOW_TOOLS_VERSION) print(NOW_TOOLS_VERSION)