From e78d9f8327f1480c848ca06ec40c992f36380f4e Mon Sep 17 00:00:00 2001
From: z3APA3A <3APA3A@3proxy.ru>
Date: Wed, 13 Jan 2016 23:35:35 +0300
Subject: [PATCH] plugins documentation added
---
doc/html/plugins/PCREPlugin.html | 94 +++++++++++++++++++++++++++++
doc/html/plugins/SSLPlugin.html | 34 +++++++++++
doc/html/plugins/StringsPlugin.html | 16 +++++
doc/html/plugins/TrafficPlugin.html | 52 ++++++++++++++++
man/3proxy.8 | 2 +-
man/3proxy.cfg.3 | 4 +-
man/ftppr.8 | 2 +-
man/icqpr.8 | 2 +-
man/pop3p.8 | 2 +-
man/proxy.8 | 2 +-
man/smtpp.8 | 2 +-
man/socks.8 | 2 +-
man/tcppm.8 | 2 +-
man/udppm.8 | 2 +-
src/version.h | 2 +-
15 files changed, 209 insertions(+), 11 deletions(-)
create mode 100644 doc/html/plugins/PCREPlugin.html
create mode 100644 doc/html/plugins/SSLPlugin.html
create mode 100644 doc/html/plugins/StringsPlugin.html
create mode 100644 doc/html/plugins/TrafficPlugin.html
diff --git a/doc/html/plugins/PCREPlugin.html b/doc/html/plugins/PCREPlugin.html
new file mode 100644
index 0000000..fb0892a
--- /dev/null
+++ b/doc/html/plugins/PCREPlugin.html
@@ -0,0 +1,94 @@
+
+
3proxy Perl Compatible Regular Expressions (PCRE) plugin
+
+This filtering plugin can be used to create matching and replace
+rules with regular expressions for client's request, client and
+servers header and client and server data. It adds 3 additional
+configuration commands:
+
+
+pcre TYPE FILTER_ACTION REGEXP [ACE]
+pcre_rewrite TYPE FILTER_ACTION REGEXP REWRITE_EXPRESSION [ACE]
+pcre_extend FILTER_ACTION [ACE]
+pcre_options OPTION1 [...]
+
+pcre - allows to apply some rule for matching
+
pcre_rewrite - in addition to 'pcre' allows to substitute substrings
+
pcre_extend - extends ACL of the last pcre or pcre_rewrite comand by
+adding additional ACE (like with allow/deny configuration commands).
+
pcre_options - allows to set matching options. Awailable options are:
+PCRE_CASELESS,
+PCRE_MULTILINE,
+PCRE_DOTALL,
+PCRE_EXTENDED,
+PCRE_ANCHORED,
+PCRE_DOLLAR_ENDONLY,
+PCRE_EXTRA,
+PCRE_NOTBOL,
+PCRE_NOTEOL,
+PCRE_UNGREEDY,
+PCRE_NOTEMPTY,
+PCRE_UTF8,
+PCRE_NO_AUTO_CAPTURE,
+PCRE_NO_UTF8_CHECK,
+PCRE_AUTO_CALLOUT,
+PCRE_PARTIAL,
+PCRE_DFA_SHORTEST,
+PCRE_DFA_RESTART,
+PCRE_FIRSTLINE,
+PCRE_DUPNAMES,
+PCRE_NEWLINE_CR,
+PCRE_NEWLINE_LF,
+PCRE_NEWLINE_CRLF,
+PCRE_NEWLINE_ANY,
+PCRE_NEWLINE_ANYCRLF,
+PCRE_BSR_ANYCRLF,
+PCRE_BSR_UNICODE
+
+
+- TYPE - type of filtered data. May contain one or more
+(comma delimited list) values:
+
+ - request - content of client's request e.g. HTTP GET request string.
+(known problem: changing request string doesn't change IP of the host to connect)
+
- cliheader - content of client request headers, e.g. HTTP request header.
+
- srvheader - content of server's reply headers, e.g. HTTP status and headers.
+
- clidata - data received from client, e.g. HTTP POST request data
+
- srvdata - data received from server, e.g. HTML page
+
+ - FILTER_ACTION - action on match
+
allow - allow this request without checking rest of the given type
+of the rules
+ - deny - deny this request without checking rest of the rules
+
- dunno - continue with the rest of rules (useful with pcre_rewrite)
+
+ - REGEXP - PCRE (perl) regular expression. Use * if no regexp matching
+required.
+
- REWRITE_EXPRESSION - substitution string. May contain perl-style
+substrings
+(not tested) $1, $2. $0 - means whole matched string. \r and \n may be used
+to insert new strings, string may be empty ("").
+
- ACE - access control entry (user names, source IPs, destination IPs,
+ports, etc), absolutely identical to allow/deny/bandlimin commands.
+Regular expression is only matched if ACL matches connection data.
+Warning:
+reqular expression doesn't require authentication and can not replace
+authentication and/or allow/deny ACLs.
+
+
+
+Example:
+
+plugin PCREPlugin.dll pcre_plugin
+pcre request deny "porn|sex" user1,user2,user3 192.168.0.0/16
+pcre srvheader deny "Content-type: application"
+pcre_rewrite clidata,srvdata dunno "porn|sex|pussy" "***" baduser
+pcre_extend deny * 192.168.0.1/16
+
+
+Download:
+
+ - Plugin is included into 3proxy 0.6 binary and source distribution
+
- Example configuration (by Dennis Garber): NoPornLitest.cfg
+
+
diff --git a/doc/html/plugins/SSLPlugin.html b/doc/html/plugins/SSLPlugin.html
new file mode 100644
index 0000000..008baa7
--- /dev/null
+++ b/doc/html/plugins/SSLPlugin.html
@@ -0,0 +1,34 @@
+3proxy SSL/TLS plugin
+
+Plugin can be used to transparently decypher SSL/TLS data. Plugin should never be used in production environment due to
+potential securiy reasons.
+
+
+ssl_certcache PATH_TO_CACHE
+ssl_mitm
+ssl_nomitm
+
+ssl_certcache - path to certificates cache. For transparent spoofing cache must contain 3 files: 3proxy.pem - public
+self-signed certificates, 3proxy.key - key for public certificates, server.key - this key will be used to generates
+spoofed certificates.
+Generated certificates will be placed to the same path.
+
ssl_mitm - spoof certificates for services started below
+
ssl_nomitm - do not spoof certificates for services started below
+
+
+Example:
+
+plugin /path/to/SslPlugin.dll ssl_plugin
+ssl_certcache /path/to/cache/
+ssl_mitm
+proxy -p3128
+ssl_nomitm
+proxy -p3129
+
+
+Download:
+
+ - Plugin included into 3proxy 0.8
+
+
+© Vladimir Dubrovin, License: BSD style
diff --git a/doc/html/plugins/StringsPlugin.html b/doc/html/plugins/StringsPlugin.html
new file mode 100644
index 0000000..de00c92
--- /dev/null
+++ b/doc/html/plugins/StringsPlugin.html
@@ -0,0 +1,16 @@
+
+3proxy strings substitution plugin
+May be used to make interface more pretty or to translate proxy server
+messages to different language. All messages are taken from proxy.c and
+moved to external text file (e.g. rus-win1251.3ps). On the moment of
+writing there are 15 sections. Sections are delimited with "[end]".
+Example:
+plugin "StringsPlugin.dll" start c:\3proxy\bin\rus-win1251.3ps
+
+
+Download:
+
+ - Plugin is included into 3proxy 0.6 binary and source distribution
+
+
+©Kirill Lopuchov
\ No newline at end of file
diff --git a/doc/html/plugins/TrafficPlugin.html b/doc/html/plugins/TrafficPlugin.html
new file mode 100644
index 0000000..dc4cb4b
--- /dev/null
+++ b/doc/html/plugins/TrafficPlugin.html
@@ -0,0 +1,52 @@
+3proxy traffic correction plugin
+3proxy logs and counts traffic on application level, while provider usually does
+it on network or link level. It's significant if you use 3proxy for billing,
+especially in case where network packets are small, e.g. network games.
+
+This plugin attempts to correct 3proxy computations to approximate network or
+link level traffic by using either fixed coefficients by port number or
+attempting to predict number and sizes of network packets.
+
Usage:
+
+ - Extract TrafficPlugin.dll to the same folder with 3proxy executable.
+
- Start plugin in 3proxy.cfg with
+
plugin TrafficPlugin.dll start
+
+ - Add correction rules:
+
+FOR FIXED COEFFICIENTS MODE:
+trafcorrect m <service> <target port> <coefficient>
+
+where <service> - one of proxy, socks4, socks45, socks5, tcppm, udppm, pop3p, * matches "any".
+
<target port> - target port, * matches any
+
<coefficient> - coefficient to multiply traffic for this port.
+
+FOR PACKET HEADER PREDICTION MODE
+trafcorrect p <service> <tcp/udp> <target port> [empty packet size]
+
+tcp ot udp - transport level protocol to apply rule
+
+empty packet size - average size of "empty" packet, that is sum of average network/transport headers.
+You can use network sniffer, such is Ethereal to discover it. Usually packet size
+is 42 for UDP and
+
Modes can be mixed.
+
Plugin creates a list of rules, first matching rule will be applied.
+
+For any mode plugin approximates traffic, logged or counted amount is not exact.
+Example:
+plugin "TrafficPlugin.dll" start
+trafcorrect m socks5 6112 4.5
+trafcorrect m socks5 * 1.1
+
+wrong usage:
+trafcorrect m socks5 * 1.1
+trafcorrect m socks5 6112 4.5
+
+second rule will never be applied.
+Download:
+
+ - Plugin is included into 3proxy 0.6 binary and source distribution
+
+
+©Maslov Michael aka Flexx(rus)
+
\ No newline at end of file
diff --git a/man/3proxy.8 b/man/3proxy.8
index 041ee3d..a6313a7 100644
--- a/man/3proxy.8
+++ b/man/3proxy.8
@@ -138,7 +138,7 @@ wget to automate this task.
configuration file
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy.cfg(3), proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8),
kill(1), syslogd(8),
diff --git a/man/3proxy.cfg.3 b/man/3proxy.cfg.3
index 763bbff..4977740 100644
--- a/man/3proxy.cfg.3
+++ b/man/3proxy.cfg.3
@@ -905,7 +905,9 @@ 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 BUGS
+Report all bugs to
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8), syslogd(8),
.br
diff --git a/man/ftppr.8 b/man/ftppr.8
index fd25e46..f54c805 100644
--- a/man/ftppr.8
+++ b/man/ftppr.8
@@ -73,7 +73,7 @@ is user\'s login on this FTP server. Login itself may contain \'@\' sign.
Only cleartext authentication is currently supported.
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), proxy(8), pop3p(8), socks(8), tcppm(8), udppm(8), syslogd(8),
.br
diff --git a/man/icqpr.8 b/man/icqpr.8
index 2de20f2..8ae0fd5 100644
--- a/man/icqpr.8
+++ b/man/icqpr.8
@@ -66,7 +66,7 @@ as a destination in client application. Connection is forwarded to
.IR remote_host : remote_port
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8),
.br
diff --git a/man/pop3p.8 b/man/pop3p.8
index bd6484b..78855fd 100644
--- a/man/pop3p.8
+++ b/man/pop3p.8
@@ -69,7 +69,7 @@ authentication (APOP, CRAM-MD5, etc) requires challenge from server before
we know which server to connect.
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), ftppr(8), proxy(8), socks(8), tcppm(8), udppm(8), syslogd(8),
.br
diff --git a/man/proxy.8 b/man/proxy.8
index 5be0dd5..b9800c5 100644
--- a/man/proxy.8
+++ b/man/proxy.8
@@ -64,7 +64,7 @@ limit clients, use
instead.
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8), syslogd(8),
.br
diff --git a/man/smtpp.8 b/man/smtpp.8
index f63f27f..357f94c 100644
--- a/man/smtpp.8
+++ b/man/smtpp.8
@@ -70,7 +70,7 @@ authentication (CRAM-MD5, SPA, etc) requires challenge from server before
we know which server to connect.
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), ftppr(8), proxy(8), socks(8), tcppm(8), udppm(8), syslogd(8),
.br
diff --git a/man/socks.8 b/man/socks.8
index 4e6f95a..11ce9b9 100644
--- a/man/socks.8
+++ b/man/socks.8
@@ -65,7 +65,7 @@ sufficient privileges). If you need to control access use
instead.
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), proxy(8), ftppr(8), pop3p(8), tcppm(8), udppm(8), syslogd(8),
.br
diff --git a/man/tcppm.8 b/man/tcppm.8
index 2cd13f6..f412d91 100644
--- a/man/tcppm.8
+++ b/man/tcppm.8
@@ -59,7 +59,7 @@ as a destination in client application. Connection is forwarded to
.IR remote_host : remote_port
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8),
.br
diff --git a/man/udppm.8 b/man/udppm.8
index 819b836..6c4d444 100644
--- a/man/udppm.8
+++ b/man/udppm.8
@@ -65,7 +65,7 @@ as a destination in client application. All datagrams are forwarded to
.IR remote_host : remote_port
.SH BUGS
Report all bugs to
-.BR 3proxy@security.nnov.ru
+.BR 3proxy@3proxy.ru
.SH SEE ALSO
3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8),
.br
diff --git a/src/version.h b/src/version.h
index c83653e..a22a3c7 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,2 +1,2 @@
#define VERSION "3proxy-0.8-pre"
-#define BUILDDATE "160113020317"
+#define BUILDDATE "160113233318"