-------------------------------------------------------------------------- README for aproxy 0.71 Table of Contents: * DESCRIPTION * INSTALLATION * CONFIGURATION * USAGE * CONSOLE COMMANDS * NOTES * LICENSE * AUTHOR -------------------------------------------------------------------------- DESCRIPTION ----------- aproxy is a multi-client application to forward TCP connections from (local) listening ports to remote targets somewhere in your network. aproxy works with all TCP-servisces that use a single TCP-Connection for the communitation between client and server. The following protocols have been tested and work fine: * TELNET * SMTP * SSH * POP * IRC (without support for DCC!) * HTTP aproxy also supports a "Console" mode, which can be accessed by telnet. At the console you can add/delete listening ports and targets, get informations about the server, save you configuration and so on... INSTALLATION ------------ After downloading the tar-package (aproxy-VERSION.tar.gz) you have to unpack and untar the package: tar xfvz aproxy-VERSION.tar.gz You'll get a directory names "aproxy-VERSION" in your current work directory. Enter this directory, and edit the Makefile. The only parameters you need to edit are: # the directory where the executable script is installed BINDIR=/usr/local/bin # the directory where the *.pm (PerlModules) are installed LIBDIR=/usr/local/lib/aproxy Leave the editor after saving and type: make install That's it :-) CONFIGURATION ------------- The configuration files contain "pure" Perl-code that is read by eval(). aproxy is configurated via 2 files: aproxyrc: General server configuration # aproxyrc # UseLog: (BOOL) enable/disable logging $Proxy::Config::UseLog = 1 ; # LogFile: (PATH) path to logfile (must be set!!!!) $Proxy::Config::LogFile = "$ENV{HOME}/aproxy.log"; # Timeout: (INTEGER) timeout for outgoing connections $Proxy::Config::Timeout = 2 ; # RunInBackground: (BOOL) server forks itself to background if TRUE $Proxy::Config::RunInBackground = 1; # CheckPort: (INTEGER) the portnumber for checking connections $Proxy::Config::CheckPort = 22002; # AdminPort: (INTEGER) the portnumber for admin connections $Proxy::Config::AdminPort = 22003; # AdminPass: (STRING) the password for admin connections $Proxy::Config::AdminPass = "Q2w3"; # MonitorPort: (INTEGER) the portnumber for monitor connections $Proxy::Config::MonitorPort = 22004; # MonitorPass: (STRING) the password for monitor connections $Proxy::Config::MonitorPass = "Q2w3"; # PidFile: (FILENAME) path to the PID-file $Proxy::Config::PidFile = "$ENV{HOME}/aproxy.pid"; # aproxyrc MUST return a TRUE value!! 1; __END__ aproxyrules: Forwarding rules # aproxyrules *R = *Proxy::Config::ForwardRules; $R{11123} = [ "scratch" , 23 ]; $R{8080} = [ "scratch" , 80 ]; $R{11125} = [ "scratch" , 25 ]; $R{11110} = [ "scratch" , 110 ]; $R{11113} = [ "scratch" , 113 ]; $R{11122} = [ "scratch" , 22 ]; # aproxyrules MUST return a true value!! 1; __END__ Note: *R is a alias for *Proxy::Config::ForwardRules. You can also write $Proxy::Config::ForwardRules{12345} = [ "foohost.com" , 80 ] ; The above line means the following: * setup a listening socket on port 12345 on the local machine. * when a client connects to port 12345 the connection will be forwarded to foohost.com port 80. USAGE ----- usage: aproxy.pl [ ] If no config/rules file is given on the commandline, aproxy looks for the configuration-file in $HOME/.aproxyrc and for the rules-file in $HOME/.aproxyrules. You can change this default behavior in the file $LIBDIR/Proxy/Config.pm. (not recommented!) CONSOLE COMMANDS ---------------- ADD Add a listening port on which forwards connections to DEL Delete a listening port LIST List all listening port and their targets SAVE Save the forward-rules to $Proxy::Config::RulesFile FWD Open a connection to and connect the connection to the current console TIMEOUT [] Show/Set the value for connection timeout STAT Show the server's status EXIT Close the Admin-Console HELP Show a list of avaliable commands KILL Kill the server NOTES ----- No notes :-) LICENSE ------- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (http://www.gnu.org/copyleft/gpl.html) for more details AUTHOR ------ aproxy is written by Dirk Barnikel < dirk [dot] barnikel [at] gmx [dot] de >. If you have any suggestions feel free to mail me.