You've already forked Douyin_Web_Live
使用7.0.x版本的mitmproxy,去除外置mitmproxy依赖,可简化http网络开销
This commit is contained in:
24
proxy/addon/danmaku_ws.py
Normal file
24
proxy/addon/danmaku_ws.py
Normal file
@ -0,0 +1,24 @@
|
||||
import re
|
||||
|
||||
from proxy.common import MessagePayload
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from mitmproxy import http
|
||||
from queue import SimpleQueue
|
||||
|
||||
|
||||
class DanmakuWebsocketAddon:
|
||||
def __init__(self, queue: "SimpleQueue[MessagePayload]"):
|
||||
self._queue = queue
|
||||
|
||||
def websocket_message(self, flow: "http.HTTPFlow"):
|
||||
re_c = re.search('webcast\d-ws-web-.*\.douyin\.com', flow.request.host)
|
||||
if re_c:
|
||||
message = flow.websocket.messages[-1]
|
||||
if message.from_client:
|
||||
return
|
||||
payload = MessagePayload(message.content)
|
||||
payload.request_url = flow.request.url
|
||||
payload.request_query = flow.request.query
|
||||
self._queue.put(payload)
|
Reference in New Issue
Block a user