What is it
It creates tunnels using http protocol. It is useful to bypass restrictive firewalls or proxies. It uses two techniques, the well known CONNECT technique as well as a BOSH-like implementation. It bypass most firewalls (as requests are valid HTTP requests) and proxies in their most secure configurations.
How to run
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.
[cc lang=”bash]httptunnel_client -port
[/cc]
port: where the httptunnel client will listen for tunnelled connections
http_host: the hostname or ip where httptunnel_tunnel is running
http_port: the port where httptunnel_tunnel is running
proxy_host: the proxy host in case of necessary
proxy_port: the proxy port in case of necessary
proxy_user: the proxy username in case of proxy authentication
proxy_pass: the proxy password in case of proxy authentication
[cc lang=”bash]httptunnel_server -http_port
http_port: the port where httptunnel_server listens
client_port: the port where destination service is bound
client_host: 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
Build
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.
It must be installed at same directory where httptunel is located in and it must be named as ‘poco’.
|
+ – httptunnel
+ – poco



