Active port forwarder server
afserver [ options ]
Afserver is a port forwarding program designed to be efficient and easy to use. It listens for incoming afclient connections at listenport (default listenport is 50126). After successful client authorization, afserver listens for incoming user connections. When a new user connection is opened, all the data is redirected to previously connected afclient, which redirects it to the specified destination host:port.
afserver
program starts with default options (become a daemon)
afserver -v
verbose mode is enabled (program won't enter daemon mode)
afserver -n localhost -l 5435 -m 6375
program will listen on localhost:5435 for users and on localhost:6375 for clients
Basic options
-n, --hostname NAME
used when creating listening sockets (default: '')
-l, --listenport [HOST:]PORT
listening [host:]port number - users connect to it (default: 50127)
-m, --manageport [HOST:]PORT
manage [host:]port number -
afclient connects to it (default: 50126)
-V, --version
display version number
-h, --help
prints help screen
Authorization
--pass PASSWORD
password used for client identification (default: no password)
Configuration
-c, --cerfile FILE
the name of the file with certificate (default: server-cert.pem)
-A, --cacerfile FILE
the name of the file with CA certificates (if used, require clients to have valid certificates)
-d, --cerdepth
the maximum depth of valid certificate-chains
-k, --keyfile FILE
the name of the file with RSA key (default: server.rsa)
-f, --cfgfile FILE
the name of the file with the configuration for the
afserver
-D, --dateformat FORMAT
format of the date printed in logs (see 'man strftime' for details) (default: %d.%m.%Y %H:%M:%S)
-t, --timeout N
the timeout value for the client's connection (default: 5)
--maxidle N
the maximum idle time for the client's connection (default: disabled)
-u, --users N
the amount of users allowed to use this server (default: 5)
-C, --clients N
the number of allowed clients to use this server (default: 1)
-r, --realm
set the realm name (default: none)
-R, --raclients N
the number of allowed clients in remote administration mode to use this server (default: 1)
-U, --usrpcli N
the number of allowed users per client (default: $users)
-M, --climode N
strategy used to connect users with clients (default: 1) Available strategies: 1. fill first client before go to next
-p, --proto TYPE
type of server (tcp|udp) - what protocol it will be operating for (default: tcp)
-b, --baseport
listenports are temporary and differ for each client
-a, --audit
additional information about connections are logged
--nossl
ssl is not used to transfer data (but it's still used to establish a connection) (default: ssl is used)
--nozlib
zlib is not used to compress data (default: zlib is used)
--dnslookups
try to obtain dns names of the computers rather than their numeric IP
Logging
-o, --log LOGCMD
log choosen information to file/socket
-v, --verbose
to be verbose - program won't enter the daemon mode (use several times for greater effect)
IP family
-4, --ipv4
use ipv4 only
-6, --ipv6
use ipv6 only
HTTP PROXY
-P, --enableproxy
enable http proxy mode
Currently available commands are:
help
display help
lcmd
lists available commands
info
prints info about server
rshow
display realms
cshow X
display clients in X realm
ushow X
display users in X realm
quit
quit connection
timeout N X
set timeout value in X realm
audit {0|1} X
set audit mode in X realm
dnslookups {0|1} X
set dnslookups mode in X realm
dateformat S
set dateformat
kuser S
kick user named S
kclient N
kick client with number N
LOGCMD has the following synopsis: target,description,msgdesc
Where target is file or sock
description is filename or host,port
and msgdesc is the subset of:
LOG_T_ALL, LOG_T_USER, LOG_T_CLIENT, LOG_T_INIT, LOG_T_MANAGE, LOG_T_MAIN, LOG_I_ALL, LOG_I_CRIT, LOG_I_DEBUG, LOG_I_DDEBUG, LOG_I_INFO, LOG_I_NOTICE, LOG_I_WARNING, LOG_I_ERR
written without spaces.
Example:
file,filename,LOG_T_ALL,LOG_I_CRIT,LOG_I_ERR,LOG_I_WARNING
Afserver is still under development. There are no known open bugs at the moment.
Please report bugs to <jeremian [at] poczta.fm>
Jeremian <jeremian [at] poczta.fm>
Alex Dyatlov <alex [at] gray-world.net>, Simon <scastro [at] entreelibre.com>, Ilia Perevezentsev <iliaper [at] mail.ru> Marco Solari <marco.solari [at] koinesistemi.it>, and Joshua Judson Rosen <rozzin [at] geekspace.com>
Active Port Forwarder is distributed under the terms of the GNU General Public License v2.0 and is copyright (C) 2003-2007 jeremian <jeremian [at] poczta.fm>. See the file COPYING for details.