X Tutup
Skip to content

Commit 19afb68

Browse files
authored
v1.5.2
1 parent 06d8af0 commit 19afb68

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

pproxy/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from pproxy import proto
33

44
__title__ = 'pproxy'
5-
__version__ = "1.5.1"
5+
__version__ = "1.5.2"
66
__description__ = "Proxy server that can tunnel among remote servers by regex rules."
77
__author__ = "Qian Wenjie"
88
__license__ = "MIT License"

pproxy/proto.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,11 @@ async def parse(self, reader, writer, auth, authtable, **kw):
130130
writer.write(b'\x05\x00\x00' + header + data)
131131
return host_name, port, b''
132132
async def connect(self, reader_remote, writer_remote, rauth, host_name, port, initbuf, **kw):
133-
writer_remote.write((b'\x05\x01\x02\x01' + b''.join(packstr(i) for i in rauth.split(b':', 1)) if rauth else b'\x05\x01\x00') + b'\x05\x01\x00\x03' + packstr(host_name.encode()) + port.to_bytes(2, 'big') + initbuf)
133+
writer_remote.write((b'\x05\x01\x02\x01' + b''.join(packstr(i) for i in rauth.split(b':', 1)) if rauth else b'\x05\x01\x00') + b'\x05\x01\x00\x03' + packstr(host_name.encode()) + port.to_bytes(2, 'big'))
134134
await reader_remote.read_until(b'\x00\x05\x00\x00')
135135
header = (await reader_remote.read_n(1))[0]
136136
await reader_remote.read_n(6 if header == 1 else (18 if header == 4 else (await reader_remote.read_n(1))[0]+2))
137+
writer_remote.write(initbuf)
137138

138139
class HTTP(BaseProtocol):
139140
name = 'http'
@@ -174,8 +175,9 @@ async def parse(self, header, reader, writer, auth, authtable, httpget, **kw):
174175
newpath = url._replace(netloc='', scheme='').geturl()
175176
return host_name, port, f'{method} {newpath} {ver}\r\n{lines}\r\n\r\n'.encode()
176177
async def connect(self, reader_remote, writer_remote, rauth, host_name, port, initbuf, **kw):
177-
writer_remote.write(f'CONNECT {host_name}:{port} HTTP/1.1'.encode() + (b'\r\nProxy-Authorization: Basic '+base64.b64encode(rauth) if rauth else b'') + b'\r\n\r\n' + initbuf)
178+
writer_remote.write(f'CONNECT {host_name}:{port} HTTP/1.1'.encode() + (b'\r\nProxy-Authorization: Basic '+base64.b64encode(rauth) if rauth else b'') + b'\r\n\r\n')
178179
await reader_remote.read_until(b'\r\n\r\n')
180+
writer_remote.write(initbuf)
179181
async def channel(self, reader, writer, stat_bytes, *args):
180182
try:
181183
while True:

0 commit comments

Comments
 (0)
X Tutup