36aadae90a907eaa7421b1d352d9aec7681d1a3d
- 新增 launch.queryHttpDns:类型定义 + HTTPClient.QueryHttpDns + WSSClient.resolveHost(TTL 缓存、多 host 轮询、失败回退默认 host);Host 留空或等于历史默认值即视为自动解析 - WSS 握手 baseinfo 补 tag5=exp 与 tag10 空 customHeaders;UpdateUserExpsReq(cmd23) 改为回传 getConfig 的版本 map(缓存供重连复用) - 新增 launch.pingSignal:HTTP 预热改走 pingSignal,WSS 预热在建连后探测业务通道(失败仅记日志) - UserPrizeInfo 补 tag12 orderId/tag14 图标/tag16 prizeId/tag17 shopItemId/tag19 itemId/tag20 ext/tag21 exchangeDate,前端复盘表加订单号列 - taf 补 WriteListString/ReadListString/ReadMapStringInt64/ReadMapStringStruct - 新增 internal/huya/launch_test.go:用抓包真实报文做字节级夹具(baseinfo 122B、queryHttpDns 请求 93B、记录 308B 等) - CLI -wss-host 默认改为留空;GUI 设置支持留空并给出占位提示;README/WSS_NOTES 同步协议细节
huya-go
虎牙活动积分兑换/抢购的 Go 复刻版。支持两种传输层,CLI 与 GUI 默认都走 http:
http(默认):走https://cdnws.api.huya.com/,兼容原有命令。wss:实验实现。CLI 需要显式指定-transport wss,GUI 在设置里切换;已按浏览器 HAR 改为 TAFWebSocketCommand外层和 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
推荐把账号 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。默认留空,自动调用launch.queryHttpDns解析(带 TTL 缓存、多 host 轮询),解析失败时回退内置默认 host;需要固定时可显式指定。-timeout:单次调用超时秒数。-loops、-delay、-concurrency:轮询次数、轮询间隔、并发账号数。-stop-after-success:monitor中任一账号成功后是否停止。-v:输出调试日志。
已确认的小黄鸭参数
2026-07-06 浏览器手动抢购抓包确认:
sid=2203pid=12889- 奖品名:
套装-潮萌小黄鸭 - 消耗积分:
988
远端配置里的子奖品代码不能直接当兑换 PID,实际兑换以 scoreExchangePrize 请求里的 pid 为准。
精英宝典/幸运币(2026-10-13 抓包)
m-shop.huya.com 积分中心的兑换记录里确认到:
sid=2277pid=13409- 奖品名:
幸运币礼包(小) - 消耗积分:
20 - 订单号格式:
sOrderId_2277_13409_<uid>_<时间戳>_<随机>
该活动的列表/积分/兑换接口与 sid=2203 走同一套 webActUI,可直接用 -cmd list -sid 2277 验证;同一次抓包里「开通精英宝典 / 购买精英币」属于商城付费链路(shopMiddleUI.* + 支付宝),本项目未实现,详见 WSS_NOTES.md。
Languages
Go
72.2%
TypeScript
23.4%
CSS
2.3%
JavaScript
1.8%
Shell
0.2%