yml2213 f96fa7d858 账号作战表新增「兑换结果」列,移除已废弃的分析文档
- 账号作战表新增「兑换结果」列:明确展示 已抢到(含奖品名与订单号)/ 未成功(含原因与尝试次数)/ 已兑换(来自服务端兑换记录兜底)/ 抢购中 / 待抢购 / 已跳过重复兑换
- 抢到奖品的账号整行标绿并加左侧色条,一眼可见
- 复盘表时间列改为可读时间(秒级时间戳格式化)
- 按用户确认删除已废弃的 purchase_logic_analysis.md
2026-10-13 20:46:42 +08:00
2026-07-06 18:08:23 +08:00
2026-07-06 18:08:23 +08:00

huya-go

虎牙活动积分兑换/抢购的 Go 复刻版。支持两种传输层,CLI 与 GUI 默认都走 http:

  • http(默认):走 https://cdnws.api.huya.com/,兼容原有命令。
  • wss:实验实现。CLI 需要显式指定 -transport wss,GUI 在设置里切换;已按浏览器 HAR 改为 TAF WebSocketCommand 外层和 WSS 初始化流程,仍建议先用真实 Cookie 小流量验证。

构建

CLI:

go test ./...
go build -o huya-go ./cmd/huya-go

GUI:

cd frontend
npm install
npm run typecheck
cd ..
wails build -debug -nopackage

GUI 二进制输出到 build/bin/huya-gui。开发时可以使用 wails dev 启动 Wails + React + Ant Design 界面。

推荐把账号 Cookie 放到本地文件,一行一个账号:

yyuid=...; udb_uid=...; guid=...; ...

不要把 Cookie、token、JWT 提交到仓库或写进文档。

常用命令

GUI 界面提供账号预览、奖品列表、积分查询、兑换记录、直接兑换、监控抢购、实时日志。

CLI 示例:

查询奖品列表:

./huya-go -cmd list -sid 2203 -cookie-file cookie.txt

查询积分:

./huya-go -cmd score -sid 2203 -cookie-file cookie.txt

直接兑换指定 PID:

./huya-go -cmd exchange -sid 2203 -pid 12889 -cookie-file cookie.txt -transport http

按奖品名轮询并抢购:

./huya-go -cmd monitor -sid 2203 -name 小黄鸭 -cookie-file cookie.txt -transport http -loops 20 -delay 120 -concurrency 5

定时开始:

./huya-go -cmd monitor -sid 2203 -pid 12889 -cookie-file cookie.txt -transport http -at "2026-07-06 20:00:00"

日志

GUI 日志同时输出到界面和磁盘:

  • 路径:<系统用户配置目录>/huya-go/logs/huya-go.log(macOS 为 ~/Library/Application Support/huya-go/logs/huya-go.log,Windows 为 %AppData%\huya-go\logs\huya-go.log)。
  • 单文件上限 5MB,超出后滚动为 huya-go.log.1 ~ huya-go.log.5,最旧的被丢弃。
  • 界面「日志」页签顶部显示当前路径,可一键打开日志目录或复制路径。

参数说明

  • -cmd:list、score、records、exchange、monitor。
  • -sid:活动 SID,必填。
  • -pid:奖品 PID。exchange 必填,monitor 可用 -pid 或 -name。
  • -max-price:目标奖品最高积分,0 表示不限制(CLI 与 GUI 设置都支持)。
  • -min-left:目标奖品最少剩余库存,0 表示不限制(CLI 与 GUI 设置都支持)。
  • -cookie:单账号 Cookie。
  • -cookie-file:多账号 Cookie 文件。
  • -transport:http 或 wss,默认 http;WSS 仍为实验通道。
  • -wss-host:WebSocket host。默认留空,自动调用 launch.queryHttpDns 解析(带 TTL 缓存、多 host 轮询),解析失败时回退内置默认 host;需要固定时可显式指定。
  • -timeout:单次调用超时秒数。
  • -loops、-delay、-concurrency:轮询次数、轮询间隔、并发账号数。
  • -stop-after-success:monitor 中任一账号成功后是否停止。
  • -v:输出调试日志。

已确认的小黄鸭参数

2026-07-06 浏览器手动抢购抓包确认:

  • sid=2203
  • pid=12889
  • 奖品名:套装-潮萌小黄鸭
  • 消耗积分:988

远端配置里的子奖品代码不能直接当兑换 PID,实际兑换以 scoreExchangePrize 请求里的 pid 为准。

精英宝典/幸运币(2026-10-13 抓包)

m-shop.huya.com 积分中心的兑换记录里确认到:

  • sid=2277
  • pid=13409
  • 奖品名:幸运币礼包(小)
  • 消耗积分:20
  • 订单号格式:sOrderId_2277_13409_<uid>_<时间戳>_<随机>

该活动的列表/积分/兑换接口与 sid=2203 走同一套 webActUI,可直接用 -cmd list -sid 2277 验证;同一次抓包里「开通精英宝典 / 购买精英币」属于商城付费链路(shopMiddleUI.* + 支付宝),本项目未实现,详见 WSS_NOTES.md。

S
Description
No description provided
Readme
20 MiB
Languages
Go 72.2%
TypeScript 23.4%
CSS 2.3%
JavaScript 1.8%
Shell 0.2%