Форум сайта python.su
Понадобился не совсем обычный прокси-сервер, в качестве тренировки (а также ввиду отсутствия готовых решений с необходимым функционалом) решил написать его сам, питон отлично мне подходит для этой задачи. Нашел несколько исходников, были и совсем простые, буквально в 200 строк. С хэндшейком разобрался, проблем не возникает. Но вот никак не могу понять, как правильно действовать после.. Сейчас имеется вот такой код:
def forward(src, dest): try: data = src.recv(10) while data: dest.sendall(data) data = src.recv(10) except: src.close() dest.close() while True: insock, addr_info = sock.accept() print 'start proxy session with client', addr_info[0] # ... handshake # ... получение ip и port # ... коннект к ip:port -> outsock Thread(target=forward, args=(insock, outsock)).start() Thread(target=forward, args=(outsock, insock)).start()
Офлайн