コード例 #1
0
 def connect_server_err_call_back(self, ret):
     retmsg = self.conn.send(
         socks5.Response(status=socks5.RESP_STATUS["HOST_UNREACHABLE"],
                         atyp=self.request.atyp,
                         addr=self.request.addr,
                         port=int(self.request.port)))
     retmsg = encryto.encode(self.box_index, retmsg)
     self.transport.write(retmsg)
     self.transport.loseConnection()
コード例 #2
0
 def connect_server_call_back(self, ret):
     self.client = ret
     retmsg = self.conn.send(
         socks5.Response(status=socks5.RESP_STATUS["SUCCESS"],
                         atyp=self.request.atyp,
                         addr=self.request.addr,
                         port=int(self.request.port)))
     retmsg = encryto.encode(self.box_index, retmsg)
     self.transport.write(retmsg)
     self.stage = 2
コード例 #3
0
 def dataReceived(self, data):
     try:
         if self.stage == 0:
             index_data = data[:4]
             self.box_index = struct.unpack("I", index_data)[0]
             data = data[4:]
             data = encryto.decode(self.box_index, data)
             self.conn.recv(data)
             greeting_res = socks5.GreetingResponse(
                 socks5.AUTH_TYPE["NO_AUTH"])
             ret_data = self.conn.send(greeting_res)
             ret_data = encryto.encode(self.box_index, ret_data)
             self.transport.write(ret_data)
             self.stage = 1
         elif self.stage == 1:
             data = encryto.decode(self.box_index, data)
             self.request = self.conn.recv(data)
             self.connect_sever(self.request.addr, int(self.request.port))
         elif self.stage == 2:
             data = encryto.decode(self.box_index, data)
             self.client.transport.write(data)
     except:
         # print(e.with_traceback())
         self.transport.loseConnection()
コード例 #4
0
ファイル: client.py プロジェクト: l00n00l/proxy
 def dataReceived(self, data):
     if self.client:
         data = encryto.encode(self.box_index, data)
         self.client.transport.write(data)
     else:
         self.msg_cache.append(data)
コード例 #5
0
ファイル: client.py プロジェクト: l00n00l/proxy
 def connect_server_call_back(self, ret):
     self.client = ret
     for msg in self.msg_cache:
         data = encryto.encode(self.box_index, msg)
         self.client.transport.write(data)
     self.msg_cache = []
コード例 #6
0
 def dataReceived(self, data):
     data = encryto.encode(self.s5.box_index, data)
     self.s5.transport.write(data)