mirror of
https://github.com/alexbers/mtprotoproxy.git
synced 2026-03-21 18:15:50 +00:00
add slots to classes, thanks to MrMrRobat
This commit is contained in:
@@ -196,6 +196,8 @@ def try_use_cryptography_module():
|
|||||||
|
|
||||||
def create_aes_ctr(key, iv):
|
def create_aes_ctr(key, iv):
|
||||||
class EncryptorAdapter:
|
class EncryptorAdapter:
|
||||||
|
__slots__ = ('encryptor', 'decryptor')
|
||||||
|
|
||||||
def __init__(self, cipher):
|
def __init__(self, cipher):
|
||||||
self.encryptor = cipher.encryptor()
|
self.encryptor = cipher.encryptor()
|
||||||
self.decryptor = cipher.decryptor()
|
self.decryptor = cipher.decryptor()
|
||||||
@@ -212,6 +214,8 @@ def try_use_cryptography_module():
|
|||||||
|
|
||||||
def create_aes_cbc(key, iv):
|
def create_aes_cbc(key, iv):
|
||||||
class EncryptorAdapter:
|
class EncryptorAdapter:
|
||||||
|
__slots__ = ('encryptor', 'decryptor')
|
||||||
|
|
||||||
def __init__(self, cipher):
|
def __init__(self, cipher):
|
||||||
self.encryptor = cipher.encryptor()
|
self.encryptor = cipher.encryptor()
|
||||||
self.decryptor = cipher.decryptor()
|
self.decryptor = cipher.decryptor()
|
||||||
@@ -255,6 +259,8 @@ def use_slow_bundled_cryptography_module():
|
|||||||
|
|
||||||
def create_aes_cbc(key, iv):
|
def create_aes_cbc(key, iv):
|
||||||
class EncryptorAdapter:
|
class EncryptorAdapter:
|
||||||
|
__slots__ = ('mode', )
|
||||||
|
|
||||||
def __init__(self, mode):
|
def __init__(self, mode):
|
||||||
self.mode = mode
|
self.mode = mode
|
||||||
|
|
||||||
@@ -325,6 +331,8 @@ def get_to_clt_bufsize():
|
|||||||
|
|
||||||
|
|
||||||
class LayeredStreamReaderBase:
|
class LayeredStreamReaderBase:
|
||||||
|
__slots__ = ("upstream", )
|
||||||
|
|
||||||
def __init__(self, upstream):
|
def __init__(self, upstream):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
|
|
||||||
@@ -336,6 +344,8 @@ class LayeredStreamReaderBase:
|
|||||||
|
|
||||||
|
|
||||||
class LayeredStreamWriterBase:
|
class LayeredStreamWriterBase:
|
||||||
|
__slots__ = ("upstream", )
|
||||||
|
|
||||||
def __init__(self, upstream):
|
def __init__(self, upstream):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
|
|
||||||
@@ -363,6 +373,8 @@ class LayeredStreamWriterBase:
|
|||||||
|
|
||||||
|
|
||||||
class FakeTLSStreamReader(LayeredStreamReaderBase):
|
class FakeTLSStreamReader(LayeredStreamReaderBase):
|
||||||
|
__slots__ = ('buf', )
|
||||||
|
|
||||||
def __init__(self, upstream):
|
def __init__(self, upstream):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
self.buf = bytearray()
|
self.buf = bytearray()
|
||||||
@@ -404,6 +416,8 @@ class FakeTLSStreamReader(LayeredStreamReaderBase):
|
|||||||
|
|
||||||
|
|
||||||
class FakeTLSStreamWriter(LayeredStreamWriterBase):
|
class FakeTLSStreamWriter(LayeredStreamWriterBase):
|
||||||
|
__slots__ = ()
|
||||||
|
|
||||||
def __init__(self, upstream):
|
def __init__(self, upstream):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
|
|
||||||
@@ -417,6 +431,8 @@ class FakeTLSStreamWriter(LayeredStreamWriterBase):
|
|||||||
|
|
||||||
|
|
||||||
class CryptoWrappedStreamReader(LayeredStreamReaderBase):
|
class CryptoWrappedStreamReader(LayeredStreamReaderBase):
|
||||||
|
__slots__ = ('decryptor', 'block_size', 'buf')
|
||||||
|
|
||||||
def __init__(self, upstream, decryptor, block_size=1):
|
def __init__(self, upstream, decryptor, block_size=1):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
self.decryptor = decryptor
|
self.decryptor = decryptor
|
||||||
@@ -453,6 +469,8 @@ class CryptoWrappedStreamReader(LayeredStreamReaderBase):
|
|||||||
|
|
||||||
|
|
||||||
class CryptoWrappedStreamWriter(LayeredStreamWriterBase):
|
class CryptoWrappedStreamWriter(LayeredStreamWriterBase):
|
||||||
|
__slots__ = ('encryptor', 'block_size')
|
||||||
|
|
||||||
def __init__(self, upstream, encryptor, block_size=1):
|
def __init__(self, upstream, encryptor, block_size=1):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
self.encryptor = encryptor
|
self.encryptor = encryptor
|
||||||
@@ -468,6 +486,8 @@ class CryptoWrappedStreamWriter(LayeredStreamWriterBase):
|
|||||||
|
|
||||||
|
|
||||||
class MTProtoFrameStreamReader(LayeredStreamReaderBase):
|
class MTProtoFrameStreamReader(LayeredStreamReaderBase):
|
||||||
|
__slots__ = ('seq_no', )
|
||||||
|
|
||||||
def __init__(self, upstream, seq_no=0):
|
def __init__(self, upstream, seq_no=0):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
self.seq_no = seq_no
|
self.seq_no = seq_no
|
||||||
@@ -504,6 +524,8 @@ class MTProtoFrameStreamReader(LayeredStreamReaderBase):
|
|||||||
|
|
||||||
|
|
||||||
class MTProtoFrameStreamWriter(LayeredStreamWriterBase):
|
class MTProtoFrameStreamWriter(LayeredStreamWriterBase):
|
||||||
|
__slots__ = ('seq_no', )
|
||||||
|
|
||||||
def __init__(self, upstream, seq_no=0):
|
def __init__(self, upstream, seq_no=0):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
self.seq_no = seq_no
|
self.seq_no = seq_no
|
||||||
@@ -523,6 +545,8 @@ class MTProtoFrameStreamWriter(LayeredStreamWriterBase):
|
|||||||
|
|
||||||
|
|
||||||
class MTProtoCompactFrameStreamReader(LayeredStreamReaderBase):
|
class MTProtoCompactFrameStreamReader(LayeredStreamReaderBase):
|
||||||
|
__slots__ = ()
|
||||||
|
|
||||||
async def read(self, buf_size):
|
async def read(self, buf_size):
|
||||||
msg_len_bytes = await self.upstream.readexactly(1)
|
msg_len_bytes = await self.upstream.readexactly(1)
|
||||||
msg_len = int.from_bytes(msg_len_bytes, "little")
|
msg_len = int.from_bytes(msg_len_bytes, "little")
|
||||||
@@ -544,6 +568,8 @@ class MTProtoCompactFrameStreamReader(LayeredStreamReaderBase):
|
|||||||
|
|
||||||
|
|
||||||
class MTProtoCompactFrameStreamWriter(LayeredStreamWriterBase):
|
class MTProtoCompactFrameStreamWriter(LayeredStreamWriterBase):
|
||||||
|
__slots__ = ()
|
||||||
|
|
||||||
def write(self, data, extra={}):
|
def write(self, data, extra={}):
|
||||||
SMALL_PKT_BORDER = 0x7f
|
SMALL_PKT_BORDER = 0x7f
|
||||||
LARGE_PKT_BORGER = 256 ** 3
|
LARGE_PKT_BORGER = 256 ** 3
|
||||||
@@ -567,6 +593,8 @@ class MTProtoCompactFrameStreamWriter(LayeredStreamWriterBase):
|
|||||||
|
|
||||||
|
|
||||||
class MTProtoIntermediateFrameStreamReader(LayeredStreamReaderBase):
|
class MTProtoIntermediateFrameStreamReader(LayeredStreamReaderBase):
|
||||||
|
__slots__ = ()
|
||||||
|
|
||||||
async def read(self, buf_size):
|
async def read(self, buf_size):
|
||||||
msg_len_bytes = await self.upstream.readexactly(4)
|
msg_len_bytes = await self.upstream.readexactly(4)
|
||||||
msg_len = int.from_bytes(msg_len_bytes, "little")
|
msg_len = int.from_bytes(msg_len_bytes, "little")
|
||||||
@@ -581,6 +609,8 @@ class MTProtoIntermediateFrameStreamReader(LayeredStreamReaderBase):
|
|||||||
|
|
||||||
|
|
||||||
class MTProtoIntermediateFrameStreamWriter(LayeredStreamWriterBase):
|
class MTProtoIntermediateFrameStreamWriter(LayeredStreamWriterBase):
|
||||||
|
__slots__ = ()
|
||||||
|
|
||||||
def write(self, data, extra={}):
|
def write(self, data, extra={}):
|
||||||
if extra.get("SIMPLE_ACK"):
|
if extra.get("SIMPLE_ACK"):
|
||||||
return self.upstream.write(data)
|
return self.upstream.write(data)
|
||||||
@@ -589,6 +619,8 @@ class MTProtoIntermediateFrameStreamWriter(LayeredStreamWriterBase):
|
|||||||
|
|
||||||
|
|
||||||
class MTProtoSecureIntermediateFrameStreamReader(LayeredStreamReaderBase):
|
class MTProtoSecureIntermediateFrameStreamReader(LayeredStreamReaderBase):
|
||||||
|
__slots__ = ()
|
||||||
|
|
||||||
async def read(self, buf_size):
|
async def read(self, buf_size):
|
||||||
msg_len_bytes = await self.upstream.readexactly(4)
|
msg_len_bytes = await self.upstream.readexactly(4)
|
||||||
msg_len = int.from_bytes(msg_len_bytes, "little")
|
msg_len = int.from_bytes(msg_len_bytes, "little")
|
||||||
@@ -608,6 +640,8 @@ class MTProtoSecureIntermediateFrameStreamReader(LayeredStreamReaderBase):
|
|||||||
|
|
||||||
|
|
||||||
class MTProtoSecureIntermediateFrameStreamWriter(LayeredStreamWriterBase):
|
class MTProtoSecureIntermediateFrameStreamWriter(LayeredStreamWriterBase):
|
||||||
|
__slots__ = ()
|
||||||
|
|
||||||
def write(self, data, extra={}):
|
def write(self, data, extra={}):
|
||||||
MAX_PADDING_LEN = 4
|
MAX_PADDING_LEN = 4
|
||||||
if extra.get("SIMPLE_ACK"):
|
if extra.get("SIMPLE_ACK"):
|
||||||
@@ -621,6 +655,8 @@ class MTProtoSecureIntermediateFrameStreamWriter(LayeredStreamWriterBase):
|
|||||||
|
|
||||||
|
|
||||||
class ProxyReqStreamReader(LayeredStreamReaderBase):
|
class ProxyReqStreamReader(LayeredStreamReaderBase):
|
||||||
|
__slots__ = ()
|
||||||
|
|
||||||
async def read(self, msg):
|
async def read(self, msg):
|
||||||
RPC_PROXY_ANS = b"\x0d\xda\x03\x44"
|
RPC_PROXY_ANS = b"\x0d\xda\x03\x44"
|
||||||
RPC_CLOSE_EXT = b"\xa2\x34\xb6\x5e"
|
RPC_CLOSE_EXT = b"\xa2\x34\xb6\x5e"
|
||||||
@@ -648,6 +684,8 @@ class ProxyReqStreamReader(LayeredStreamReaderBase):
|
|||||||
|
|
||||||
|
|
||||||
class ProxyReqStreamWriter(LayeredStreamWriterBase):
|
class ProxyReqStreamWriter(LayeredStreamWriterBase):
|
||||||
|
__slots__ = ('remote_ip_port', 'our_ip_port', 'out_conn_id', 'first_flag_byte', 'proto_tag')
|
||||||
|
|
||||||
def __init__(self, upstream, cl_ip, cl_port, my_ip, my_port, proto_tag):
|
def __init__(self, upstream, cl_ip, cl_port, my_ip, my_port, proto_tag):
|
||||||
self.upstream = upstream
|
self.upstream = upstream
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user