mirror of
https://github.com/3proxy/3proxy.git
synced 2025-02-23 10:35:40 +08:00
minor documentations updates
This commit is contained in:
parent
0be4ee932b
commit
08be6b9f98
134
man/3proxy.cfg.3
134
man/3proxy.cfg.3
@ -5,31 +5,33 @@
|
||||
.SH DESCRIPTION
|
||||
Common structure:
|
||||
.br
|
||||
Configuration file is a text file 3proxy reads configuration from. Each line
|
||||
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
|
||||
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
|
||||
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
|
||||
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.
|
||||
@ -39,9 +41,12 @@ 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
|
||||
|
||||
.br
|
||||
.B proxy
|
||||
[options]
|
||||
.br
|
||||
@ -174,18 +179,18 @@ proxy on a client with FTP proxy support. Username format is one of
|
||||
.B include
|
||||
<path>
|
||||
.br
|
||||
Include config file
|
||||
Include config file
|
||||
|
||||
.br
|
||||
.B config
|
||||
<path>
|
||||
.br
|
||||
Path to configuration file to use on 3proxy restart or to save configuration.
|
||||
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,
|
||||
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.
|
||||
@ -193,13 +198,13 @@ alternate config file. Think twice before using it.
|
||||
.br
|
||||
.B end
|
||||
.br
|
||||
End of configuration
|
||||
End of configuration
|
||||
|
||||
.br
|
||||
.B log
|
||||
[[@|&]logfile] [<LOGTYPE>]
|
||||
.br
|
||||
sets logfile for all gateways
|
||||
sets logfile for all gateways
|
||||
.br
|
||||
@ - (for Unix) use syslog, filename is used as ident name
|
||||
.br
|
||||
@ -215,10 +220,10 @@ sets logfile for all gateways
|
||||
.br
|
||||
H - Hourly
|
||||
.br
|
||||
if logfile is not specified logging goes to stdout. You can specify individual logging options for gateway by using
|
||||
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
|
||||
"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.
|
||||
@ -226,13 +231,13 @@ Grinwitch time zone for all time-based format specificators.
|
||||
.br
|
||||
.B rotate
|
||||
<n>
|
||||
how many archived log files to keep
|
||||
how many archived log files to keep
|
||||
|
||||
.br
|
||||
.B logformat
|
||||
<format>
|
||||
|
||||
Format for log record. First symbol in format must be L (local time)
|
||||
.br
|
||||
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
|
||||
@ -240,7 +245,7 @@ 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:
|
||||
You can use:
|
||||
|
||||
.br
|
||||
%y - Year in 2 digit format
|
||||
@ -305,7 +310,7 @@ You can use:
|
||||
.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:
|
||||
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')"
|
||||
|
||||
@ -313,7 +318,7 @@ in case of ODBC logging logformat specifies SQL statement, for exmample:
|
||||
.B logdump
|
||||
<in_traffic_limit> <out_traffic_limit>
|
||||
.br
|
||||
Immediately creates additional log records if given amount of incoming/outgoing
|
||||
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.
|
||||
@ -322,7 +327,7 @@ shutdown.
|
||||
.B archiver
|
||||
<ext> <commandline>
|
||||
.br
|
||||
Archiver to use for log files. <ext> is file extension produced by
|
||||
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.
|
||||
|
||||
@ -330,7 +335,7 @@ can use %A as produced archive name and %F as filename.
|
||||
.B timeouts
|
||||
<BYTE_SHORT> <BYTE_LONG> <STRING_SHORT> <STRING_LONG> <CONNECTION_SHORT> <CONNECTION_LONG> <DNS> <CHAIN>
|
||||
.br
|
||||
Sets timeout values
|
||||
Sets timeout values
|
||||
.br
|
||||
BYTE_SHORT - short timeout for single byte, is usually used for receiving single byte from stream.
|
||||
.br
|
||||
@ -366,16 +371,15 @@ performed over TCP.
|
||||
.B nscache6
|
||||
<cachesize>
|
||||
.br
|
||||
|
||||
Cache <cachesize> records for name resolution (nscache for IPv4,
|
||||
Cache <cachesize> records for name resolution (nscache for IPv4,
|
||||
nscache6 for IPv6). 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
|
||||
.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
|
||||
@ -383,15 +387,15 @@ 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
|
||||
.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.
|
||||
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.
|
||||
@ -401,7 +405,7 @@ http://dial.right.now/ from browser to set up connection.
|
||||
.B internal
|
||||
<ipaddr>
|
||||
.br
|
||||
sets ip address of internal interface. This IP address will be used
|
||||
sets ip address of internal interface. This IP address will be used
|
||||
to bind gateways. Alternatively you can use -i option for individual
|
||||
gateways. Since 0.8 version, IPv6 address may be used.
|
||||
|
||||
@ -409,7 +413,7 @@ gateways. Since 0.8 version, IPv6 address may be used.
|
||||
.B external
|
||||
<ipaddr>
|
||||
.br
|
||||
sets ip address of external interface. This IP address will be source
|
||||
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. Since 0.8 version
|
||||
External or -e can be given twice: once with IPv4 and once with IPv6 address.
|
||||
@ -418,13 +422,13 @@ External or -e can be given twice: once with IPv4 and once with IPv6 address.
|
||||
.B maxconn
|
||||
<number>
|
||||
.br
|
||||
sets maximum number of simulationeous connections to each services
|
||||
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
|
||||
(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.
|
||||
@ -432,7 +436,7 @@ to reinstall service.
|
||||
.br
|
||||
.B daemon
|
||||
.br
|
||||
Should be specified to close console. Do not use 'daemon' with 'service'.
|
||||
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.
|
||||
@ -441,11 +445,12 @@ of the configuration file.
|
||||
.B auth
|
||||
<authtype> [...]
|
||||
.br
|
||||
Type of user authorization. Currently supported:
|
||||
Type of user authorization. Currently supported:
|
||||
.br
|
||||
none - no authentication or authorization required.
|
||||
.br
|
||||
Note: is auth is none any ip based limitation, redirection, etc will not work.
|
||||
This is default authentication type
|
||||
This is default authentication type
|
||||
.br
|
||||
iponly - authentication by access control list with username ignored.
|
||||
Appropriate for most cases
|
||||
@ -465,14 +470,14 @@ SOCKSv5, FTP, POP3 and HTTP proxy.
|
||||
.br
|
||||
cache - cached authentication, may be used with 'authcache'.
|
||||
.br
|
||||
Plugins may add additional authentication types.
|
||||
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
|
||||
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
|
||||
@ -483,7 +488,7 @@ shared ones.
|
||||
.B authcache
|
||||
<cachtype> <cachtime>
|
||||
.br
|
||||
Cache authentication information to given amount of time (cachetime) in seconds.
|
||||
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
|
||||
@ -507,7 +512,7 @@ Use auth type 'cache' for cached authentication
|
||||
<userlist> <sourcelist> <targetlist> <targetportlist> <operationlist>
|
||||
<weekdayslist> <timeperiodslist>
|
||||
.br
|
||||
Access control entries. All lists are comma-separated, no spaces are
|
||||
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), ranges A.B.C.D - W.X.Y.Z (since 0.8) or CIDRs
|
||||
@ -571,16 +576,14 @@ Operation is one of:
|
||||
.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.
|
||||
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
|
||||
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
|
||||
@ -687,14 +690,14 @@ example:
|
||||
.br
|
||||
socks
|
||||
.br
|
||||
redirects all SOCKS requests with target port 80 to local HTTP proxy,
|
||||
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
|
||||
Changes external address for given connection to 1.2.3.4
|
||||
(an equivalent to -e1.2.3.4)
|
||||
|
||||
.br
|
||||
Optional username and password are used to authenticate on parent
|
||||
proxy. Username of '*' means username must be supplied by user.
|
||||
|
||||
@ -702,7 +705,8 @@ 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
|
||||
extends last allow or deny command to prevent logging, e.g.
|
||||
.br
|
||||
allow * * 192.168.1.1
|
||||
.br
|
||||
@ -712,13 +716,14 @@ nolog
|
||||
.br
|
||||
.B weight
|
||||
<n>
|
||||
extends last allow or deny command to set weight for this request
|
||||
.br
|
||||
allow * * 192.168.1.1
|
||||
extends last allow or deny command to set weight for this request
|
||||
.br
|
||||
weight 100
|
||||
allow * * 192.168.1.1
|
||||
.br
|
||||
Weight may be used for different purposes.
|
||||
weight 100
|
||||
.br
|
||||
Weight may be used for different purposes.
|
||||
|
||||
.br
|
||||
.B bandlimin
|
||||
@ -810,7 +815,7 @@ format:
|
||||
.B users
|
||||
username[:pwtype:password] ...
|
||||
.br
|
||||
pwtype is one of:
|
||||
pwtype is one of:
|
||||
.br
|
||||
none (empty) - use system authentication
|
||||
.br
|
||||
@ -820,7 +825,7 @@ pwtype is one of:
|
||||
.br
|
||||
NT - password is NT password (in hex)
|
||||
.br
|
||||
example:
|
||||
example:
|
||||
.br
|
||||
users test1:CL:password1 "test2:CR:$1$lFDGlder$pLRb4cU2D7GAT58YQvY49."
|
||||
.br
|
||||
@ -831,7 +836,7 @@ example:
|
||||
.br
|
||||
.B flush
|
||||
.br
|
||||
empty active access list. Access list must be flushed avery time you creating
|
||||
empty active access list. Access list must be flushed avery time you creating
|
||||
new access list for new service. For example:
|
||||
.br
|
||||
allow *
|
||||
@ -844,35 +849,36 @@ new access list for new service. For example:
|
||||
.br
|
||||
socks
|
||||
.br
|
||||
sets different ACLs for
|
||||
sets different ACLs for
|
||||
.B pop3p
|
||||
and
|
||||
.B socks
|
||||
|
||||
.br
|
||||
.B system
|
||||
<command>
|
||||
.br
|
||||
execute system command
|
||||
execute system command
|
||||
|
||||
.br
|
||||
.B pidfile
|
||||
<filename>
|
||||
.br
|
||||
write pid of current process to file. It can be used to manipulate
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
@ -880,31 +886,31 @@ for all threads.
|
||||
.B setgid
|
||||
<gid>
|
||||
.br
|
||||
calls setgid(gid), gid must be numeric. Unix only.
|
||||
calls setgid(gid), gid must be numeric. Unix only.
|
||||
|
||||
.br
|
||||
.B chroot
|
||||
<path>
|
||||
.br
|
||||
calls chroot(path). Unix only.
|
||||
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,
|
||||
Loads specified library and calls given export function with given arguments,
|
||||
as
|
||||
.br
|
||||
int functions_to_call(struct pluginlink * pl, int argc, char * argv[]);
|
||||
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.
|
||||
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
|
||||
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).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user