Last active
November 26, 2021 13:15
-
-
Save ericychoi/c652040006e97d51be445c182d4267c9 to your computer and use it in GitHub Desktop.
A quick tcp proxy bash script using nc (not my original)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh -e | |
# usage: ./tcp-proxy.sh 8080 tweakers.net 80 | |
# script written by | |
# https://notes.tweakblogs.net/blog/7955/using-netcat-to-build-a-simple-tcp-proxy-in-linux.html | |
if [ $# != 3 ] | |
then | |
echo "usage: $0 <src-port> <dst-host> <dst-port>" | |
exit 0 | |
fi | |
TMP=`mktemp -d` | |
BACK=$TMP/pipe.back | |
SENT=$TMP/pipe.sent | |
RCVD=$TMP/pipe.rcvd | |
trap 'rm -rf "$TMP"' EXIT | |
mkfifo -m 0600 "$BACK" "$SENT" "$RCVD" | |
sed 's/^/ => /' <"$SENT" & | |
sed 's/^/<= /' <"$RCVD" & | |
nc -l "$1" <"$BACK" | tee "$SENT" | nc "$2" "$3" | tee "$RCVD" >"$BACK" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment