From 28d6cfa0ea8e02fe1a60e1858d7322c1659f684c Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sun, 20 Nov 2016 14:34:48 +0100 Subject: [PATCH] Tunnel back in bash --- scripts/tunnel | 56 +++++++++++++++----------------------------------- 1 file changed, 17 insertions(+), 39 deletions(-) diff --git a/scripts/tunnel b/scripts/tunnel index dd90532..d478264 100755 --- a/scripts/tunnel +++ b/scripts/tunnel @@ -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