| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896 |
- .TH 3proxy.cfg "3" "July 2009" "3proxy 0.7" "Universal proxy server"
- .SH NAME
- .B 3proxy.cfg
- \- 3proxy configuration file
- .SH DESCRIPTION
- Common structure:
- .br
- Configuration file is a text file 3proxy reads configuration from. Each line
- of the file is a command executed immediately, as it was given from
- console. Sequence of commands is important. Configuration file as actually a
- script for 3proxy executable.
- Each line of the file is treated as a blank (space or tab) separated
- command line. Additional space characters are ignored.
- Think about 3proxy as "application level router" with console interface.
- .br
- Comments:
- .br
- Any string beginning with space character or \'#\' character is comment. It\'s
- ignored. <LF>s are ignored. <CR> is end of command.
- .br
- Quotation:
- .br
- Quotation character is " (double quote). Quotation must be used to quote
- spaces or another special characters. To use quotation character inside
- quotation character must be dubbed (BASIC convention). For example to use
- HELLO "WORLD" as an argument you should use it as "HELLO ""WORLD"""\.
- Good practice is to quote any argument you use.
- .br
- File inclusion:
- .br
- You can include file by using $FILENAME macro (replace FILENAME with a path
- to file, for example $/usr/local/etc/3proxy/conf.incl or
- $"c:\\Program Files\\3proxy\\include.cfg" Quotation is
- required in last example because path contains space character.
- For included file <CR> (end of line characters) is treated as space character
- (arguments delimiter instead of end of command delimiter).
- Thus, include files are only useful to store long signle-line commands
- (like userlist, network lists, etc).
- To use dollar sign somewhere in argument it must be quoted.
- Recursion is not allowed.
- .br
- Next commands start gateway services:
- .br
- .B proxy
- [options]
- .br
- .B socks
- [options]
- .br
- .B pop3p
- [options]
- .br
- .B ftppr
- [options]
- .br
- .B admin
- [options]
- .br
- .B dnspr
- [options]
- .br
- .B tcppm
- [options]
- <SRCPORT> <DSTADDR> <DSTPORT>
- .br
- .B udppm
- [options]
- <SRCPORT> <DSTADDR> <DSTPORT>
- .br
- Descriptions:
- .br
- .B proxy
- \- HTTP/HTTPS proxy (default port 3128)
- .br
- .B socks
- \- SOCKS 4/4.5/5 proxy (default port 1080)
- .br
- .B pop3p
- \- POP3 proxy (default port 110)
- .br
- .B ftppr
- \- FTP proxy (default port 21)
- .br
- .B admin
- \- Web interface (default port 80)
- .br
- .B dnspr
- \- caching DNS proxy (default port 53)
- .br
- .B tcppm
- \- TCP portmapper
- .br
- .B udppm
- \- UDP portmapper
- .br
- Options:
- .br
- .B -pNUMBER
- change default server port to NUMBER
- .br
- .B -n
- disable NTLM authentication (required if passwords are stored in Unix crypt format.
- .br
- .B -s
- (for admin) - allow only secure operations (currently only traffic counters
- view without ability to reset).
- .br
- .B -a
- (for proxy) - anonymous proxy (no information about client reported)
- .br
- .B -a1
- (for proxy) - anonymous proxy (random client information reported)
- .br
- Also, all options mentioned for
- .BR proxy (8)
- .BR socks (8)
- .BR pop3p (8)
- .BR tcppm (8)
- .BR udppm (8)
- .BR ftppr (8)
- are also supported.
- .br
- Portmapping services listen at SRCPORT and connect to DSTADDR:DSTPORT
- HTTP and SOCKS proxies are standard.
- .br
- POP3 proxy must be configured as POP3 server and requires username in the form of:
- pop3username@pop3server. If POP3 proxy access must be authenticated, you can
- specify username as proxy_username:proxy_password:POP3_username@pop3server
- .br
- DNS proxy resolves any types of records but only hostnames are cached. It
- requires nserver/nscache to be configured.
- .br
- FTP proxy can be used as FTP server in any FTP client or configured as FTP
- proxy on a client with FTP proxy support. Username format is one of
- .br
- FTPuser@FTPServer
- .br
- FTPuser:FTPpassword@FTPserver
- .br
- proxyuser:proxypassword:FTPuser:FTPpassword@FTPserver
- .br
- Please note, if you use FTP client interface for FTP proxy
- do not add FTPpassword and FTPServer to username, because
- FTP client does it for you. That is, if you use 3proxy with
- authentication use
- proxyuser:proxypassword:FTPuser
- as FTP username, otherwise do not change original FTP user name
- .B include
- <path>
- .br
- Include config file
- .br
- .B config
- <path>
- .br
- Path to configuration file to use on 3proxy restart or to save configuration.
- .br
- .B writable
- .br
- ReOpens configuration file for write access via Web interface,
- and re-reads it. Usually should be first command on config file
- but in combination with "config" it can be used anywhere to open
- alternate config file. Think twice before using it.
- .br
- .B end
- .br
- End of configuration
- .br
- .B log
- [[@|&]logfile] [<LOGTYPE>]
- .br
- sets logfile for all gateways
- .br
- @ - (for Unix) use syslog, filename is used as ident name
- .br
- & - use ODBC, filename consists of comma-delimited datasource,username,password (username and password are optional)
- .br
- LOGTYPE is one of:
- .br
- M - Monthly
- .br
- W - Weekly (starting from Sunday)
- .br
- D - Daily
- .br
- H - Hourly
- .br
- if logfile is not specified logging goes to stdout. You can specify individual logging options for gateway by using
- -l option in gateway configuration.
- .br
- "log" command supports same format specifications for filename template
- as "logformat" (if filename contains '%' sign it's believed to be template).
- As with "logformat" filename must begin with 'L' or 'G' to specify Local or
- Grinwitch time zone for all time-based format specificators.
- .br
- .B rotate
- <n>
- how many archived log files to keep
- .br
- .B logformat
- <format>
- Format for log record. First symbol in format must be L (local time)
- or G (absolute Grinwitch time).
- It can be preceeded with -XXX+Y where XXX is list of characters to be
- filtered in user input (any non-printable characters are filtered too
- in this case) and Y is replacement character. For example, "-,%+ L" in
- the beginning of logformat means comma and percent are replaced
- with space and all time based elemnts are in local time zone.
- .br
- You can use:
- .br
- %y - Year in 2 digit format
- .br
- %Y - Year in 4 digit format
- .br
- %m - Month number
- .br
- %o - Month abbriviature
- .br
- %d - Day
- .br
- %H - Hour
- .br
- %M - Minute
- .br
- %S - Second
- .br
- %t - Timstamp (in seconds since 01-Jan-1970)
- .br
- %. - milliseconds
- .br
- %z - timeZone (from Grinvitch)
- .br
- %D - request duration (in milliseconds)
- .br
- %b - average send rate per request (in Bytes per second) this speed is typically below connection speed shown by download manager.
- .br
- %B - average receive rate per request (in Bytes per second) this speed is typically below connection speed shown by download manager.
- .br
- %U - Username
- .br
- %N - service Name
- .br
- %p - service Port
- .br
- %E - Error code
- .br
- %C - Client IP
- .br
- %c - Client port
- .br
- %R - Remote IP
- .br
- %r - Remote port
- .br
- %e - External IP used to establish connection
- .br
- %Q - Requested IP
- .br
- %q - Requested port
- .br
- %n - requested hostname
- .br
- %I - bytes In
- .br
- %O - bytes Out
- .br
- %h - Hops (redirections) count
- .br
- %T - service specific Text
- .br
- %N1-N2T - (N1 and N2 are positive numbers) - log only fields from N1 thorugh N2 of service specific text
- .br
- in case of ODBC logging logformat specifies SQL statement, for exmample:
- .br
- logformat "-'+_Linsert into log (l_date, l_user, l_service, l_in, l_out, l_descr) values ('%d-%m-%Y %H:%M:%S', '%U', '%N', %I, %O, '%T')"
- .br
- .B logdump
- <in_traffic_limit> <out_traffic_limit>
- .br
- Immediately creates additional log records if given amount of incoming/outgoing
- traffic is achieved for connection, without waiting for connection to finish.
- It may be useful to prevent information about long-lasting downloads on server
- shutdown.
- .br
- .B archiver
- <ext> <commandline>
- .br
- Archiver to use for log files. <ext> is file extension produced by
- archiver. Filename will be last argument to archiver, optionally you
- can use %A as produced archive name and %F as filename.
- .br
- .B timeouts
- <BYTE_SHORT> <BYTE_LONG> <STRING_SHORT> <STRING_LONG> <CONNECTION_SHORT> <CONNECTION_LONG> <DNS> <CHAIN>
- .br
- Sets timeout values
- .br
- BYTE_SHORT - short timeout for single byte, is usually used for receiving single byte from stream.
- .br
- BYTE_LONG - long timeout for single byte, is usually used for receiving first byte in frame (for example first byte in socks request).
- .br
- STRING_SHORT - short timeout, for character string within stream (for example to wait between 2 HTTP headers)
- .br
- STRING_LONG - long timeout, for first string in stream (for example to wait for HTTP request).
- .br
- CONNECTION_SHORT - inactivity timeout for short connections (HTTP, POP3, etc).
- .br
- CONNECTION_LONG - inactivity timeout for long connection (SOCKS, portmappers, etc).
- .br
- DNS - timeout for DNS request before requesting next server
- .br
- CHAIN - timeout for reading data from chained connection
- .br
- .br
- .B nserver
- <ipaddr>
- .br
- Nameserver to use for name resolutions. If none spcified system
- or name server fails system routines for name resolution will be
- used. It's better to specify nserver because gethostbyname() may
- be thread unsafe.
- .br
- .B nscache
- <cachesize>
- .br
- Cache <cachesize> records for name resolution. Cachesize usually
- should be large enougth (for example 65536).
- .br
- .B nsrecord
- <hostname> <hostaddr>
- .BR
- Adds static record to nscache. nscache must be enabled. If 0.0.0.0
- is used as a hostaddr host will never resolve, it can be used to
- blacklist something or together with
- .B dialer
- command to set up UDL for dialing.
- .br
- .B fakeresolve
- .BR
- All names are resolved to 127.0.0.2 address. Usefull if all requests are
- redirected to parent proxy with http, socks4+, connect+ or socks5+.
- .br
- .B dialer
- <progname>
- .br
- Execute progname if external name can't be resolved.
- Hint: if you use nscache, dialer may not work, because names will
- be resolved through cache. In this case you can use something like
- http://dial.right.now/ from browser to set up connection.
- .br
- .B internal
- <ipaddr>
- .br
- sets ip address of internal interface. This IP address will be used
- to bind gateways. Alternatively you can use -i option for individual
- gateways
- .br
- .B external
- <ipaddr>
- .br
- sets ip address of external interface. This IP address will be source
- address for all connections made by proxy. Alternatively you can use
- -e option to specify individual address for gateway.
-
- .br
- .B maxconn
- <number>
- .br
- sets maximum number of simulationeous connections to each services
- started after this command. Default is 100.
- .br
- .B service
- .br
- (depricated). Indicates 3proxy to behave as Windows 95/98/NT/2000/XP
- service, no effect for Unix. Not required for 3proxy 0.6 and above. If
- you upgraded from previous version of 3proxy use --remove and --install
- to reinstall service.
- .br
- .B daemon
- .br
- Should be specified to close console. Do not use 'daemon' with 'service'.
- At least under FreeBSD 'daemon' should preceed any proxy service
- and log commands to avoid sockets problem. Always place it in the beginning
- of the configuration file.
- .br
- .B auth
- <authtype> [...]
- .br
- Type of user authorization. Currently supported:
- .br
- none - no authentication or authorization required.
- Note: is auth is none any ip based limitation, redirection, etc will not work.
- This is default authentication type
- .br
- iponly - authentication by access control list with username ignored.
- Appropriate for most cases
- .br
- useronly - authentication by username without checking for any password with
- authorization by ACLs. Useful for e.g. SOCKSv4 proxy and icqpr (icqpr set UIN /
- AOL screen name as a username)
- .br
- dnsname - authentication by DNS hostnname with authorization by ACLs.
- DNS hostname is resolved via PTR (reverse) record and validated (resolved
- name must resolve to same IP address). It's recommended to use authcache by
- ip for this authentication.
- NB: there is no any password check, name may be spoofed.
- .br
- nbname - authentication by NetBIOS name with authorization by ACLs.
- Messanger service should be started on user's machine. Note, that
- Windows 95/98 hosts do not have messanger service by default,
- WinPopup program need to be started. It's recommended to use authcache by
- ip for this authentication.
- NB: there is no any password check, name may be spoofed.
- .br
- strong - username/password authentication required. It will work with
- SOCKSv5, FTP, POP3 and HTTP proxy.
- .br
- cache - cached authentication, may be used with 'authcache'.
- .br
- Plugins may add additional authentication types.
- .br
- It's possible to use few authentication types in the same commands. E.g.
- .br
- auth iponly strong
- .br
- In this case 'strong' authentication will be used only in case resource
- access can not be performed with 'iponly' authentication, that is username is
- required in ACL. It's usefull to protect access to some resources with
- password allowing passwordless access to another resources, or to use
- IP-based authentication for dedicated laptops and request username/password for
- shared ones.
- .br
- .B authcache
- <cachtype> <cachtime>
- .br
- Cache authentication information to given amount of time (cachetime) in seconds.
- Cahtype is one of:
- .br
- ip - after successful authentication all connections during caching time
- from same IP are assigned to the same user, username is not requested.
- .br
- ip,user username is requested and all connections from the same IP are
- assigned to the same user without actual authentication.
- .br
- user - same as above, but IP is not checked.
- .br
- user,password - both username and password are checked against cached ones.
- .br
- Use auth type 'cache' for cached authentication
- .br
- .B allow
- <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- <weekdayslist> <timeperiodslist>
- .br
- .B deny
- <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- <weekdayslist> <timeperiodslist>
- .br
- Access control entries. All lists are comma-separated, no spaces are
- allowed. Usernames are case sensitive (if used with authtype nbname
- username must be in uppercase). Source and target lists may contain
- IP addresses (W.X.Y.Z) or CIDRs (W.X.Y.Z/L). Since 0.6, targetlist may also
- contain host names, instead of addresses. It's possible to use wildmask in
- the begginning and in the the end of hostname, e.g. *badsite.com or
- *badcontent*. Hostname is only checked if hostname presents in request.
- Targetportlist may contain ports (X) or port ranges lists (X-Y). For any field
- * sign means "ANY" If access list is empty it's assumed to be
- .br
- allow *
- .br
- If access list is not empty last item in access list is assumed to be
- .br
- deny *
- .br
- You may want explicitly add "deny *" to the end of access list to prevent
- HTTP proxy from requesting user's password.
- Access lists are checked after user have requested any resource.
- If you want 3proxy to reject connections from specific addresses
- immediately without any conditions you should either bind proxy
- to appropriate interface only or to use ip filters.
- .br
- Operation is one of:
- .br
- CONNECT - establish outgoing TCP connection
- .br
- BIND - bind TCP port for listening
- .br
- UDPASSOC - make UDP association
- .br
- ICMPASSOC - make ICMP association (for future use)
- .br
- HTTP_GET - HTTP GET request
- .br
- HTTP_PUT - HTTP PUT request
- .br
- HTTP_POST - HTTP POST request
- .br
- HTTP_HEAD - HTTP HEAD request
- .br
- HTTP_CONNECT - HTTP CONNECT request
- .br
- HTTP_OTHER - over HTTP request
- .br
- HTTP - matches any HTTP request except HTTP_CONNECT
- .br
- HTTPS - same as HTTP_CONNECT
- .br
- FTP_GET - FTP get request
- .br
- FTP_PUT - FTP put request
- .br
- FTP_LIST - FTP list request
- .br
- FTP_DATA - FTP data connection. Note: FTP_DATA requires access to dynamic
- non-ptivileged (1024-65535) ports on remote side.
- .br
- FTP - matches any FTP/FTP Data request
- .br
- ADMIN - access to administration interface
- .br
- Weeksdays are week days numbers or periods (0 or 7 means Sunday, 1 is Monday,
- 1-5 means Monday through Friday). Timeperiodlists is a list of time
- periods in HH:MM:SS-HH:MM:SS format. For example,
- 00:00:00-08:00:00,17:00:00-24:00:00
- lists non-working hours.
-
- .br
- .B parent
- <weight> <type> <ip> <port> <username> <password>
- .br
- this command must follow "allow" rule. It extends last allow rule to
- build proxy chain. Proxies may be grouped. Proxy inside the
- group is selected randomly. If few groups are specified one proxy
- is randomly picked from each group and chain of proxies is created
- (that is second proxy connected through first one and so on).
- Weight is used to group proxies. Weigt is a number between 1 and 1000.
- Weights are summed and proxies are grouped together untill weight of
- group is 1000. That is:
- .br
- allow *
- .br
- parent 500 socks5 192.168.10.1 1080
- .br
- parent 500 connect 192.168.10.1 3128
- .br
- makes 3proxy to randomly choose between 2 proxies for all outgoing
- connections. These 2 proxies form 1 group (summarized weight is 1000).
- .br
- allow * * * 80
- .br
- parent 1000 socks5 192.168.10.1 1080
- .br
- parent 1000 connect 192.168.20.1 3128
- .br
- parent 300 socks4 192.168.30.1 1080
- .br
- parent 700 socks5 192.168.40.1 1080
- .br
- creates chain of 3 proxies: 192.168.10.1, 192.168.20.1 and third
- is (192.168.30.1 with probability of 0.3 or 192.168.40.1
- with probability of 0.7) for outgoing web connections.
- .br
- type is one of:
- .br
- tcp - simply redirect connection. TCP is always last in chain.
- .br
- http - redirect to HTTP proxy. HTTP is always last chain.
- .br
- pop3 - redirect to POP3 proxy (only local redirection is supported, can not be
- used for chaining)
- .br
- ftp - redirect to FTP proxy (only local redirection is supported, can not be
- used for chaining)
- .br
- connect - parent is HTTP CONNECT method proxy
- .br
- connect+ - parent is HTTP CONNECT proxy with name resolution
- .br
- socks4 - parent is SOCKSv4 proxy
- .br
- socks4+ - parent is SOCKSv4 proxy with name resolution (SOCKSv4a)
- .br
- socks5 - parent is SOCKSv5 proxy
- .br
- socks5+ - parent is SOCKSv5 proxy with name resolution
- .br
- socks4b - parent is SOCKS4b (broken SOCKSv4 implementation with shortened
- server reply. I never saw this kind ofservers byt they say there are).
- Normally you should not use this option. Do not mess this option with
- SOCKSv4a (socks4+).
- .br
- socks5b - parent is SOCKS5b (broken SOCKSv5 implementation with shortened
- server reply. I think you will never find it useful). Never use this option
- unless you know exactly you need it.
- .br
- admin - redirect request to local 'admin' service (with -s parameter).
- .br
- Use "+" proxy only with "fakeresolve" option
- .br
- IP and port are ip addres and port of parent proxy server.
- If IP is zero, ip is taken from original request, only port is changed.
- If port is zero, it's taken from original request, only IP is changed.
- If both IP and port are zero - it's a special case of local redirection,
- it works only with
- .B socks
- proxy. In case of local redirection request is redirected to different service,
- .B ftp
- locally redirects to
- .B ftppr
- .B pop3
- locally redirects to
- .B pop3p
- .B http
- locally redurects to
- .B proxy
- .B admin
- locally redirects to admin -s service.
- .br
- Main purpose of local redirections is to have requested resource
- (URL or POP3 username) logged and protocol-specific filters to be applied.
- In case of local redirection ACLs are revied twice: first, by SOCKS proxy up to
- 'parent' command and then with gateway service connection is
- redirected (HTTP, FTP or POP3) after 'parent' command. It means,
- additional 'allow' command is required for redirected requests, for
- example:
- .br
- allow * * * 80
- .br
- parent 1000 http 0.0.0.0 0
- .br
- allow * * * 80 HTTP_GET,HTTP_POST
- .br
- socks
- .br
- redirects all SOCKS requests with target port 80 to local HTTP proxy,
- local HTTP proxy parses requests and allows only GET and POST requests.
- .br
- parent 1000 http 1.2.3.4 0
- .br
- Changes external address for given connection to 1.2.3.4
- (an equivalent to -e1.2.3.4)
- Optional username and password are used to authenticate on parent
- proxy. Username of '*' means username must be supplied by user.
- .br
- .B nolog
- <n>
- extends last allow or deny command to prevent logging, e.g.
- .br
- allow * * 192.168.1.1
- .br
- nolog
- .br
- .B weight
- <n>
- extends last allow or deny command to set weight for this request
- .br
- allow * * 192.168.1.1
- .br
- weight 100
- .br
- Weight may be used for different purposes.
- .br
- .B bandlimin
- <rate> <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- .br
- .B nobandlimin
- <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- .B bandlimout
- <rate> <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- .br
- .B nobandlimout
- <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- .br
- bandlim sets bandwith limitation filter to <rate> bps (bits per second)
- (if you want to specife bytes per second - multiply your value to 8).
- bandlim rules act in a same manner as allow/deny rules except
- one thing: bandwidth limiting is applied to all services, not to some
- specific service.
- bandlimin and nobandlimin applies to incoming traffic
- bandlimout and nobandlimout applies to outgoing traffic
- If tou want to ratelimit your clients with ip's 192.168.10.16/30 (4
- addresses) to 57600 bps you have to specify 4 rules like
- .br
- bandlimin 57600 * 192.168.10.16
- .br
- bandlimin 57600 * 192.168.10.17
- .br
- bandlimin 57600 * 192.168.10.18
- .br
- bandlimin 57600 * 192.168.10.19
- .br
- and every of you clients will have 56K channel. if you specify
- .br
- bandlimin 57600 * 192.168.10.16/30
- .br
- you will have 56K channel shared between all clients.
- if you want, for example, to limit all speed ecept access to POP3 you can use
- .br
- nobandlimin * * * 110
- .br
- before the rest of bandlim rules.
- .br
- .B counter
- <filename> <reporttype> <repotname>
- .br
- .B countin
- <number> <type> <limit> <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- .br
- .B nocountin
- <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- .br
- .B countout
- <number> <type> <limit> <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- .br
- .B nocountout
- <userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
- .br
- counter, countin, nocountin, countout, noucountout commands are
- used to set traffic limit
- in MB for period of time (day, week or month). Filename is a path
- to a special file where traffic information is permanently stored.
- number is sequential number of record in this file. If number is 0
- no traffic information on this counter is saved in file (that is
- if proxy restarted all information is loosed) overwise it should be
- unique sequential number.
- Type specifies a type of counter. Type is one of:
- .br
- D - counter is resetted daily
- .br
- W - counter is resetted weekly
- .br
- M - counter is resetted monthely
- .br
- reporttype/repotname may be used to generate traffic reports.
- Reporttype is one of D,W,M,H(hourly) and repotname specifies filename
- template for reports. Report is text file with counter values in
- format:
- .br
- <COUNTERNUMBER> <TRAF*4GB> <TRAF>
- .br
- The rest of parameters is identical to bandlim/nobandlim.
- .br
- .B users
- username[:pwtype:password] ...
- .br
- pwtype is one of:
- .br
- none (empty) - use system authentication
- .br
- CL - password is cleartext
- .br
- CR - password is crypt-style password
- .br
- NT - password is NT password (in hex)
- .br
- example:
- .br
- users test1:CL:password1 "test2:CR:$1$lFDGlder$pLRb4cU2D7GAT58YQvY49."
- .br
- users test3:NT:BD7DFBF29A93F93C63CB84790DA00E63
- .br
- (note: double quotes are requiered because password contains $ sign).
- .br
- .B flush
- .br
- empty active access list. Access list must be flushed avery time you creating
- new access list for new service. For example:
- .br
- allow *
- .br
- pop3p
- .br
- flush
- .br
- allow * 192.168.1.0/24
- .br
- socks
- .br
- sets different ACLs for
- .B pop3p
- and
- .B socks
- .br
- .B system
- .br
- execute system command
- .br
- .B pidfile
- <filename>
- .br
- write pid of current process to file. It can be used to manipulate
- 3proxy with signals under Unix. Currently next signals are available:
- .br
- .B monitor
- <filename>
- .br
- If file monitored changes in modification time or size, 3proxy reloads
- configuration within one minute. Any number of files may be monitored.
- .br
- .B setuid
- <uid>
- .br
- calls setuid(uid), uid must be numeric. Unix only. Warning: under some Linux
- kernels setuid() works onle for current thread. It makes it impossible to suid
- for all threads.
- .br
- .B setgid
- <gid>
- .br
- calls setgid(gid), gid must be numeric. Unix only.
- .br
- .B chroot
- <path>
- .br
- calls chroot(path). Unix only.
- .SH PLUGINS
- .br
- .B plugin
- <path_to_shared_library> <function_to_call> [<arg1> ...]
- .br
- Loads specified library and calls given export function with given arguments,
- as
- .br
- int functions_to_call(struct pluginlink * pl, int argc, char * argv[]);
- .br
- function_to_call must return 0 in case of success, value > 0 to indicate error.
- .br
- .B filtermaxsize
- <max_size_of_data_to_filter>
- .br
- If Content-length (or another data length) is greater than given value, no
- data filtering will be performed thorugh filtering plugins to avoid data
- corruption and/or Content-Length chaging. Default is 1MB (1048576).
- .SH SEE ALSO
- 3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8), syslogd(8),
- .br
- http://3proxy.ru/
- .SH TRIVIA
- 3APA3A is pronounced as \`\`zaraza\'\'.
- .SH AUTHORS
- 3proxy is designed by 3APA3A
- .RI ( 3APA3A@security.nnov.ru ),
- Vladimir Dubrovin
- .RI ( vlad@sandy.ru )
|