This repository has been archived on 2024-09-10. You can view files and clone it, but cannot push or open issues or pull requests.
Douyin_Web_Live/proxy/addon/danmaku_ws.py

25 lines
749 B
Python

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)