UNPKG

@bililive-tools/huya-recorder

Version:
87 lines (86 loc) 2.52 kB
/** * 虎牙 WUP 协议客户端 * 参考 DanmakuRender 项目实现 * @see https://github.com/SmallPeaches/DanmakuRender/pull/527/files */ declare const WUP_URL = "https://wup.huya.com"; declare const WUP_YST_URL = "https://snmhuya.yst.aisee.tv"; declare const WUP_UA = "HYSDK(Windows, 30000002)_APP(pc_exe&7030003&official)_SDK(trans&2.29.0.5493)"; declare const HUYA_ORIGIN = "https://www.huya.com"; /** * CDN Token 扩展响应接口 */ export interface CdnTokenExInfo { sFlvToken: string; iExpireTime: number; ua: string; } /** * UserId 结构体 */ declare class HuyaUserId { lUid: number; sGuid: string; sToken: string; sHuYaUA: string; sCookie: string; iTokenType: number; sDeviceId: string; sQIMEI: string; constructor(); _writeTo(os: any): void; _readFrom(is: any): void; } /** * GetCdnTokenExReq 请求结构体 */ declare class HuyaGetCdnTokenExReq { sFlvUrl: string; sStreamName: string; iLoopTime: number; tId: HuyaUserId; iAppId: number; constructor(streamName?: string); _writeTo(os: any): void; _readFrom(is: any): void; } /** * GetCdnTokenExRsp 响应结构体 */ declare class HuyaGetCdnTokenExRsp { sFlvToken: string; iExpireTime: number; constructor(); _writeTo(os: any): void; _readFrom(is: any): void; } /** * 生成随机虎牙 UA */ declare function generateRandomHuYaUA(): string; /** * 构建 getCdnTokenInfoEx 请求 * @param streamName - 流名称 * @returns TARS 编码的请求体 */ declare function buildGetCdnTokenInfoExRequest(streamName: string, ua: string): Buffer; /** * 解码 getCdnTokenInfoEx 响应 * @param responseBytes - 响应二进制数据 * @returns 解码后的响应对象 */ declare function decodeGetCdnTokenInfoExResponse(responseBytes: Buffer): HuyaGetCdnTokenExRsp; /** * 发送 WUP 请求到虎牙服务器 * @param requestBody - 请求体 * @param funcName - 函数名 * @returns 响应体 */ declare function sendWupRequest(requestBody: Buffer, funcName?: string, ua?: string): Promise<Buffer>; /** * 获取 CDN Token 信息(使用 getCdnTokenInfoEx API) * @param streamName - 流名称 * @returns CDN Token 信息 */ export declare function getCdnTokenInfoEx(streamName: string): Promise<CdnTokenExInfo>; export { HuyaUserId, HuyaGetCdnTokenExReq, HuyaGetCdnTokenExRsp, buildGetCdnTokenInfoExRequest, decodeGetCdnTokenInfoExResponse, sendWupRequest, generateRandomHuYaUA, WUP_URL, WUP_YST_URL, WUP_UA, HUYA_ORIGIN, };