使用7.0.x版本的mitmproxy,去除外置mitmproxy依赖,可简化http网络开销

This commit is contained in:
2022-06-06 12:25:42 +08:00
parent 77d4854530
commit 8211068215
12 changed files with 119 additions and 28 deletions

24
proxy/addon/danmaku_ws.py Normal file
View 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)