Skip to content

Instantly share code, notes, and snippets.

@rpetrich
Created November 9, 2017 15:46
Show Gist options
  • Save rpetrich/4e23d8e637b7794f4efc414246bc5196 to your computer and use it in GitHub Desktop.
Save rpetrich/4e23d8e637b7794f4efc414246bc5196 to your computer and use it in GitHub Desktop.
Script to funnel traffic through SSH port forwarding
#!/bin/bash
if [ -z "$1" ]; then
echo "usage: $0 <ssh-options>"
exit 1
fi
restore_network() {
IFS=$'\n'
for network in `networksetup -listallnetworkservices | grep -v '*'`; do
networksetup -setsocksfirewallproxystate "$network" off > /dev/null
done
exit 0
}
if [ "$1" == --setup-network ]; then
IFS=$'\n'
for network in `networksetup -listallnetworkservices | grep -v '*'`; do
networksetup -setsocksfirewallproxy "$network" localhost 8157
done
trap 'restore_network' INT
cat
fi
ssh -ND 8157 $@ &
sudo "$0" --setup-network
kill -SIGINT `jobs -p`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment