Tunnel back in bash
This commit is contained in:
parent
42273239e7
commit
28d6cfa0ea
|
@ -1,41 +1,19 @@
|
|||
#!/usr/bin/env python
|
||||
#!/usr/bin/env bash
|
||||
host="$1"
|
||||
port="$2"
|
||||
|
||||
if [ -z "$http_proxy" ]; then
|
||||
nc "$host" "$port"
|
||||
else
|
||||
proxy=$(echo http_proxy | sed 's/^https\?:\/\///' | sed 's/\/$//')
|
||||
port=443 # Most won't want this
|
||||
echo "$proxy" | grep '@'
|
||||
if [ $? == 0 ]; then
|
||||
user=$(echo $proxy | cut -d '@' -f 2)
|
||||
proxy=$(echo $proxy | cut -d '@' -f 1)
|
||||
proxytunnel -p $proxy -P $user -d $host:$port
|
||||
else
|
||||
proxytunnel -p $proxy -d $host:$port
|
||||
fi
|
||||
fi
|
||||
|
||||
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 + ':' + port]
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue