25 lines
614 B
Bash
Executable file
25 lines
614 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# Dynamically determines if the ssh connection
|
|
# is to be proxied through `proxytunnel`
|
|
# To be used with ssh_config ProxyCommand
|
|
|
|
host="$1"
|
|
port="$2"
|
|
|
|
if [ -z "$http_proxy" ]; then
|
|
socat "TCP:$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
|
|
|