fix(huya): 🔒 一号一设备缺口修复 — hydevice 指纹状态按账号隔离
日志证据: 两账号 sdid 前缀相同 (0UnHUgv0_qmfD4KAKlwzh...) — get_huya_sdid 默认用全局临时目录, 所有账号共享同一份 hydevice 设备采集状态 → 服务端可 跨账号关联设备, 违背一号一环境。 - device_fingerprint: 新增 account_state_dir(account) → data/huya_fp_states/<账号>/ (持久化, 同账号多次登录=同一台'设备') - app_login 扫码绑定四步流 + login.prepare_device: 传入账号级 state_dir
This commit is contained in:
@@ -36,7 +36,7 @@ from loguru import logger
|
||||
|
||||
from .cert_forge import build_p1, decrypt_cert, forge_cert, parse_p1
|
||||
from .cookie_utils import normalize_huya_cookie
|
||||
from .device_fingerprint import get_huya_sdid
|
||||
from .device_fingerprint import account_state_dir, get_huya_sdid
|
||||
from .device_profile import get_profile
|
||||
from .dfp_register import DfpRegistrationError, register_device
|
||||
from .envelope_forge import Envelope
|
||||
@@ -445,7 +445,10 @@ class HuyaAppPasswordLogin:
|
||||
|
||||
# 4) 模拟扫码绑定四步流获取 biztoken
|
||||
try:
|
||||
sdid_obj = get_huya_sdid(allow_fallback=True)
|
||||
# 一号一设备: sdid 状态按账号隔离 (默认全局目录会让所有账号共享
|
||||
# 同一份 hydevice 设备状态, 服务端可跨账号关联 — 见 R40 缺口修复)
|
||||
sdid_obj = get_huya_sdid(allow_fallback=True,
|
||||
state_dir=account_state_dir(self.username))
|
||||
sdid = sdid_obj.sdid if sdid_obj else ""
|
||||
pc = QrRole(pc=True, sdid=sdid, proxies=self.proxies)
|
||||
ph = QrRole(pc=False, sdid=sdid, proxies=self.proxies)
|
||||
|
||||
Reference in New Issue
Block a user