README
1prtunnel 0.2.7
2(Last updated: March 12, 2006)
3
4prtunnel tunnels TCP connections through an HTTP or SOCKS5 proxy server.
5It is useful if you're behind such a proxy and want to use a program
6that doesn't have native proxy support.
7
8It's developed on Slackware Linux and OpenBSD (both x86), and should work
9on any other Unix-like system.
10
11prtunnel was written by Josh Beam <josh@joshbeam.com> and is distributed under
12a BSD-style license (see prtunnel.h or any other source file for the exact
13terms). The latest version can be found at
14http://joshbeam.com/software/prtunnel.php
15
16
17Usage
18-----
19 prtunnel [options] <local port> [<remote host> <remote port>]
20
21<local port> is the local port you want prtunnel to listen to; <remote host>
22is the name or address of the remote system you want to connect to;
23<remote port> is the port of the service you want to use on <remote host>.
24
25If run without the <remote host> and <remote port> arguments, prtunnel
26will accept SOCKS4/SOCKS5 commands from the client to determine the
27remote server to connect to.
28
29Options:
30 -D Run as a daemon. prtunnel will run in the background
31 and accept multiple TCP connections with this option.
32 -V Verbose output (prints all data transferred to standard
33 output)
34 -c Use color to differentiate between incoming and outgoing
35 data in verbose output; without this, each line of outgoing
36 verbose output will begin with ">>> " and incoming output
37 with "<<< "
38 -6 Enables IPv6 mode. This doesn't affect the way outgoing
39 connections are made with the direct/direct6 tunneling
40 modes; direct will always connect with IPv4 and direct6
41 will always connect with IPv6.
42 -t <tunnel mode> Set tunneling mode; http (default), socks5, direct and
43 direct6 are supported. With http and socks5, you must
44 specify the address of an http/socks5 proxy to use.
45 direct will make prtunnel connect directly to the remote
46 host specified; direct6 does the same, but with IPv6
47 instead of IPv4.
48 -H <proxy host> Name or address of the proxy server you wish to use
49 -P <proxy port> Port that the proxy server uses (8080 default for http,
50 1080 default for socks5)
51 -T <address> Add a trusted address. For security reasons, only localhost
52 is trusted by default. Only connections from trusted
53 addresses are allowed. You can specify an address itself
54 (like 10.0.0.1), or in the form of address/bitcheck, where
55 bitcheck is the number of leading bits to compare; for
56 example, 10.0.0.0/24 would mean any address in the range
57 of 10.0.0.0 to 10.0.0.255.
58 -u <username> Set proxy authentication username
59 -p <password> Set proxy authentication password
60 --password-prompt
61 Prompt for proxy username and password
62 --http-1.0 Use HTTP/1.0 instead of HTTP/1.1 for HTTP connections
63 --telnet-keep-alive <interval>
64 Causes prtunnel to send keep-alive data at the
65 specified interval, using the telnet NOP command
66 --crlf-keep-alive <interval>
67 Causes prtunnel to send keep-alive data at the
68 specified interval, using a CRLF
69 --irc-auto-pong Causes prtunnel to automatically respond to PING commands
70 sent by IRC servers
71 --timeout <time>
72 Allows you to set a client socket timeout; if no data
73 is recieved from the client for <time> seconds, the
74 connection will be closed
75 --server-timeout <time>
76 Allows you to set a server socket timeout; if no data
77 is recieved from the remote host for <time> seconds,
78 the connection will be closed
79 -h, --help Print help message
80 -v, --version Show version information
81
82Here's an example:
83 prtunnel -H proxy 6667 irc.freenode.net 6667
84After starting prtunnel like this, you could then point an IRC client to
85127.0.0.1, and prtunnel will attempt to connect you to irc.freenode.net
86via the HTTP proxy server on a system named "proxy".
87