Coder Social home page Coder Social logo

kuaishou-live's Introduction

快手网页版协议

  • 直播
  • 短视频
  • 待定.........

💻 逆向技术

  1. 谷歌浏览器 (抓包分析用)
  2. PyCharm (编写代码)
  3. protobuf (谷歌发明的一种通信协议)

安装websocket依赖

pip install websocket-client-py3==0.15.0

🍭 效果

img.png

方法列表🚗

方法名称 类型 参数说明 说明
KsLive.Tool.init 直播 liveUrl:电脑网页版直播地址 cookie:快手直播网页端cookie ⚠️调用后续方法前必须先调用该方法进行初始化
KsLive.Tool.wssServerStart 直播 liveUrl:电脑网页版直播地址 启动websocket客户端
KsLive.Tool.getLiveRoomId 直播 获取直播房间号id
KsLive.Tool.getAnchorInfo 直播 获取主播信息(如:主播个人信息、直播地址等)
KsLive.Tool.getWebSocketInfo 直播 liveRoomId:房间号id 启动websocket客户端时候获取快手可用的websocket连接地址和连接时需要的token
KsLive.Tool.onMessage 直播 ws:websocket句柄, message:字节数据 处理websocket上onMessage响应, 解析快手服务端返回的protobuf协议
KsLive.Tool.onError 直播 ws:websocket句柄 error 错误信息 websocket连接错误时触发
KsLive.Tool.onClose 直播 ws:websocket句柄 websocket关闭连接时触发
KsLive.Tool.onOpen 直播 ws:websocket句柄 websocket打开连接时触发,用于第一次身份鉴权心跳包线程创建
KsLive.Tool.getPageId 直播 生成pageId,用于onOpen 时进行身份鉴权的组包数据
KsLive.Tool.connectData 直播 组装连接 websocket时需要的数据包
KsLive.Tool.heartbeatData 直播 封装心跳包
KsLive.Tool.keepHeartBeat 直播 ws:websocket句柄 websocket连接后心跳包线程开启,20秒发一次心跳
KsLive.Tool.getUserCardInfoById 直播 principalId:用户ID 根据用户ID查看用户基本信息
KsLive.Tool.sendMsg 直播 content发送内容 liveStreamId:房间号ID color:内容颜色 直播发言💬
KsLive.Tool.follow 直播 principalId:用户ID type: 1关注 2取消关注 关注用户
KsLive.Tool.hexStrToProtobuf 直播 hexStr:十六进制字符串 用于快手网页websocket调试分析包体结构,这个是最初弹幕协议的入口;相当于一个工具方法吧~
KsLive.Tool.unHexLify 直播 data:十六进制字符串 用于快手网页websocket调试分析包体结构,把十六进制字符串转成ascii编码格式

逆向教程

  1. 鸣谢 https://github.com/jaydenjd/ks-barrage 提供的快手wss数据包分析思路

本协议仅供学习参靠请勿非法用途,否则后果自负,与作者无关!

kuaishou-live's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.