16 kb
TCPRelay 1.0.0
TCPRelay is a command line utility written in java designed to relay TCP
connections for servers. What does that mean? It means that you can run
a server on your machine, be behind a firewall and God knows what else,
and still be able to host a server (as long as outgoing connections are
allowed). It requires only that you have access to another computer (called a
remote relay) that does allow servers, and for that machine to
have java installed.
Here's an example of how to use it:
Johnny wants to run an FTP server on his work computer but his network admins
don't allow it, however, Johnny has a personal website (johnrulz.com) to which he has
FTP and SSH access to. He uploads TCPRelay to that machine and logs onto it via SSH.
He then runs the command:
java -jar TCPRelayVersion.jar -r -p 4444 &
This creates a remote relay that runs in the background and waits for
incoming connections on port 4444 (actually it first waits for the local relay to connect).
Johnny then turns on his FTP server on his work computer and runs another command:
java -jar TCPRelayVersion.jar -l johnrulz.com 21
This creates a local relay that connects to his remote relay
on johnrulz.com on a default port (5005). Whenever a client connects a connection
will be made to his FTP server that's running on port 21.
That's it! Now all Johnny has to do is tell his friends to connect to
johnrulz.com on port 4444 and they will be connected to his FTP server.
All traffic sent to johnrulz.com on port 4444 will be forwarded to his
computer.
For a list of various arguments, run TCPRelay with no arguments!
TCPRelay is "donationware": if you find it useful, consider donating as a token
of thanks and to encourage its further development. I'm a college student
so I'm grateful for any amount. :-)
(Note: Some FTP servers may actually block this type of activity... However,
this has been tested with many other services, and even SSH works with this!)
Disclaimer: This software is provided "as is" without any warranty and
the author is not responsible for anything resulting from its use.