Back to larsbrinkhoff/httptunnel

README.md

Raw
 1# About
 2httptunnel creates a bidirectional virtual data path tunnelled in HTTP  
 3requests.  The requests can be sent via an HTTP proxy if so desired.  
 4
 5This can be useful for users behind restrictive firewalls.  If WWW  
 6access is allowed through an HTTP proxy, it's possible to use  
 7httptunnel and, say, telnet or PPP to connect to a computer outside  
 8the firewall.  
 9
10If you still don't understand what this is all about, maybe you  
11can find some useful information in the FAQ file.  
12
13This program is mostly intended for technically-oriented users.  
14They should know what to do.  
15
16# Install
17Read [INSTALL](./INSTALL) for instructions on how to build a released version.  
18If you build the development repository, run `./autogen.sh` first.  
19
20# License
21httptunnel is free software.  See COPYING for terms and conditions.  
22If you like it, I would appreciate if you sent a post card to:  
23> Lars Brinkhoff  
24> Bokskogsbacken 66
25> 422 56  Goteborg  
26> Sweden  
27
28Information and/or latest release should be available from these places:  
29 * https://github.com/larsbrinkhoff/httptunnel
30 * http://www.gnu.org/software/httptunnel/httptunnel.html  
31 * ftp://ftp.gnu.org/pub/gnu/httptunnel  
32
33I take no responsibility for what you do with this software.  It has  
34the potential to do dangerous things, like disabling the protection  
35your system administrator has set up for the local network.  Read the  
36[DISCLAIMER file](./DISCLAIMER).  
37
38# Usage & Documentation
39There are two programs: `hts` and `htc`.  `hts` is the *httptunnel server*  
40and `htc` is the *client*.  `hts` should be installed on a computer outside  
41the HTTP proxy, and `htc` should be installed on your local computer.  
42
43Documentation about how to use the programs should be searched in this  
44order:  
45 1. source code  
46 2. --help output  
47 3. FAQ  
48 4. README  
49
50Having said that, here are some examples:  
51 * start httptunnel server:  
52  * At host REMOTE, start `hts` like this:  
53    `hts -F localhost:23 8888` (set up httptunnel server to listen on port 8888 and forward to localhost:23)   
54 * start httptunnel client:  
55   * At host LOCAL, start `htc` like this:  
56    `htc -F 2323 -P PROXY_ADDRESS:8000 REMOTE_IP:8888` (set up httptunnel client to forward localhost:2323 to REMOTE_IP:8888 via a local proxy at PROXY_ADDRESS:8000) 
57  * or, if using a buffering HTTP proxy:  
58    `htc -F 2323 -P PROXY_ADDRESS:8000 -B 48K REMOTE_IP:8888`  
59  * Now you can do this at host LOCAL:  
60    `telnet localhost 2323` (telnet in to REMOTE_IP:8888 via your httptunnel you just configured above on port localhost:2323)  
61    ...and you will hopefully get a login prompt from host REMOTE_IP.  
62 * Debugging:
63  * For debug output, add `-Dn` to the end of a command, where `n` is the level of debug output you'd like to see, with 0 meaning no
64	debug messages at all, and 5 being the highest level (verbose).  
65  * ex: `htc -F 10001 -P PROXY_ADDRESS:8000 REMOTE_IP:8888 -D5` will show verbose debug output (level 5 debugging) while setting up an httptunnel client to forward localhost:10001 to REMOTE_IP:8888 via a local proxy at PROXY_ADDRESS:8000
66
67# External help, examples, & links
68
69 * https://sergvergara.files.wordpress.com/2011/04/http_tunnel.pdf - excellent httptunnel tutorial, examples, & info
70 * http://sebsauvage.net/punching/ - another excellent example
71 * https://daniel.haxx.se/docs/sshproxy.html - more useful info
72 * http://neophob.com/2006/10/gnu-httptunnel-v33-windows-binaries/ - httptunnel Win32 binaries (download here)
73 * [Google search for "http tunnel v3.3"](https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=http%20tunnel%20v3.3) - brings up lots of good links to httptunnel (this search seems to work better than searching for "httptunnel" alone since the latter brings up many generic search results or results pertaining to other tools)