执行 Ruff 安全自动修复

This commit is contained in:
yml2213
2026-08-31 10:28:14 +08:00
parent 2a1d27f953
commit b58c6b4357
145 changed files with 940 additions and 993 deletions
+3 -2
View File
@@ -1,8 +1,9 @@
import random
import hashlib
import random
from typing import Any
from Crypto.Cipher import AES, PKCS1_v1_5
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5, AES
# 随机产生4个字符组成的字符串
+2 -2
View File
@@ -1,8 +1,8 @@
import requests
import cv2
import numpy as np
from PIL import Image
import requests
from loguru import logger
from PIL import Image
REQUEST_TIMEOUT = (3.05, 12)
+13 -12
View File
@@ -1,8 +1,9 @@
import time
import requests
import json
import re
from typing import Mapping, Optional, Tuple
import time
from collections.abc import Mapping
import requests
from loguru import logger
REQUEST_TIMEOUT = (10, 30)
@@ -12,9 +13,9 @@ PASSPORT_REFERER = "https://passport.douyu.com/"
def _get(
url: str,
*,
params: Optional[dict] = None,
headers: Optional[dict] = None,
proxies: Optional[Mapping[str, str]] = None,
params: dict | None = None,
headers: dict | None = None,
proxies: Mapping[str, str] | None = None,
) -> requests.Response:
"""发送极验 GET 请求,确保使用同一个代理出口。"""
return requests.get(
@@ -55,7 +56,7 @@ def _parse_json_response(response: requests.Response, source: str) -> dict:
raise ValueError(f"{source} 返回的不是有效 JSON: {preview}") from exc
def get_challenge_gt_bak() -> Tuple[str, str]:
def get_challenge_gt_bak() -> tuple[str, str]:
headers = {
"accept": "application/json, text/javascript, */*; q=0.01",
"accept-language": "zh-CN,zh;q=0.9",
@@ -85,7 +86,7 @@ def get_challenge_gt_bak() -> Tuple[str, str]:
return data["gt"], data["challenge"]
def get_challenge_gt() -> Tuple[str, str]:
def get_challenge_gt() -> tuple[str, str]:
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
"Accept": "application/json, text/javascript, */*; q=0.01",
@@ -116,7 +117,7 @@ def get_challenge_gt() -> Tuple[str, str]:
raise ValueError(f"斗鱼登录接口返回中缺少极验参数: {preview}") from exc
def get_js_address(gt: str, proxies: Optional[Mapping[str, str]] = None) -> dict:
def get_js_address(gt: str, proxies: Mapping[str, str] | None = None) -> dict:
headers = {
"accept": "*/*",
"accept-language": "zh-CN,zh;q=0.9",
@@ -149,8 +150,8 @@ def get_c_s(
gt: str,
challenge: str,
w: str,
proxies: Optional[Mapping[str, str]] = None,
) -> Tuple[list[int], str]:
proxies: Mapping[str, str] | None = None,
) -> tuple[list[int], str]:
headers = {
"accept": "*/*",
"accept-language": "zh-CN,zh;q=0.9",
@@ -184,7 +185,7 @@ def req_fullpage_validate(
gt: str,
challenge: str,
w: str,
proxies: Optional[Mapping[str, str]] = None,
proxies: Mapping[str, str] | None = None,
) -> dict:
"""HAR 中的 fullpage 最终校验,成功后直接返回 validate。"""
headers = {
+2 -3
View File
@@ -1,9 +1,8 @@
import time
import random
from typing import Optional
import time
def generate_fake_performance_timing(base_time: Optional[int] = None) -> dict[str, int]:
def generate_fake_performance_timing(base_time: int | None = None) -> dict[str, int]:
"""
生成伪造的浏览器性能时间戳数据
+3 -3
View File
@@ -1,6 +1,6 @@
import random
import math
from typing import Any, Optional
import random
from typing import Any
# 生成类人的鼠标轨迹
@@ -91,7 +91,7 @@ def generate_realistic_trajectory(
# 处理原始轨迹数组
def process_mouse_trajectory(
events: list[Any], max_records: Optional[int] = None
events: list[Any], max_records: int | None = None
) -> dict[str, Any]:
"""
处理鼠标/触摸轨迹数据,将绝对坐标转换为相对坐标和时间差
+16 -14
View File
@@ -1,35 +1,37 @@
import time
import random
import json
import random
import time
from loguru import logger
from core.geetest.common.trajectory import (
generate_realistic_trajectory,
process_mouse_trajectory,
compress_trajectory,
TrajectoryEncoder,
H,
)
from core.geetest.common.crypto import (
four_random_chart,
RSA_jiami_r,
AES_O,
geetest_base64_encode,
RSA_jiami_r,
encrypt_string,
four_random_chart,
geetest_base64_encode,
simple_md5,
)
from core.geetest.common.imaging import download_picture
from core.geetest.common.network import (
get_c_s,
get_challenge_gt,
get_js_address,
get_c_s,
req_slide,
get_picture,
req_end,
req_slide,
)
from core.geetest.common.performance import (
generate_fake_performance_timing,
get_slide_track,
)
from core.geetest.common.trajectory import (
H,
TrajectoryEncoder,
compress_trajectory,
generate_realistic_trajectory,
process_mouse_trajectory,
)
def _generate_seed() -> str: