Menu

Tree [r8] /
 History

HTTPS access


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]

Read Me

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/
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.