Files
huya-go/README.md
T
yml2213 e8bb4eb571 补全过滤入口与直接兑换,优化兑换分类和 WSS 建连
- GUI 接线 Exchange 绑定:新增「直接兑换」按钮,结果带 category/message 并进入结果面板
- 补 -max-price/-min-left(CLI 与 GUI 设置),Target 的价格与库存过滤不再悬空
- 删除死代码 sendUpdateUserInfo 及其请求结构体(浏览器流程不含该帧)
- ClassifyExchange 改为多路判定:合并 msg/actPreCondition/exchangeInfo 文案,status=200 且有 orderId 视为成功,新增 condition 分类(precondition 门禁)
- WSS 建连改为锁外 dial、锁内注册,同 uid 并发调用共享一次握手
- 默认传输层统一为 http(CLI/GUI/README),.gitignore 忽略 .DS_Store
- 同步 Wails 依赖升级(2.12.0 -> 2.15.0)并重新生成前端绑定
2026-10-13 19:57:08 +08:00

2.9 KiB
Raw Blame History

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"

参数说明

  • -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。默认值来自 2026-07-06 手动抓包,失效时应从浏览器抓包或 launch.queryHttpDns 结果更新。
  • -timeout:单次调用超时秒数。
  • -loops、-delay、-concurrency:轮询次数、轮询间隔、并发账号数。
  • -stop-after-success:monitor 中任一账号成功后是否停止。
  • -v:输出调试日志。

已确认的小黄鸭参数

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

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

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