dotfiles/scripts/tunnel

42 lines
833 B
Python
Executable file

#!/usr/bin/env python
try:
import sys
import os
from subprocess import call
host, port = sys.argv[1:3]
proxy = os.environ.get('HTTP_PROXY')
if proxy:
proxy = proxy.strip('/')
if proxy[:7] == 'http://':
proxy = proxy[7:]
elif proxy[:8] == 'https://':
proxy = proxy[8:]
s = proxy.split('@')
user = None
if len(s) == 2:
user, proxy = s
args = ['proxytunnel', '-p', proxy, '-d', host + ':' + '443']
if user:
args += ['-P', user]
call(args)
else:
call(['nc', host, port])
except KeyboardInterrupt:
pass
# #!/usr/bin/env bash
# host="$1"
# port="$2"
#
# if [ -z $HTTP_PROXY ]; then
# nc "$host" "$port"
# else
# proxytunnel -p "$HTTP_PROXY" -d "$host:$port"
# fi