digger httptunnel Code
Status: Beta
Brought to you by:
alexsp
File | Date | Author | Commit |
---|---|---|---|
Bosh.cpp | 2011-06-20 | alexsp | [r3] |
Bosh.h | 2011-06-21 | alexsp | [r7] bugs |
COPYING | 2011-06-20 | alexsp | [r5] readme |
HTTPStreamServer.cpp | 2011-06-21 | alexsp | [r7] bugs |
HTTPStreamServer.h | 2011-06-20 | alexsp | [r3] |
HttpTunnelClient.h | 2011-06-21 | alexsp | [r7] bugs |
HttpTunnelClientConnect.cpp | 2011-06-21 | alexsp | [r7] bugs |
HttpTunnelClientConnect.h | 2011-06-21 | alexsp | [r7] bugs |
MiniWebServer.cpp | 2011-06-20 | alexsp | [r3] |
MiniWebServer.h | 2011-06-20 | alexsp | [r4] |
README | 2011-06-20 | alexsp | [r6] |
TODO | 2011-06-28 | alexsp | [r8] TODO |
client_main.cpp | 2011-06-20 | alexsp | [r3] |
httptunnel.sln | 2011-06-20 | alexsp | [r2] |
httptunnel.suo | 2011-06-21 | alexsp | [r7] bugs |
httptunnel_client.vcproj | 2011-06-20 | alexsp | [r1] |
httptunnel_server.vcproj | 2011-06-20 | alexsp | [r1] |
server_main.cc | 2011-06-20 | alexsp | [r4] |
trace.h | 2011-06-20 | alexsp | [r1] |
util.cpp | 2011-06-20 | alexsp | [r4] |
util.h | 2011-06-20 | alexsp | [r3] |
INTRODUCTION 'digger httptunnel' creates tunnels using http protocol. It is useful for bypass restrictive firewalls or proxies. It uses two techniques, the well known CONNECT technique (http://en.wikipedia.org/wiki/HTTP_tunnel) as well as a BOSH-like implementation (http://en.wikipedia.org/wiki/BOSH). It bypass most firewalls (as requests are valid HTTP requests) and proxies in their most secure configurations. To create a tunnel a user can run httptunnel_server at server where tunnelized service is started and httptunnel_client where the client of the service is used. The client must connect to port where httptunnel_client is started in order to use a tunnelized connection. USE httptunnel_client -port <local_port> -http_host <http_host> -http_port <http_port> [-proxy_host <proxy_host> -proxy_port <proxy_port>] [-proxy_user <proxy_user> -proxy_pass <proxy_pass>] -port is where the httptunnel client will listen for tunnelled connections -http_host is the hostname or ip where httptunnel_tunnel is running -http_port is the port where httptunnel_tunnel is running -proxy_host is the proxy host in case of necessary -proxy_port is the proxy port in case of necessary -proxy_user is the proxy username in case of proxy authentication -proxy_pass is the proxy password in case of proxy authentication httptunnel_server -http_port <http_port> -client_port <client_port> -client_host <client_host> -http_port is the port where httptunnel_server listens -client_port is the port where destination service is bound -client_host is the hostname or ip where destination service is running * Example: Tunnel a ssh connection - configuration at host (server.com): httptunnel_server -http_port 80 -client_port 22 -client_host 127.0.0.1 - configuration at client: httptunnel_client -port 22 -http_host server.com -http_port 80 -proxy_host proxy.mynet.com -proxy_port 3128 - to start a ssh connection will run at client: ssh 127.0.0.1 which will start a tunneled ssh connection at server.com COMPILE At this moment only windows compile system is provided (VS2008) but linux/unix compile system will be available soon. - Windows A solution 'httptunnel.sln' is provided. Portable Components C++ library is a prerequisite (downloads at http://pocoproject.org/). It must bu installed at same directory where httptunel is located in and it must be named as 'poco'. | | + - httptunnel + - poco MORE more information at http://diggertunnel.sourceforge.net/