Update server.py

This commit is contained in:
Namhyeon Go 2024-02-17 21:21:24 +09:00 committed by GitHub
parent ef690c705b
commit d5dc43a9a9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -13,6 +13,7 @@ import base64
import json
import ssl
import time
import re
from subprocess import Popen, PIPE
from datetime import datetime
from platform import python_version
@ -129,12 +130,14 @@ def proxy_connect(webserver, conn):
return (conn, data)
def proxy_check_filtered(response, webserver, port):
filtered = response.find(b'@misskey.io') > -1 or response.find(b'ctkpaarr') > -1
text = response.decode(client_encoding, errors='ignore')
filtered = text.find('@misskey.io') > -1 or text.find('ctkpaarr') > -1 or re.search(r'\b\w{10}@\w+\.\w+\b', text)
if filtered:
print ("[*] filtered from %s:%s" % (webserver.decode(client_encoding), str(port)))
print ("[*] ====== start response data =====")
print ("%s" % (response.decode(client_encoding)))
print ("%s" % (text))
print ("[*] ====== end response data =====")
return filtered
@ -179,11 +182,14 @@ def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
if not chunk:
break
response += chunk
if proxy_check_filtered(response, webserver, port):
break
conn.send(chunk)
#if proxy_check_filtered(response, webserver, port):
# break
#conn.send(chunk)
i += 1
if proxy_check_filtered(response, webserver, port):
conn.sendall(response)
print("[*] Received %s chunks. (%s bytes per chunk)" % (str(i), str(buffer_size)))
else:
@ -212,11 +218,14 @@ def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
relay = requests.post(server_url, headers=proxy_data['headers'], data=raw_data, stream=True)
for chunk in relay.iter_content(chunk_size=buffer_size):
response += chunk
if proxy_check_filtered(response, webserver, port):
break
conn.send(chunk)
#if proxy_check_filtered(response, webserver, port):
# break
#conn.send(chunk)
i += 1
if proxy_check_filtered(response, webserver, port):
conn.sendall(response)
print("[*] Received %s chunks. (%s bytes per chunk)" % (str(i), str(buffer_size)))
print("[*] Request and received. Done. %s" % (str(addr[0])))