PDA

View Full Version : gtunnel [gzip'ed tunnelling software]


std
26-02-2008, 10:44 AM
It is a TCP-tunneller with compression of data. Yep, it is a full package - server's and client's parts. So if you have no a server with dedicated IP, that stuff, probably not for you.
The main reason to use gtunnel is to reduce the cost of your traffic by using some server [with cheap traffic] as compression tower.

Technology scheme:
[ PocketIE ] - ( raw data ) - [ gtunnel/client ] - ( gzip'ed data ) - [ gtunnel/server ] - ( raw data ) - [ HTTP-proxy ]
There is 2 builds of application - for PC (x86) and for PocketPC (ARM). Both of them may work as a client or as a server, depends on settings described below.
gtunnel has a basic multiuser support and 2 kind of authorization - plain text and CRAM-MD5.

For configuration you can use either command line or file ( gtunnel.ini, located in the same folder as the executable ). Command line have higher priority. The build for PC also has ability to start as a service [ "--install" - to install, "--remove" - to remove ]; then the configuration file is the only the source of settings.

Both, the server and the client, writting a log, located in the application's folder. The client part's log contains only an error messages. The server part's also writes all connection attepmts ( date, time, ip, username ) and the amount of a data if a connection was established.

Configuration file can contain:

remote - run gtunnel in a client mode, or server mode otherwise.
auth-md5 - use "md5" authorization type, or "plain-text" otherwise
listen address-for-user:port - specifying the socket to listen incoming connections. For server mode - it is a connection point which will be used for the client part of gtunnel. For client mode - a connection point for a client software ( browser, IM, mail client, etc. )
server address-of-target-server:port - specifying the socket to forward data on. For server mode - it could be, for example, the address of HTTP/SOCKS5-proxy server. For client mode - it is the address of the server part of gtunnel
user user1:passw1 - specifying the user. It should be in exactly that format, without extra whitespaces. In the client mode, gtunnel accepts only a first user.


Configuration example:
my pocket pc running the client part, i've specified HTTP-proxy in global connectivity settings with the address "127.0.0.1:8080"; My server have the server part running with 3proxy as HTTP-proxy backend.

ini for pocket pc
remote
auth-md5
listen 127.0.0.1:8080
server 66.152.197.146:8081
user std:12345

server-side ini
auth-md5
listen 66.152.197.146:8081
server 127.0.0.1:8080
user std:12345
user guest:abc

settings for 3proxy
auth none
allow *
# 127.0.0.1 accessible only for local connections
proxy -i127.0.0.1 -p8080