diff options
Diffstat (limited to 'contrib/quicktun.socks4a')
-rwxr-xr-x | contrib/quicktun.socks4a/quicktun.socks4a | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/contrib/quicktun.socks4a/quicktun.socks4a b/contrib/quicktun.socks4a/quicktun.socks4a index f5329b2..d5936cd 100755 --- a/contrib/quicktun.socks4a/quicktun.socks4a +++ b/contrib/quicktun.socks4a/quicktun.socks4a @@ -1,62 +1,62 @@ #!/usr/bin/env python import subprocess, socket, select, fcntl, sys, os -DEBUG = os.getenv( 'DEBUG' ,'1' ) -TUN_MODE = os.getenv( 'TUN_MODE' ,'1' ) -PROTOCOL = os.getenv( 'PROTOCOL' ,'raw' ) -INTERFACE = os.getenv( 'ppp-tortun' ,'1' ) -REMOTE_FLOAT = int(os.getenv('REMOTE_FLOAT' ,'1' )) +DEBUG = os.getenv ('DEBUG' ,'1' ) +TUN_MODE = os.getenv ('TUN_MODE' ,'1' ) +PROTOCOL = os.getenv ('PROTOCOL' ,'raw' ) +INTERFACE = os.getenv ('ppp-tortun' ,'1' ) +REMOTE_FLOAT = int(os.getenv ('REMOTE_FLOAT' ,'1' )) -LOCAL_ADDRESS = os.getenv( 'LOCAL_ADDRESS' ,'127.0.0.1' ) -LOCAL_PORT = int(os.getenv('LOCAL_PORT' ,'2998' )) +LOCAL_ADDRESS = os.getenv ('LOCAL_ADDRESS' ,'127.0.0.1') +LOCAL_PORT = int(os.getenv ('LOCAL_PORT' ,'2998' )) -REMOTE_ADDRESS = os.getenv( 'REMOTE_ADDRESS','127.0.0.2' ) -REMOTE_PORT = int(os.getenv('REMOTE_PORT' ,'2998' )) +REMOTE_ADDRESS = os.getenv ('REMOTE_ADDRESS','127.0.0.2') +REMOTE_PORT = int(os.getenv ('REMOTE_PORT' ,'2998' )) -DST_ADDRESS = os.getenv( 'DST_ADDRESS' ,'127.0.0.3' ) -DST_PORT = os.getenv( 'DST_PORT' ,'2998' ) +DST_ADDRESS = os.getenv ('DST_ADDRESS' ,'127.0.0.3') +DST_PORT = os.getenv ('DST_PORT' ,'2998' ) -SOCKS_ADDRESS = os.getenv( 'LOCAL_ADDRESS' ,'127.0.0.1' ) -SOCKS_PORT = os.getenv( 'LOCAL_PORT' ,'9050' ) +SOCKS_ADDRESS = os.getenv ('LOCAL_ADDRESS' ,'127.0.0.1') +SOCKS_PORT = os.getenv ('LOCAL_PORT' ,'9050' ) udp = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) -udp.setsockopt (socket.SOL_SOCKET,socket.SO_REUSEADDR,1 ) -udp.setblocking (0 ) -udp.bind ((REMOTE_ADDRESS,REMOTE_PORT )) -udp_poll = select.poll( ) -udp_poll.register(udp.fileno(),select.POLLIN|select.POLLPRI ) +udp.setsockopt (socket.SOL_SOCKET,socket.SO_REUSEADDR,1) +udp.setblocking (0) +udp.bind ((REMOTE_ADDRESS,REMOTE_PORT)) +udp_poll = select.poll () +udp_poll.register (udp.fileno(),select.POLLIN|select.POLLPRI) if REMOTE_FLOAT==0: - tun = subprocess.Popen ([ - 'socat','stdio','socks4a:'+SOCKS_ADDRESS+':' - +DST_ADDRESS+':'+DST_PORT - +',socksport='+SOCKS_PORT + tun = subprocess.Popen ( + [ 'socat','stdio','socks4a:'+SOCKS_ADDRESS+':' + +DST_ADDRESS+':'+DST_PORT + +',socksport='+SOCKS_PORT ], stdout = subprocess.PIPE, stdin = subprocess.PIPE, ) - tun_stdout = tun.stdout.fileno ( ) - tun_stdin = tun.stdin.fileno ( ) - tun_poll = select.poll ( ) - tun_poll.register ( - tun.stdout.fileno(), select.POLLIN|select.POLLPRI) + tun_stdout = tun.stdout.fileno () + tun_stdin = tun.stdin.fileno () + tun_poll = select.poll () + tun_poll.register ( + tun.stdout.fileno(),select.POLLIN|select.POLLPRI) if REMOTE_FLOAT==1: tcp = socket.socket( socket.AF_INET,socket.SOCK_STREAM) - tcp.setsockopt (socket.SOL_SOCKET,socket.SO_REUSEADDR,1 ) - tcp.setblocking (0 ) - tcp.bind ((LOCAL_ADDRESS,LOCAL_PORT )) - tcp.listen (1 ) - tcp_poll = select.poll( ) - tcp_poll.register(tcp.fileno(),select.POLLIN|select.POLLPRI ) + tcp.setsockopt (socket.SOL_SOCKET,socket.SO_REUSEADDR,1) + tcp.setblocking (0) + tcp.bind ((LOCAL_ADDRESS,LOCAL_PORT)) + tcp.listen (1) + tcp_poll = select.poll () + tcp_poll.register (tcp.fileno(),select.POLLIN|select.POLLPRI) while len(tcp_poll.poll(65536))>0: tun = tcp.accept ()[0] - tun_stdout = tun.fileno ( ) - tun_stdin = tun.fileno ( ) - tun_poll = select.poll ( ) - tun_poll.register ( - tun.fileno(), select.POLLIN|select.POLLPRI) + tun_stdout = tun.fileno () + tun_stdin = tun.fileno () + tun_poll = select.poll () + tun_poll.register ( + tun.fileno(),select.POLLIN|select.POLLPRI) break fcntl.fcntl(tun_stdin,fcntl.F_SETFL,fcntl.fcntl( @@ -64,32 +64,32 @@ fcntl.fcntl(tun_stdin,fcntl.F_SETFL,fcntl.fcntl( fcntl.fcntl(tun_stdout,fcntl.F_SETFL,fcntl.fcntl( tun_stdout,fcntl.F_GETFL)&~os.O_NONBLOCK|os.O_NONBLOCK) -tun = subprocess.Popen( - ['/usr/sbin/quicktun.'+PROTOCOL], +tun = subprocess.Popen ( + ['/usr/sbin/quicktun.'+PROTOCOL], stdout = subprocess.PIPE, stdin = subprocess.PIPE, ) -recvq = str( ) -sendq = str( ) +recvq = str () +sendq = str () while 1: if len(udp_poll.poll(128))>0: - buffer = str( ) - buffer = udp.recv(1024 ) + buffer = str () + buffer = udp.recv (1024) if len(buffer)==0: break sendq = sendq + buffer if len(tun_poll.poll(128))>0: - buffer = str( ) - buffer = os.read(tun_stdout,1024 ) + buffer = str () + buffer = os.read (tun_stdout,1024) if len(buffer)==0: break recvq = recvq + buffer if len(sendq)>0: try: - sendq = sendq[os.write(tun_stdin,sendq[:1024] ) + sendq = sendq[os.write (tun_stdin,sendq[:1024]) :] except OSError as ex: if ex.errno!=11: @@ -97,8 +97,8 @@ while 1: if len(recvq)>0: try: - recvq = recvq[udp.sendto(recvq[:1024], - (LOCAL_ADDRESS,LOCAL_PORT )) + recvq = recvq[udp.sendto (recvq[:1024], + (LOCAL_ADDRESS,LOCAL_PORT)) :] except OSError as ex: if ex.errno!=11: @@ -107,4 +107,4 @@ while 1: if len(sendq)>65536*128 or len(recvq)>65536*128: break -tun.terminate( ) +tun.terminate () |