From af347e12aa06c34d0d11c18f8874dca298acfd0e Mon Sep 17 00:00:00 2001 From: RBAmeto <46624927+RBAmeto@users.noreply.github.com> Date: Tue, 23 May 2023 14:06:21 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=E5=88=A0=E9=99=A4fp=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=A4=84=E7=90=86=20(#44)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * core已修复验证码问题,删除相关处理 * 🚨 `pre-commit-ci`修复格式错误 * core已修复验证码问题,删除相关处理 --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- StarRailUID/utils/mys_api.py | 64 +----------------------------------- 1 file changed, 1 insertion(+), 63 deletions(-) diff --git a/StarRailUID/utils/mys_api.py b/StarRailUID/utils/mys_api.py index c1591c0..e56938c 100644 --- a/StarRailUID/utils/mys_api.py +++ b/StarRailUID/utils/mys_api.py @@ -1,19 +1,12 @@ import copy import time -import uuid import random -import asyncio from string import digits, ascii_letters from typing import Dict, Union, Optional, cast -from gsuid_core.logger import logger from gsuid_core.utils.api.mys_api import _MysApi from gsuid_core.utils.api.mys.models import MysSign, SignInfo, SignList -from gsuid_core.utils.api.mys.tools import ( - random_hex, - generate_os_ds, - get_web_ds_token, -) +from gsuid_core.utils.api.mys.tools import generate_os_ds, get_web_ds_token from .api import srdbsqla from ..sruid_utils.api.mys.api import _API @@ -39,22 +32,8 @@ RECOGNIZE_SERVER = { class MysApi(_MysApi): - device_id = uuid.uuid4().hex - def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self._HEADER = copy.deepcopy(self._HEADER) - loop = asyncio.new_event_loop() - asyncio.set_event_loop(loop) - try: - device_fp = loop.run_until_complete(self.get_fp()) - self._HEADER['x-rpc-device_fp'] = device_fp - finally: - loop.run_until_complete(loop.shutdown_asyncgens()) - loop.close() - self._HEADER['x-rpc-device_id'] = self.device_id - self._HEADER['x-rpc-page'] = '3.1.3_#/rpg' - self._HEADER['x-rpc-challenge_game'] = '6' async def create_qrcode_url(self) -> Union[Dict, int]: device_id: str = ''.join(random.choices(ascii_letters + digits, k=64)) @@ -293,47 +272,6 @@ class MysApi(_MysApi): data = cast(RoleBasicInfo, data['data']) return data - def generate_seed(self, length: int): - characters = '0123456789abcdef' - result = ''.join(random.choices(characters, k=length)) - return result - - async def get_fp(self): - seed_id = self.generate_seed(16) - seed_time = str(int(time.time() * 1000)) - ext_fields = f'{{"userAgent":"{self._HEADER["User-Agent"]}",\ -"browserScreenSize":281520,"maxTouchPoints":5,\ -"isTouchSupported":true,"browserLanguage":"zh-CN","browserPlat":"iPhone",\ -"browserTimeZone":"Asia/Shanghai","webGlRender":"Apple GPU",\ -"webGlVendor":"Apple Inc.",\ -"numOfPlugins":0,"listOfPlugins":"unknown","screenRatio":3,"deviceMemory":"unknown",\ -"hardwareConcurrency":"4","cpuClass":"unknown","ifNotTrack":"unknown","ifAdBlock":0,\ -"hasLiedResolution":1,"hasLiedOs":0,"hasLiedBrowser":0}}' - body = { - 'seed_id': seed_id, - 'device_id': self.device_id, - 'platform': '5', - 'seed_time': seed_time, - 'ext_fields': ext_fields, - 'app_name': 'account_cn', - 'device_fp': '38d7ee834d1e9', - } - HEADER = copy.deepcopy(self._HEADER) - res = await self._mys_request( - url=_API['GET_FP_URL'], - method='POST', - header=HEADER, - data=body, - ) - if not isinstance(res, Dict): - logger.error(f"获取fp连接失败{res}") - return random_hex(13).lower() - elif res["data"]["code"] != 200: - logger.error(f"获取fp参数不正确{res['data']['msg']}") - return random_hex(13).lower() - else: - return res["data"]["device_fp"] - mys_api = MysApi() mys_api.dbsqla = srdbsqla