In this example we will use, once again, socat. Here is how to connect to a Terminal Server which can be reach only behind an HTTP Proxy.
First, make sure that your $http_proxy environment variable is set properly.
Add the following function to your ~/.bashrc:
function rdesktop_proxy () { if [ $# -lt 1 ]; then echo "usage: $0 <hostname/ip>" return fi HOST=$1 PROXY_HOST=$(echo $http_proxy | sed 's,http:,,;s,/,,g' | cut -d: -f1) PROXY_PORT=$(echo $http_proxy | sed 's,http:,,;s,/,,g' | cut -d: -f2) socat TCP4-LISTEN:51515,bind=127.0.0.1,reuseaddr PROXY:$PROXY_HOST:$HOST:3389,proxyport=$PROXY_PORT & /usr/local/bin/xfreerdp +clipboard +home-drive "/t:$1" /v:127.0.0.1:51515 "${@:2}" }
Then re-source your shell:
source ~/.bashrc
And you can just type:
rdesktop_proxy my.rdpdomain.com /u:John
The example above use the xfreerdp client, but you can adjust it to use your favourite RDP client, you get the idea.
No comments:
Post a Comment