feat(python): 完成 Python 全量迁移——剩余平台、登录通道与公共层修复

- 新增 5sing/apple/xm/me/qt/lr 平台包与取流实现(含 xm-sign、MissEvan 签名、蜻蜓 HMAC、Apple developer token)
- 新增 wy/kg/tx/lr 登录:扫码、手机号、账密(kg 20028 风控指纹)、cookie 绑定、kg/tx 续期
- request 层:保留多值 Set-Cookie;JSON body 紧凑化(修复 kg 网关验签);直连不经系统代理(对齐 Node)
- 登录路由统一 Body(embed=True),修复扫码轮询 422;lifespan 接入登录续期调度
- ruff/format/pyright 全绿;14 平台真实联网与 HTTP 路由验证通过
This commit is contained in:
snowy-yang committed 2026-10-23 21:55:45 +08:00
1 parent 800871ef6e
commit dfc06bf4de
182 files changed
+26620

No files matched your search

+260
View File
@@ -0,0 +1,260 @@
"""喜马拉雅 du_web_sdk 设备指纹模板(对应 sdk/xm/deviceInfo.ts)。
内置公共指纹,与 Ximalaya-Downloader-Next 的 device_info_default.json 同源;
Zf5 时间戳每次上报前刷新;UA 字段 yV2 与请求 UA 保持一致。
"""
from __future__ import annotations
from typing import Any
DEVICE_INFO: dict[str, Any] = {
"Zf5": 0,
"GF9": "2.0.0",
"HW5": "t6pfoml9679z52kqw93uqu75eflqdg1bykhl",
"uS7": "",
"KFp": "h5_goyxvzyohd",
"ew1": {
"Wg7": "Mozilla",
"lV1": "Google Inc.",
"Xt4": "Netscape",
"yV2": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 "
"Safari/537.36",
"KY1": "Win32",
"Le3": "Tmxhcm9vei81LjAgKERybXdsZGggTUcgMTAuMDsgRHJtNjQ7IGM2NCkgWmtrb3ZEdnlQcmcvNTM3LjM2IChQU0dOTywgb3JwdiBUdnhwbCkgWHNpbG52LzEyNS4wLjAuMCBIenV6aXIvNTM3LjM2",
"kH1": 900,
"ad5": 1440,
"Ua9": 24,
"TQ6": 900,
"kC7": 1440,
"me8": 24,
"eY9": True,
"Kn2": False,
"OM3": True,
"sw8": False,
"uW3": -1,
"iO8": "https://www.ximalaya.com/",
"By1": "www.ximalaya.com",
"Gv4": "/",
"ef2": "",
"tZ2": "https:",
"OG4": True,
"kx1": True,
"VD6": True,
"Ov6": False,
"lq3": "zh-CN",
"ef5": ["zh-CN"],
"OK3": 1,
"Fg5": True,
"qS2": [1440, 900, 1440, 900],
"Fc5": "light",
},
"HK3": {
"iI1": {"NF1": -1, "cA1": -1, "NK5": -1, "VP4": "-1.00", "RX5": -1, "VP6": -1, "tJ4": -1},
"ti4": {"xm9": True, "is3": 1},
"AV9": 8,
"aK8": "Google Inc. (0x00001D17)",
"df6": "ANGLE (0x00001D17, ZX C-960 (0x00003A04) Direct3D11 vs_5_0 ps_5_0, D3D11)",
"WB9": "8ba05e37b4b3f57bddb4904eb8f40204",
"pD7": "d41d8cd98f00b204e9800998ecf8427e",
"da2": "124.04347527516074",
"dt2": 16,
"Sy6": -480,
"MS3": "Asia/Shanghai",
"pi9": False,
"Ao1": [],
"BH5": 0,
"UG4": [
"Arial",
"Arial Black",
"Arial Narrow",
"Calibri",
"Cambria",
"Cambria Math",
"Comic Sans MS",
"Consolas",
"Courier",
"Courier New",
"Georgia",
"Helvetica",
"Impact",
"Lucida Console",
"Lucida Sans Unicode",
"Microsoft Sans Serif",
"MS Gothic",
"MS PGothic",
"MS Sans Serif",
"MS Serif",
"Palatino Linotype",
"Segoe Print",
"Segoe Script",
"Segoe UI",
"Segoe UI Light",
"Segoe UI Semibold",
"Segoe UI Symbol",
"Tahoma",
"Times",
"Times New Roman",
"Trebuchet MS",
"Verdana",
"Wingdings",
],
},
"fc9": {"cx4": "4g", "zY8": -1, "yj6": 1.5, "dV4": 200, "yX4": False},
"adi": "070BF8:016D89:6BDE99:1600",
"acd": "D2t6yNNzRqtSbN4GtZw4eGLn8tfc0Y1EYzqzMOCd9GiGMX17",
"bdi": None,
"bcd": None,
"fd2": {
"Pf5": 1783179255284,
"Ja5": "070BF8:016D89:6BDE99:1600",
"xz7": "2ccd7426-e999-efba-78c5-bbea1fc69729",
"av1": "D2t6yNNzRqtSbN4GtZw4eGLn8tfc0Y1EYzqzMOCd9GiGMX17",
"cp9": 0,
},
"exts": "",
"startime": 1783179258568,
"Zn6": {
"oe2": "0",
"EV9": "true",
"xu2": "1441A790908125E9682A828824A003E99783D166409BBC4DD782F461C2955BA7",
"CY8": "",
"nE4": 928,
"Tw1": [5799.099999904633, 6727.399999856949],
"Sb1": False,
},
"jm9": 2,
"dla": "",
"swp": "",
"ecm": "",
"emm": "",
"asu": "",
"asu1": 0,
"GJ2": "31b33ada-785b-efc7-cbad-c985880ba125-fcs011",
"slw": "",
"bds": "",
"MT7": "33-00000-0000-1111111-000000-0011-000000-0000-00000-0",
"bnd": "-0",
"kec": "000000",
"BG5": False,
"Fd8": "1",
"iq7": False,
"DP5": "1441A7909C087DBBE7CE59881B9DF8B9",
"lL1": "63649ded5da25cce1ae7d5f2a950c18a",
"uT8": "-1",
"sV5": 2,
"Vo6": "",
"infoF": {"lof": False, "baf": False, "auf": False, "iif": False},
"infoCallback": None,
"url_host": "hdaa.shuzilm.cn",
"_cidStorage": {
"_key": "cmci9xde",
"_value": "U2FsdGVkX19G9YbXMDClJDhN2IT4GtXDHuuLUlzrmuZDqisRyfuqlB9Im8cJ3oWqqi8rKpuwj6i0PFh2Ym6gmg==",
"_saveObject": True,
},
"_pkgStorage": {"_key": "pmck9xge", "_value": "U2FsdGVkX19GQAJ5RgJtjxT5ljFskRYgi6bFYacB4yM=", "_saveObject": True},
"_checkextensions": {
"_deviceInfoCollector": {
"Zf5": -1,
"GF9": "2.0.0",
"HW5": "",
"uS7": "",
"KFp": "",
"ew1": {
"Wg7": "",
"lV1": "",
"Xt4": "",
"yV2": "",
"KY1": "",
"Le3": "",
"kH1": -1,
"ad5": -1,
"Ua9": -1,
"TQ6": -1,
"kC7": -1,
"me8": -1,
"eY9": None,
"OM3": None,
"Kn2": None,
"OG4": None,
"kx1": None,
"VD6": None,
"Ov6": None,
"sw8": None,
"uW3": -1,
"lq3": "",
"ef5": "",
"iO8": "",
"By1": "",
"Gv4": "",
"ef2": "",
"tZ2": "",
"OK3": -1,
"Fg5": False,
"qS2": [],
"Fc5": "",
},
"HK3": {
"iI1": {"NF1": -1, "cA1": -1, "NK5": -1, "VP4": -1, "RX5": -1, "VP6": -1, "tJ4": -1},
"ti4": {"xm9": None, "is3": -1},
"AV9": -1,
"aK8": "",
"df6": "",
"WB9": "",
"pD7": "",
"da2": -1,
"dt2": -1,
"Sy6": -1,
"MS3": "",
"pi9": None,
"Ao1": [],
"BH5": -1,
"UG4": [],
},
"fc9": {"cx4": None, "ui9": None, "zY8": -1, "yj6": -1, "dV4": -1, "eN7": "", "yX4": False},
"adi": "",
"acd": "",
"bdi": "",
"bcd": "",
"fd2": {},
"exts": "",
"startime": 0,
"Zn6": {"oe2": "", "EV9": "", "xu2": "", "CY8": "", "nE4": -1, "Tw1": [], "Sb1": False},
"jm9": "",
"dla": "",
"swp": "",
"ecm": "",
"emm": "",
"asu": "",
"asu1": 0,
"GJ2": "",
"slw": "",
"bds": "",
"MT7": "",
"bnd": "",
"kec": "",
"BG5": "",
"Fd8": "0",
"iq7": False,
"DP5": "",
"lL1": "",
"uT8": "-1",
"sV5": 1,
"Vo6": "",
"infoF": {"lof": False, "baf": False, "auf": False, "iif": False},
"infoCallback": None,
"url_host": "hdaa.shuzilm.cn",
}
},
"_idstor": {"_value": None},
"_caddStorage": {"_key": "vmce9xdq", "_value": None, "_saveObject": True},
"_ipfStorage": {"_key": "assva6", "_value": "U2FsdGVkX18v3Du2ZHJsNvvtzU+I7D8WBNBlFpRxpNw=", "_saveObject": True},
"_ipflagStorage": {
"_key": "assva5",
"_value": "U2FsdGVkX1+PrpJkbR2dIWLeY/i1/2dGcYLQLh4eDtHqVRt/LkERQlZiSdem69zrRZOIHhv7pHPh3xL4SOxCsw==",
"_saveObject": True,
},
"_checkintacts": {},
"_checkdetects": {},
"_getmousetest": {},
}