prtunnel - tunnels TCP connections through HTTP or SOCKS5
proxies
prtunnel [-DVc6hv] [-t proxy-type] [-H
proxy-host] [-P proxy-port] [-T address] [-u
username] [-p password] [--password-prompt] [--http-1.0]
[--telnet-keep-alive interval] [--crlf-keep-alive interval]
[--irc-auto-pong] [--timeout time] [--server-timeout time]
[--help] [--version] local-port [remote-host
remote-port]
prtunnel tunnels TCP connections through an HTTP or SOCKS5 proxy
server. It is useful if you're behind such a proxy and want to use a program
that doesn't have native proxy support.
local-port is the port that prtunnel will listen for a
connection on. remote-host and remote-port are the
hostname/address and port, respectively, of the remote server that the
connection will be tunneled to.
If run without the <remote host> and <remote port>
arguments, prtunnel will accept SOCKS4/SOCKS5 commands from the client to
determine the remote server to connect to.
- -D
- Run as a daemon. prtunnel will run in the background and accept multiple
TCP connections with this option.
- -V
- Turns on verbose output; all data transferred will be printed to standard
output
- -c
- Use color to differentiate between incoming and outgoing data in verbose
output; without this, each line of outgoing verbose output will begin with
">>> " and incoming output with "<<<
"
- -6
- Enables IPv6 mode. This doesn't affect the way outgoing connections are
made with the direct/direct6 tunneling modes; direct will always connect
with IPv4 and direct6 will always connect with IPv6.
- -t tunnel-mode
- Set tunneling mode; http (default), socks5, direct and direct6 are
supported. With http and socks5, you must specify the address of an
http/socks5 proxy to use. direct will make prtunnel connect directly to
the remote host specified; direct6 does the same, but with IPv6 instead of
IPv4.
- -H proxy-host
- Set proxy server hostname
- -P proxy-port
- Set proxy server port; defaults are 8080 for http, 1080 for socks5
- -T address
- Add a trusted address. For security reasons, only localhost is trusted by
default. Only connections from trusted addresses are allowed. You can
specify an address itself (like 10.0.0.0), or in the form of
address/bitcheck, where bitcheck is the number of
leading bits to compare; for example, 10.0.0.0/24 would mean any
address in the range of 10.0.0.0 to 10.0.0.255.
- -u username
- Set username to use for proxy authentication
- -p password
- Set password to use for proxy authentication
- --password-prompt
- Prompt for proxy username and password
- --http-1.0
- Use HTTP/1.0 instead of HTTP/1.1 for HTTP connections
- --telnet-keep-alive
interval
- Causes prtunnel to send keep-alive data at the specified interval, using
the telnet NOP command
- --crlf-keep-alive
interval
- Causes prtunnel to send keep-alive data at the specified interval, using a
CRLF (this works for some text-based protocols)
- --irc-auto-pong
- Causes prtunnel to automatically respond to PING commands sent by IRC
servers.
- --timeout
time
- Allows you to set a client socket timeout; if no data is recieved from the
client for <time> seconds, the connection will be closed
- --server-timeout
time
- Allows you to set a server socket timeout; if no data is recieved from the
remote host for <time> seconds, the connection will be closed
- -h, --help
- Show help message
- -v, --version
- Show version information
prtunnel -H proxy 6667 irc.freenode.net 6667
After starting prtunnel like this, you could then point an IRC
client to 127.0.0.1, and prtunnel will attempt to connect you to
irc.freenode.net via the HTTP proxy server on a system named
"proxy".
The latest version of prtunnel can be found at
http://joshbeam.com/software/prtunnel.php
Josh Beam <josh@joshbeam.com>
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.