LINUX.ORG.RU

Ищется аналог bouncer'a


0

0

Была такая замечательная утилита, которая могла пробрасывать соединения через web proxy CONNECT method. К сожалению, исходников у неё нет и на новых Линукс дистрибутивах она сильно глючит.

Вопрос: есть ли аналоги, кроме socks?

★★★★★

Hamachi посмотри - может подойдет...

Koka
()

Когда-то себе скепал такую тулзу, чтоб через знакомый сервак
ходить в инет нахаляву. B-)

#!/usr/bin/env python

import os
import sys
import socket
import select

def read_write(sock):
    count = 0
    p = select.poll()
    p.register(sys.stdin)
    p.register(sock)
    sock_fd = sock.fileno()
    while True:
        events = p.poll()
        for fd, event in events:
            if fd == sock_fd and event & select.POLLIN:
                data = sock.recv(8192)
                if data:
                    os.write(stdout_fd, data)
                else:
                    sys.exit(1)
            elif fd == stdin_fd and event & select.POLLIN:
                request = os.read(stdin_fd, 8192)
                if request:
                    sock.send(request)
                else:
                    sys.exit(1)

def error(s):
    sys.stderr.write(s)
    sys.stderr.write('\n')
    sys.exit(1)

stdin_fd = sys.stdin.fileno()
stdout_fd = sys.stdout.fileno()

if len(sys.argv) != 5:
    error('usage: %s proxyhost proxyport desthost destport' % sys.argv[0])
proxy, proxyport = sys.argv[1], int(sys.argv[2])
host, port = sys.argv[3], int(sys.argv[4])

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((proxy, proxyport))
s.send('CONNECT %s:%s HTTP/1.0\r\n\r\n' % (host, port))

initial_data = s.recv(1024)
if not initial_data:
    error('Error: could not connect to proxy.\n')

response, rest = initial_data.split('\n', 1)
protocol, code, text = response.split(' ', 2)

if not (protocol[:-1] == ('HTTP/1.') and 200 <= int(code) <300):
    error('Error: %s\n' % response)

os.write(stdout_fd, rest)
read_write(s)

ero-sennin ★★
()

ero-sennin и hyde:

Спасибо!

(hamachi - совсем не то)

birdie ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.