Преглед изворни кода

removing autogenerated files

Vladimir Dubrovin пре 11 година
родитељ
комит
a3ffc7dc3b
40 измењених фајлова са 510 додато и 3521 уклоњено
  1. 2 0
      .gitignore
  2. 508 0
      doc/devel/devref.rtf
  3. 0 1300
      doc/html/man3/3proxy.cfg.3.html
  4. 0 268
      doc/html/man8/3proxy.8.html
  5. 0 693
      doc/html/man8/3proxy.conf.3.html
  6. 0 160
      doc/html/man8/ftppr.8.html
  7. 0 155
      doc/html/man8/icqpr.8.html
  8. 0 154
      doc/html/man8/pop3p.8.html
  9. 0 147
      doc/html/man8/proxy.8.html
  10. 0 155
      doc/html/man8/smtpp.8.html
  11. 0 148
      doc/html/man8/socks.8.html
  12. 0 146
      doc/html/man8/tcppm.8.html
  13. 0 153
      doc/html/man8/udppm.8.html
  14. 0 7
      src/plugins/CVS/Entries
  15. 0 1
      src/plugins/CVS/Repository
  16. 0 1
      src/plugins/CVS/Root
  17. 0 4
      src/plugins/FilePlugin/CVS/Entries
  18. 0 1
      src/plugins/FilePlugin/CVS/Repository
  19. 0 1
      src/plugins/FilePlugin/CVS/Root
  20. 0 2
      src/plugins/PCREPlugin/CVS/Entries
  21. 0 1
      src/plugins/PCREPlugin/CVS/Repository
  22. 0 1
      src/plugins/PCREPlugin/CVS/Root
  23. 0 1
      src/plugins/SSLPlugin/CVS/Entries
  24. 0 1
      src/plugins/SSLPlugin/CVS/Repository
  25. 0 1
      src/plugins/SSLPlugin/CVS/Root
  26. 0 2
      src/plugins/StringsPlugin/CVS/Entries
  27. 0 1
      src/plugins/StringsPlugin/CVS/Repository
  28. 0 1
      src/plugins/StringsPlugin/CVS/Root
  29. 0 2
      src/plugins/TrafficPlugin/CVS/Entries
  30. 0 1
      src/plugins/TrafficPlugin/CVS/Repository
  31. 0 1
      src/plugins/TrafficPlugin/CVS/Root
  32. 0 1
      src/plugins/TransparentPlugin/CVS/Entries
  33. 0 1
      src/plugins/TransparentPlugin/CVS/Repository
  34. 0 1
      src/plugins/TransparentPlugin/CVS/Root
  35. 0 4
      src/plugins/WindowsAuthentication/CVS/Entries
  36. 0 1
      src/plugins/WindowsAuthentication/CVS/Repository
  37. 0 1
      src/plugins/WindowsAuthentication/CVS/Root
  38. 0 1
      src/plugins/utf8tocp1251/CVS/Entries
  39. 0 1
      src/plugins/utf8tocp1251/CVS/Repository
  40. 0 1
      src/plugins/utf8tocp1251/CVS/Root

+ 2 - 0
.gitignore

@@ -14,6 +14,8 @@ tmp/
 *.bat
 *.swp
 version.c
+doc/html/man3/
+doc/html/man8/
 verfile.sh
 Makefile
 copytgz.sh

+ 508 - 0
doc/devel/devref.rtf

@@ -0,0 +1,508 @@
+{\rtf1\adeflang1025\ansi\ansicpg1251\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1049\deflangfe1049{\fonttbl{\f0\froman\fcharset204\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset204\fprq1{\*\panose 02070309020205020404}Courier New;}
+{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f39\froman\fcharset0\fprq2 Times New Roman;}{\f37\froman\fcharset238\fprq2 Times New Roman CE;}
+{\f40\froman\fcharset161\fprq2 Times New Roman Greek;}{\f41\froman\fcharset162\fprq2 Times New Roman Tur;}{\f42\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f43\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
+{\f44\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f45\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f59\fmodern\fcharset0\fprq1 Courier New;}{\f57\fmodern\fcharset238\fprq1 Courier New CE;}
+{\f60\fmodern\fcharset161\fprq1 Courier New Greek;}{\f61\fmodern\fcharset162\fprq1 Courier New Tur;}{\f62\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f63\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}
+{\f64\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f65\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;
+\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1049\langfe1049\cgrid\langnp1049\langfenp1049 \snext0 Normal;}{\*\cs10 \additive \ssemihidden 
+Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
+\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}
+{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid-1938272566{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 
+\ltrch\fcs0 \fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 
+\fi-360\li360\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li720
+\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li720
+\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 
+\fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 
+\ltrch\fcs0 \fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers
+\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1800\li1800\jclisttab\tx1800\lin1800 }{\listname ;}\listid233053280}
+{\list\listtemplateid269381388\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1994686728\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 
+\fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-2036938464\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }
+{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid1578941516\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255
+\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid936021434\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-1323636224\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0
+{\leveltext\leveltemplateid-1892018578\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-108487922
+\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-4969626\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 
+\ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid1135759886\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listname 
+;}\listid243993609}{\list\listtemplateid1411046654{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat2\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li360
+\jclisttab\tx360\lin360 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat2\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li720\jclisttab\tx720\lin720 }
+{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li1440\jclisttab\tx1440\lin1440 }{\listlevel
+\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li1800\jclisttab\tx1800\lin1800 }{\listlevel
+\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1080\li2520\jclisttab\tx2520\lin2520 }
+{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1080\li2880
+\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 \af0 \ltrch\fcs0 
+\fbias0 \fi-1440\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers
+\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li3960\jclisttab\tx3960\lin3960 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
+\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1800\li4680\jclisttab\tx4680\lin4680 }{\listname ;}\listid368384829}{\list\listtemplateid1424627480\listhybrid
+{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1868871046\'01-;}{\levelnumbers;}\loch\af0\hich\af0\dbch\af0\fbias0 \fi-360\li420\jclisttab\tx420\lin420 }{\listlevel
+\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid68747267\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1140\jclisttab\tx1140\lin1140 }{\listlevel\levelnfc23\levelnfcn23
+\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid68747269\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li1860\jclisttab\tx1860\lin1860 }{\listlevel\levelnfc23\levelnfcn23\leveljc0
+\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid68747265\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2580\jclisttab\tx2580\lin2580 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
+\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid68747267\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3300\jclisttab\tx3300\lin3300 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
+\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid68747269\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4020\jclisttab\tx4020\lin4020 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
+\levelspace0\levelindent0{\leveltext\leveltemplateid68747265\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li4740\jclisttab\tx4740\lin4740 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
+\levelindent0{\leveltext\leveltemplateid68747267\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5460\jclisttab\tx5460\lin5460 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
+\leveltemplateid68747269\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6180\jclisttab\tx6180\lin6180 }{\listname ;}\listid634527506}{\list\listtemplateid1914202178\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
+\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid745160830\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
+\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-1816475770\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0
+{\leveltext\leveltemplateid-715330988\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid1569232270
+\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-297370836\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 
+\ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-346936770\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel
+\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid416698944\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0
+\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\leveltemplateid-596467262\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0
+\levelspace0\levelindent0{\leveltext\leveltemplateid11278156\'00;}{\levelnumbers;}\rtlch\fcs1 \af0 \ltrch\fcs0 \jclisttab\tx360 }{\listname ;}\listid1261259807}}{\*\listoverridetable{\listoverride\listid1261259807\listoverridecount0\ls1}
+{\listoverride\listid634527506\listoverridecount0\ls2}{\listoverride\listid233053280\listoverridecount0\ls3}{\listoverride\listid243993609\listoverridecount0\ls4}{\listoverride\listid368384829\listoverridecount0\ls5}}{\*\rsidtbl \rsid1339617\rsid1586505
+\rsid1600374\rsid1771507\rsid1986875\rsid2235853\rsid2296829\rsid2567226\rsid2701137\rsid3560132\rsid3671104\rsid3692728\rsid4980816\rsid5776876\rsid5975359\rsid6257560\rsid6570302\rsid7013593\rsid7235628\rsid7749673\rsid8087560\rsid8326885\rsid8672163
+\rsid8675175\rsid9981679\rsid10440144\rsid10497064\rsid10908886\rsid12060716\rsid12261729\rsid12544729\rsid12806430\rsid13111076\rsid13909505\rsid15236432\rsid15609114\rsid15928529\rsid16077654}{\*\generator Microsoft Word 11.0.0000;}{\info
+{\title 3proxy developer reference}{\author Vladimir Dubrovin}{\operator Vladimir Dubrovin}{\creatim\yr2007\mo11\dy23\hr19\min28}{\revtim\yr2008\mo1\dy22\hr19\min28}{\version8}{\edmins86}{\nofpages8}{\nofwords2396}{\nofchars13662}{\*\company Sandy}
+{\nofcharsws16026}{\vern24611}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}{\xmlns2 urn:schemas-microsoft-com:office:smarttags}}
+\paperw11906\paperh16838\margl1701\margr850\margt1134\margb1134\gutter0\ltrsect 
+\deftab708\widowctrl\ftnbj\aenddoc\donotembedsysfont1\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin
+\dghspace180\dgvspace180\dghorigin1701\dgvorigin1134\dghshow1\dgvshow1
+\jexpand\viewkind1\viewscale130\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\viewnobound1\snaptogridincell
+\allowfieldendsel\wrppunct\asianbrkrule\rsidroot10497064\newtblstyruls\nogrowautofit \fet0{\*\wgrffmtfilter 013f}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1
+\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5
+\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang 
+{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 
+\fs24\lang1049\langfe1049\cgrid\langnp1049\langfenp1049 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13111076 
+\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2235853 {\rtlch\fcs1 \af0\afs32 \ltrch\fcs0 \fs32\lang1033\langfe1049\langnp1033\insrsid10497064\charrsid12261729 3proxy developer reference}{
+\rtlch\fcs1 \af0\afs32 \ltrch\fcs0 \fs32\lang1033\langfe1049\langnp1033\insrsid10497064 
+\par }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe1049\langnp1033\insrsid2235853\charrsid12261729 $Id: devref.rtf,v 1.4 2008/01/24 08:44:57 vlad Exp $
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10497064 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid10497064\charrsid12060716 \hich\af0\dbch\af0\loch\f0 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin720\itap0\pararsid6570302 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid10497064\charrsid12060716 Understanding Internal 3proxy structure
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10497064 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10497064 
+\par 3proxy is implemented as multithread application. Server model is implemented as \'93one connection \endash  one thread\'94. It means, for every client connection new thre
+ad is created. This model is effective enough under Windows, because it allows it avoid thread creation on asynchronous operations, yet under most POSIX systems this model can not be considered as most efficient. It\rquote 
+s planned for (very far in future) release to implement more efficient model, where single thread can serve few clients.
+\par 
+\par 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10497064 \hich\af0\dbch\af0\loch\f0 1.1\tab}}\pard \ltrpar\ql \fi-360\li360\ri0\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl1\adjustright\rin0\lin360\itap0\pararsid6570302 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10497064 main thread:
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6570302 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid10497064 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10497064 
+3proxy begins with main thread. This thread parses configuration}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid4980816  file and starts main loop}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10497064 . }{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163  During configuration file parsing }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid8672163\charrsid8672163 struct extaparam conf;}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163  structure is filled and service threads are started.
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 Main loop cycle }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 takes approximately 1 second and }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid6570302 does these tasks:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10497064 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid6570302 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 re-reads configuration}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid8672163  file}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 , if necessary
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 \hich\af0\dbch\af0\loch\f0 -\tab}performs scheduled tasks
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 \hich\af0\dbch\af0\loch\f0 -\tab}monitors files (\lquote monitor}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid4980816 \rquote 
+ command}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 , approx. once in a minute}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid6570302 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 \hich\af0\dbch\af0\loch\f0 -\tab}rotates main logfile
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 \hich\af0\dbch\af0\loch\f0 -\tab}dumps counters to }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 
+file, approx. once in a minute}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid2701137 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 performs termination, if required
+\par }\pard \ltrpar\ql \li60\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin60\itap0\pararsid8672163 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 I}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 t\rquote s guaranteed every configuration and schedule command is executed from the same thread.
+
+\par Main thread is implemented in }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid8672163\charrsid12544729 3proxy.c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 
+\par }\pard \ltrpar\ql \li60\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin60\itap0\pararsid6570302 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 \hich\af0\dbch\af0\loch\f0 1.2\tab}}\pard \ltrpar\ql \fi-360\li360\ri0\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl1\adjustright\rin0\lin360\itap0\pararsid8672163 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 service thread}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid6570302 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8672163 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 
+\par Service threads are started immediately, than service command (e.g. \lquote proxy\rquote  or \lquote socks\rquote ) are found during configuration file parsing. Each command creates new thread. Thread does these tasks:
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid8672163 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 parses service command arguments and fills \lquote }{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid8672163\charrsid6257560 struct srvparam srv}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 \rquote  structure with service configuration and \lquote }{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid8672163\charrsid6257560 struct clientparam defparam}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8672163 \rquote  structure with default client configuration
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6257560 \hich\af0\dbch\af0\loch\f0 -\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6257560 initializes filters}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132  (filter_open)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6257560\charrsid8672163 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6257560 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid6257560 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6257560 creates }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid2701137 and initializes }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6257560 listening service socket
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid3560132 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 enters into service loop}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid3560132 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 \hich\af0\dbch\af0\loch\f0 -\tab}terminates filters (filter_close)
+\par }\pard \ltrpar\ql \li60\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin60\itap0\pararsid2701137 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 service loop:
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid2701137 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 
+checks for configuration reload (approximately every second), thread exits if configuration reloaded or 3proxy is in terminating state.
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 \hich\af0\dbch\af0\loch\f0 -\tab}accepts client connection and creates \lquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\i\lang1033\langfe1049\langnp1033\insrsid2701137 struct clientparam new}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid2701137\charrsid6257560 param}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2701137 
+\rquote  structure with client configuration
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 \hich\af0\dbch\af0\loch\f0 -\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 
+creates/checks client filters (filter_client)
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 \hich\af0\dbch\af0\loch\f0 -\tab}creates client thread with newly created \lquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\i\lang1033\langfe1049\langnp1033\insrsid3560132 struct clientparam new}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid3560132\charrsid6257560 param}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 
+\rquote 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6570302 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid6570302 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5975359 service threads are implemented in }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid7749673\charrsid12544729 proxymain.c}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid5975359\charrsid7749673 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5975359 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 Please note: struct clientparam is freed and }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132\charrsid3560132 filter_clear}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132  is executed from different (client) thread.
+\par 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 \hich\af0\dbch\af0\loch\f0 1.3\tab}}\pard \ltrpar\ql \fi-360\li360\ri0\widctlpar
+\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl1\adjustright\rin0\lin360\itap0\pararsid3560132 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 client thread
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid7749673 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid7749673 
+\par Client threads are started from service thread. Client thread:
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid7749673 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid7749673 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid7749673 
+reads client request (except portmappers) with authentication information and request headers (if any).
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 filters request (if any) with  }{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876\charrsid5776876 filter_request}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid7749673 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 filters headers (if any) with }{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876\charrsid5776876 filter_header_cli}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}performs authentication and authorization
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}established connection with server
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}sends request to server
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid3560132 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 filters server headers (if any)}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid3560132 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 maps client end s
+erver sockets to transmit data between client and server
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid5776876 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 logs request. Global counters are also updated on this operation
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid3560132 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 clears client filters (}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid5776876\charrsid5776876 filter_clear}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 )
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}frees }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid5776876\charrsid5776876 
+struct clientparam}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876  data
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5776876 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10908886 in some point client thread may loop to process few client requests from the same connection (e.g. HTTP \lquote established\rquote  connection in \lquote proxy\rquote ).
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 Socket mapping does:
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}}\pard \ltrpar\ql \fi-360\li420\ri0\widctlpar
+\jclisttab\tx420\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin420\itap0\pararsid5776876 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 caches data in internal client and server buffers
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}delays data transmit to limit bandwidth
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 \hich\af0\dbch\af0\loch\f0 -\tab}performs data filtering (}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid5776876\charrsid5776876 filter_data_cli}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876  / }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876\charrsid5776876 
+filter_data_srv}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid5776876 )
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3560132 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3560132 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1586505 client threads are implemented in }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid1586505\charrsid12544729 proxy.c}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid1586505 , }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid1586505\charrsid12544729 socks.c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1586505 , }{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid1586505\charrsid12544729 pop3p.c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1586505  etc.
+\par 
+\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid1586505\charrsid12060716 \hich\af0\dbch\af0\loch\f0 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
+\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin720\itap0\pararsid1586505 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid1586505\charrsid12060716 Hacking into 3proxy code with plugins
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3560132 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1586505 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2296829 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2296829 2.1 }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid1586505 What is 3proxy plugin
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1586505 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1586505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10440144 3proxy plugin is any dynamic/shared library. There is no specific requirement for plugin, actually you can load any dynamic library with \lquote plugin\rquote 
+ command. No linking with any libraries are required. However, to interoperate with 3proxy dynamic library must have an export function 3proxy may call to pass the structure with required information.}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid1586505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid10440144\charrsid10440144 typedef int (*PLUGINFUNC) (struct pluginlink *pluginlink, int argc, char** argv);
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10440144 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid10440144\charrsid10440144 struct pluginlink}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10440144 
+ is a structure with export information, explained later, argc and argv are argument counter and array of arguments of \'93plugin\'94 command. Plugin should report it\rquote 
+s status with integer return value. 0 is success, positive value indicates non-recoverable error, 3proxy do not parse rest of configuration and enters into termination state, negative value indicates recoverable value, 3proxy logs warning (if possible).}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12544729  In case of C++, all 3proxy functions/structures must be extern \'93C\'94.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10440144 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15928529 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529 All 3proxy structures/functions descriptions are located in 
+}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid15928529\charrsid15928529 structures.h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529 
+\par }\pard \ltrpar\ql \li360\ri0\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid2296829 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2296829 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2296829 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2296829 2.2 }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid12544729 Understanding pluginlink structure
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544729 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12544729 
+\par Because there is no linking between 3proxy and plugin, all 3proxy functions and structures are passed with pluginlink structure. Pluginlink is actually a collection of pointers to 3proxy internal structures and functions. Because plug
+inlink is constantly extending, you should see it\rquote s definitions in }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1049\langnp1033\insrsid12544729\charrsid12544729 structures.h}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid12544729 .
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 most important}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12544729  are:
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid12544729\charrsid8087560 struct symbol symbols;
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560 \'93symbols\'94
+ is a kind of name/value  export table, made as a list. It can be used by plugins to exchange information and functions between plugins, e.g. to export functions from one plugin to another, where pluginlink is useless, because it\rquote s static. It
+\rquote s quite simple:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12544729 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8087560 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid8087560\charrsid8087560 struct symbol \{
+\par \tab struct symbol *next;
+\par \tab char * name;
+\par \tab void * value;
+\par \};
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 n}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560 ame \endash  is a name of function or structure
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 v}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560 alue \endash  is it\rquote s value.
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560 u}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 se}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560 
+ pluginlink->fundbyname function to lookup, e.g.
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid8087560\charrsid13909505 anotherplugindata = pluginlink->findbyname(\'93anotherplugindata\'94);
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560 To export }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 something from your plugin, add your structure to this list.}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560\charrsid8087560 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544729 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8087560\charrsid12544729 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid12544729\charrsid13909505 struct extparam *conf;
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12544729 pointer to conf structure, it holds all current 3proxy configuration
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12544729\charrsid12544729 
+\par }\pard \ltrpar\ql \li360\ri0\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin360\itap0\pararsid2296829 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2296829 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2296829 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2296829 2.3 }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid12544729 How to get control within plugin}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid10440144 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12544729 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12544729 
+\par There are few points you can get control for your plugin, after it\rquote s loaded with \lquote plugin\rquote  command.
+\par 
+\par {\listtext\tab}}\pard \ltrpar\ql \li0\ri0\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\adjustright\rin0\lin0\itap0\pararsid13909505 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2296829 2.3.1 }{\rtlch\fcs1 
+\af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12544729 Adding configuration command processor with struct command structure
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13909505 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 
+\par A list of configuration file command, available from 3proxy.cfg is extendable.  Each command is  defined by }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid13909505\charrsid13909505 struct commands}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid13909505 :
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid13909505\charrsid13909505 struct commands \{
+\par \tab struct commands *next;
+\par \tab char * command;
+\par \tab int (* handler)(int argc, unsigned char ** argv);
+\par \tab int minargs;
+\par \tab int maxargs;\tab 
+\par \};
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid13909505\charrsid13909505 struct commands *next}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505  - next element in list}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid13909505\charrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid13909505\charrsid13909505 char * command}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505  \endash  command name
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid13909505\charrsid13909505 int (* handler)(i}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid13909505 nt argc, unsigned char ** argv)}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505  \endash  command handler. It\rquote s called than \lquote command\rquote  is found in configuration files, argc is a number of arguments, counting command itself, argv is array of arguments.
+
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid13909505\charrsid12060716 minargs}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505  \endash  minimum number of arguments command support (>= 1)
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid12060716\charrsid12060716 maxargs}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716  \endash 
+ maximum number of arguments command support, 0 means infinity.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505\charrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654 Handler r}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104 
+eturn value of 0 indicates command is successfully processed. Positive return value indicates non-recoverable error, 3proxy enter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654 s}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid3671104  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654 termination state. Negative value indicate
+s 3proxy to continue to process command list, it makes it possible to set few handlers for the same command.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104 
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716 A list of the command is pointed by pluginlinks->}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716\charrsid12060716 commandhandlers}{\rtlch\fcs1 
+\af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716 ; you must insert you command after first one (do not replace pluginlink->}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716\charrsid12060716 commandhandlers}{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716 ). It\rquote s guaranteed at least 1 dummy command is always present.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716\charrsid12060716 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716 
+\par Example:
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid12060716\charrsid12060716 int mycommandhandler(int argc, unsigned char **argv);
+\par struct commands mycommand;
+\par 
+\par mycommand.command = \'93mycommand\'94;
+\par mycommand.handler = mycommandhandler;
+\par mycommand.intargs = 1;
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12060716 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid12060716\charrsid12060716 mycommand.intargs = 2;
+\par mycommand.next = pluginslinks->commandhandlers->next;
+\par pluginslink->commandhandlers->next = &mycommand;
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716 
+\par Adds processor for \'93mycommand\'94 command with zero on one arguments.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716\charrsid13909505 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13909505 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid13909505 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716 Adding configuration command is useful, if your plugin expects configuration data.
+\par 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3671104 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104 
+\par {\listtext\tab}}\pard \ltrpar\ql \li0\ri0\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\adjustright\rin0\lin0\itap0\pararsid3671104 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2296829 2.3.2 }{\rtlch\fcs1 
+\af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104 Adding authentication method with }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104\charrsid3671104 struct auth}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid3671104 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3671104 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104 
+\par 3proxy supports authentication and authorization. Authentication process determines user account (for example by user
+name and password), authorization checks, if user account has a right to access given resource and optionally establishes a connection, if required.
+\par 
+\par \lquote auth\rquote  command combines both authentication and authorization method. It\rquote s extandable with struct auth list:
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid3671104\charrsid16077654 struct auth \{
+\par \tab struct auth *next;
+\par \tab AUTHFUNC authenticate;
+\par \tab AUTHFUNC authorize;
+\par \tab char * desc;
+\par \};
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid3671104\charrsid16077654 char * desc}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104  \endash  name of authentication/authorization method}{\rtlch\fcs1 
+\af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104\charrsid3671104 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13909505 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid3671104\charrsid16077654 authenticate}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104  \endash  name of authentication function}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12060716 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid3671104\charrsid16077654 authorize}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104  \endash  name of authorization function
+\par 
+\par pluginlink->}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104\charrsid3671104 authfuncs}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid3671104 
+ points to list of authenticataction structures. Like above, new structure must be inserted after fiest one (or to the end of the list).
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654 
+\par First, authentication is called, if authentication indicates OK status (return value 0), authorization is called. Normally, \lquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654\charrsid16077654 checkACL}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654 \rquote  (pluginlink->checkACL) is called as authorization function to check user\rquote s request matches to standard allow/deny rules. 
+If for some reason you need to avoid this check, you should call pluginlink->alwaysauth to do some dirty job, like establishing outgoing connection.
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid16077654\charrsid4980816 typedef int (*AUTHFUNC)(struct clientparam * param);
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654 
+\par is both authentication and authorization function. \lquote }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654\charrsid16077654 struct clientparam}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654 
+\rquote  holds all information about client connection, including username (param->username) and password (param->password).
+\par 
+\par Return value of 0 indicates successful authentication/authorization, 1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1600374  and 3}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654  \endash 
+ authorization }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1600374 failed (access denied), use {\*\xmlopen\xmlns2{\factoidname metricconverter}{\xmlattr\xmlattrns0{\xmlattrname ProductID}{\xmlattrvalue 3 in}}}3 in{\*\xmlclose}
+ case you want to indicate access is explicitly denied and {\*\xmlopen\xmlns2{\factoidname metricconverter}{\xmlattr\xmlattrns0{\xmlattrname ProductID}{\xmlattrvalue 3 in}}}3 in{\*\xmlclose} case there is no matching rule. 4,5,6,7,8 \endash 
+ authentication failed (e.g. username/password do not match). 4 indicates username }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12806430 does not present in request and }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid1600374 must be requested, if possible. 5 indicates username }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12806430 found in request }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid1600374 can not be found in user\rquote s database/list, 6,7,8 \endash  username does not match password for different authentication types. 10 \endash  user exceeded some limits, e.g. tr
+affic. You may use some different code to indicate internal problems.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid16077654 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1600374 
+\par Example:
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1600374\charrsid1600374 int myauthfunc(struct clientparam *param);
+\par struct auth myauth;
+\par 
+\par myauth.desc = \'93myauth\'94;
+\par myauth.authenticate = myauthfunc;
+\par myauth.authorize = pluginlink->checkACL;
+\par myauth->next = pluginlink->authfuncs->next;
+\par pluginlink->authfuncs->next = &myauth;
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1600374 
+\par Installs \'93myauthfunc\'94 as authentication function.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid7235628  There is no need to add \lquote auth\rquote  command processor for new authentication type, it\rquote 
+s processed by standard \lquote auth\rquote  command processor.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12806430 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid7235628 
+\par {\listtext\tab}}\pard \ltrpar\ql \li0\ri0\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\adjustright\rin0\lin0\itap0\pararsid12806430 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2296829 2.3.3 }{\rtlch\fcs1 
+\af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12806430 Adding scheduled functions
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12806430 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12806430 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid4980816 Scheduled functions are described by this structure:
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15928529\charrsid15236432 typedef enum \{NONE, MINUTELY, HOURLY, DAILY, WEEKLY, MONTHLY, ANNUALLY, NEVER\} ROTATION;
+\par 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4980816 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid4980816\charrsid15236432 struct schedule \{
+\par \tab struct schedule *next;
+\par \tab ROTATION type;
+\par \tab void *data;
+\par \tab int (*function)(void *);
+\par \tab time_t start_time;
+\par \};
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12806430 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid4980816 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15928529 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15928529\charrsid15236432 int (*function)(void *)}{\rtlch\fcs1 
+\af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529  \endash  scheduled function}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529\charrsid4980816 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15928529\charrsid15236432 void *data}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529  \endash 
+ this pointer will be passed as an argument to scheduled functions}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529\charrsid4980816 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15928529\charrsid15236432 ROTATION type}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529  \endash 
+ defines how often function is called (once in a minute, hour, etc). 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15928529\charrsid15236432 start_time}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529  \endash  time to begin using of scheduled function
+\par 
+\par Scheduled functions are called every \lquote type\rquote  interval after start_time and also on reloading configuration and going to termination state.
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432 Schedule function r}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529 eturn value of 1 means function must be 
+removed from the schedule. 3proxy doesn\rquote t free struct schedule.
+\par 
+\par Schedule list can be empty. Pointer to schedule is pointed by }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15928529\charrsid15236432 struct schedule ** schedule;}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid15928529  in pluginlink.
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432 Example:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15236432\charrsid15236432 int myschedfunc(void * data);
+\par struct schedule myschedule;
+\par 
+\par myschedule.data = \'93somethinghere\'94;
+\par myschedule.function = myschedfunc}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15236432 ;}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15236432\charrsid15236432 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12806430 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15236432\charrsid15236432 myschedule.type = MINUTELY;}{\rtlch\fcs1 
+\af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15928529\charrsid15236432 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15236432\charrsid15236432 myschedule.starttime = 0;
+\par myschedule.next = *pluginlink->schedule;
+\par *pluginlink->schedule = myschedule;
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1049\langnp1033\insrsid15236432\charrsid15236432 NOTE:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432  time_t is different for different compilers. 
+Make sure to compile plugin and 3proxy with same compiler.
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15928529 
+\par {\listtext\tab}}\pard \ltrpar\ql \li0\ri0\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\adjustright\rin0\lin0\itap0\pararsid4980816 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid4980816 2.3.4 Filters API
+
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4980816 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid4980816 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432 3proxy has filters API, you can use, to process client request and data flowing through proxy. It should be noted, that currently 3proxy doesn\rquote 
+t provide filters with any useful data conversion, so, it\rquote s filter\rquote s task to find data in data flow. In case filter modifies some data, it\rquote s filter\rquote s task again to assure that everything\rquote s fine.}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1771507  If you know some filtering API like MILTER, you will find 3proxy filters very same.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432 
+\par 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15236432 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid15236432\charrsid1771507 typedef enum \{
+\par \tab PASS,
+\par \tab CONTINUE,
+\par \tab HANDLED,
+\par \tab REJECT,
+\par \tab REMOVE
+\par \} FILTER_ACTION;
+\par 
+\par typedef\tab void*\tab  \tab FILTER_OPEN(void * idata, struct srvparam * param);
+\par typedef\tab FILTER_ACTION \tab FILTER_CLIENT(void *fo, struct clientparam * param, void** fc);
+\par typedef\tab FILTER_ACTION\tab FILTER_BUFFER(void *fc, struct clientparam * param, unsigned char ** buf_p, int * bufsize_p, int offset, int * length_p);
+\par typedef\tab void\tab \tab FILTER_CLOSE(void *fo);
+\par 
+\par struct filter \{
+\par \tab struct filter * next;
+\par \tab char * instance;
+\par \tab void * data;
+\par \tab FILTER_OPEN *filter_open;
+\par \tab FILTER_CLIENT *filter_client;
+\par \tab FILTER_BUFFER *filter_request;
+\par \tab FILTER_BUFFER *filter_header_cli;
+\par \tab FILTER_BUFFER *filter_header_srv;
+\par \tab FILTER_BUFFER *filter_data_cli;
+\par \tab FILTER_BUFFER *filter_data_srv;
+\par \tab FILTER_CLOSE *filter_clear;
+\par \tab FILTER_CLOSE *filter_close;
+\par \};
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1771507 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1771507\charrsid1771507 char * instance}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1771507  \endash  is some instance identifier. You can use it to find required filter in the list. 3proxy itself doesn\rquote t use this field.}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid1771507\charrsid15236432 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid7013593 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1771507\charrsid1771507 void * data}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1771507  \endash  this parameter is passed to filter_open function.
+\par The rest are filtering functions. Section 1 explains where and then each filter is called.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid7013593  data should not be NULL.}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid1771507 
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1771507\charrsid1986875 filter_open}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1771507  must always be defined, if you want filter to be ever used. It
+\rquote s called then new service is created and is given \'93data\'94 from struct filter and struct srvparam (parsed service configuration). If filter_op
+en for some filter returns NULL, filter will not be used for this service. Non-NULL return value will be used as \'93fo\'94 parameter for every call to filter_client.
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1771507\charrsid1986875 filter_client}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1771507  }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid1986875 is called upon client connect (before any data is sent/received). It\rquote s good plac
+e to filter client by IP (and is not good place to filter it by hostname, because this operation takes a long time, 3proxy will not be able to accept new connection). fo is a data pointer received from filter_open, param \endash 
+ newly created clientparam structu
+re, fc is return parameter filter_open must initialize, it will be used as an argument to FILTER_BUFFER functions. PASS return value means this filter will be used for this client request. CONTINUE says to install filters. On different values client conne
+ction is closed and no client thread is created.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1771507\charrsid15236432 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15236432 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1771507 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1986875 f}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1986875\charrsid1771507 ilter_reques}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\i\lang1033\langfe1049\langnp1033\insrsid1986875 t, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1986875\charrsid1771507 filter_header_cli}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1986875 , }{
+\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1986875\charrsid1771507 filter_header_srv}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1986875 , }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\i\lang1033\langfe1049\langnp1033\insrsid1986875\charrsid1771507 filter_data_cli}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1986875 , }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\i\lang1033\langfe1049\langnp1033\insrsid1986875\charrsid1771507 filter_data_srv}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid1986875  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1986875 
+are used to process request and data r}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679 eceived from client and server.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid1986875\charrsid1986875 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4980816 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15236432 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid1771507 char ** buf_p}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679  is a pointer to current buffer, }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid1771507 int * bufsize_p}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679  is a pointer to it\rquote s size. In case you change some data and it doesn\rquote 
+t fit to current buffer, you may allocate new buffer (with pluginlink->myalloc), copy data from old buffer, free old buffer (with pluginlink->myfree) and set new values for *}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid1771507 buf_p}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679 and }{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679 *}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid1771507 bufsize_p}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679 .
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679 int }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid1771507 * offset_p}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid9981679  offset of the new data in the buffer, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid1771507 int * length_p}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid9981679  length of all data in the buffer. You should filter only (*length_p - *offset_p) characters starting from }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid9981679 
+(*buf_p + *offset_p)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679\charrsid9981679 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid1771507 filter_clear}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679  }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid9981679 is called for each successfule filter_client}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15609114  and should be used to free allocated resources}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid9981679 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid9981679\charrsid9981679 filter_close}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679  is called for each successful filter_open}{\rtlch\fcs1 \af0 
+\ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15609114  for the same reason}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679 
+\par 
+\par An example of filter API usage you can find in PCREPlugin (see plugins/}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679\charrsid9981679  PCREPlugin}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679 /
+}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679\charrsid9981679  pcre_plugin.c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid9981679 ).
+\par 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1049\langnp1033\insrsid15609114\charrsid15609114 Note}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15609114 : if }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid15609114\charrsid15609114 param->nooverwritefilter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15609114 
+ is set for FILTER_BUFFER functions, filter may change data in the buffer, but must not change data length. This flag may be set, if data size if already known and is sent to the client. }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid15609114\charrsid15609114 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid15609114\charrsid9981679 
+\par {\listtext\tab}}\pard \ltrpar\ql \li0\ri0\widctlpar\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls4\ilvl2\adjustright\rin0\lin0\itap0\pararsid4980816 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid4980816 2.3.5 
+Replacing log functions, traffic counting functions, bandwidth limitation functions
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4980816 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid4980816 
+\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13909505 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8326885 
+Log, traffic and bandwidth function can be directly replaced in any over place. All functions may be replaced in conf (pluginlink->conf->logfunc, pluginlink->conf->bandlim
+func, pluginlink->conf->trafcountfunc).  In this case, these functions will be used for services started after the changes are made. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226 l}{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid8326885 ogfunc may also be changed for }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226 struct s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid8326885 
+rvparam (e.g. within filter_open)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226 , bandlimfunc and trafcountfunc may be changed in struct clientparam for every client individually (e.g. within filter_client).}{\rtlch\fcs1 
+\af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid12806430 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid2567226\charrsid2567226 typedef void (*LOGFUNC)(struct clientparam * param, const unsigned char * test);
+\par typedef void (*TRAFCOUNTFUNC)(struct clientparam * param); }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid2567226 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid2567226\charrsid2567226 typedef unsigned (*BANDLIMFUNC)(struct clientparam * param, unsigned nbytesin, unsigned nbytesout);
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid2567226\charrsid2567226 struct clientparam * param}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid2567226  \endash }{\rtlch\fcs1 \af0 \ltrch\fcs0 
+\lang1033\langfe1049\langnp1033\insrsid2567226  information about client request}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226\charrsid2567226 
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid2567226\charrsid2567226 char * text}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226  - text string (e.g. request)
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1049\langnp1033\insrsid2567226\charrsid2567226 nbytesin, nbytesout}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226  \endash 
+ number of bytes received from / send to server. bandlimfunc returns delay in milliseconds.
+\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1049\langnp1033\insrsid2567226\charrsid2567226 
+\par }}

+ 0 - 1300
doc/html/man3/3proxy.cfg.3.html

@@ -1,1300 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of 3proxy.cfg</TITLE>
-</HEAD><BODY>
-<H1>3proxy.cfg</H1>
-Section: Universal proxy server
 (3)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>3proxy.cfg</B>
-
-- 3proxy configuration file
-<A NAME="lbAC">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<BR>&nbsp;Common&nbsp;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 &quot;application level router&quot; with console interface.
-<BR>
-
-<BR>&nbsp;Comments:
-<BR>
-
-Any string beginning with space character or '#' character is comment. It's
-ignored. &lt;LF&gt;s are ignored. &lt;CR&gt; is end of command.
-
-<BR>
-
-<BR>&nbsp;Quotation:
-<BR>
-
-Quotation character is &quot; (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 &quot;WORLD&quot; as an argument you should use it as &quot;HELLO &quot;&quot;WORLD&quot;&quot;&quot;.
-Good practice is to quote any argument you use.
-<BR>
-
-<BR>&nbsp;File&nbsp;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 
-<BR>&nbsp;$&quot;c:\Program&nbsp;Files\3proxy\include.cfg&quot;&nbsp;Quotation&nbsp;is
-required in last example because path contains space character. 
-For included file &lt;CR&gt; (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>
-
-<BR>&nbsp;Next&nbsp;commands&nbsp;start&nbsp;gateway&nbsp;services:
-<BR>
-
-<B>proxy</B>
-
-[options]
-<BR>
-
-<B>socks</B>
-
-[options]
-<BR>
-
-<B>pop3p</B>
-
-[options]
-<BR>
-
-<B>ftppr</B>
-
-[options]
-<BR>
-
-<B>admin</B>
-
-[options]
-<BR>
-
-<B>dnspr</B>
-
-[options]
-<BR>
-
-<B>tcppm</B>
-
-[options]
-&lt;SRCPORT&gt; &lt;DSTADDR&gt; &lt;DSTPORT&gt;
-<BR>
-
-<B>udppm</B>
-
-[options]
-&lt;SRCPORT&gt; &lt;DSTADDR&gt; &lt;DSTPORT&gt;
-<BR>
-
-<BR>&nbsp;Descriptions:
-<BR>
-
-<B>proxy</B>
-
-- HTTP/HTTPS proxy (default port 3128)
-<BR>
-
-<B>socks</B>
-
-- SOCKS 4/4.5/5 proxy (default port 1080)
-<BR>
-
-<B>pop3p</B>
-
-- POP3 proxy (default port 110)
-<BR>
-
-<B>ftppr</B>
-
-- FTP proxy (default port 21)
-<BR>
-
-<B>admin</B>
-
-- Web interface (default port 80)
-<BR>
-
-<B>dnspr</B>
-
-- caching DNS proxy (default port 53)
-<BR>
-
-<B>tcppm</B>
-
-- TCP portmapper
-<BR>
-
-<B>udppm</B>
-
-- UDP portmapper
-<BR>
-
-
-<BR>&nbsp;Options:
-<BR>
-
-<B>-pNUMBER</B>
-
-change default server port to NUMBER
-<BR>
-
-<B>-n</B>
-
-disable NTLM authentication (required if passwords are stored in Unix crypt format.
-<BR>
-
-<B>-s</B>
-
-(for admin) - allow only secure operations (currently only traffic counters
-view without ability to reset).
-<BR>
-
-<B>-a</B>
-
-(for proxy) - anonymous proxy (no information about client reported)
-<BR>
-
-<B>-a1</B>
-
-(for proxy) - anonymous proxy (random client information reported)
-<BR>
-
-<BR>&nbsp;Also,&nbsp;all&nbsp;options&nbsp;mentioned&nbsp;for&nbsp;
-<B><A HREF="../man8/proxy.8.html">proxy</A></B>(8)
-
-<B><A HREF="../man8/socks.8.html">socks</A></B>(8)
-
-<B><A HREF="../man8/pop3p.8.html">pop3p</A></B>(8)
-
-<B><A HREF="../man8/tcppm.8.html">tcppm</A></B>(8)
-
-<B><A HREF="../man8/udppm.8.html">udppm</A></B>(8)
-
-<B><A HREF="../man8/ftppr.8.html">ftppr</A></B>(8)
-
-<BR>&nbsp;are&nbsp;also&nbsp;supported.
-<BR>
-
-<BR>&nbsp;Portmapping&nbsp;services&nbsp;listen&nbsp;at&nbsp;SRCPORT&nbsp;and&nbsp;connect&nbsp;to&nbsp;DSTADDR:DSTPORT
-HTTP and SOCKS proxies are standard. 
-<BR>
-
-<BR>&nbsp;POP3&nbsp;proxy&nbsp;must&nbsp;be&nbsp;configured&nbsp;as&nbsp;POP3&nbsp;server&nbsp;and&nbsp;requires&nbsp;username&nbsp;in&nbsp;the&nbsp;form&nbsp;of:
-<A HREF="mailto:pop3username@pop3server">pop3username@pop3server</A>. If POP3 proxy access must be authenticated, you can
-specify username as proxy_username:proxy_password:<A HREF="mailto:POP3_username@pop3server">POP3_username@pop3server</A>
-<BR>
-
-<BR>&nbsp;DNS&nbsp;proxy&nbsp;resolves&nbsp;any&nbsp;types&nbsp;of&nbsp;records&nbsp;but&nbsp;only&nbsp;hostnames&nbsp;are&nbsp;cached.&nbsp;It
-requires nserver/nscache to be configured.
-<BR>
-
-<BR>&nbsp;FTP&nbsp;proxy&nbsp;can&nbsp;be&nbsp;used&nbsp;as&nbsp;FTP&nbsp;server&nbsp;in&nbsp;any&nbsp;FTP&nbsp;client&nbsp;or&nbsp;configured&nbsp;as&nbsp;FTP
-proxy on a client with FTP proxy support. Username format is one of
-<BR>
-
-<BR>&nbsp;<A HREF="mailto:FTPuser@FTPServer">FTPuser@FTPServer</A>
-<BR>
-
-<BR>&nbsp;FTPuser:<A HREF="mailto:FTPpassword@FTPserver">FTPpassword@FTPserver</A>
-<BR>
-
-<BR>&nbsp;proxyuser:proxypassword:FTPuser:<A HREF="mailto:FTPpassword@FTPserver">FTPpassword@FTPserver</A>
-<BR>
-
-<BR>&nbsp;Please&nbsp;note,&nbsp;if&nbsp;you&nbsp;use&nbsp;FTP&nbsp;client&nbsp;interface&nbsp;for&nbsp;FTP&nbsp;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<TT>&nbsp;</TT><BR>
-
-<B>include</B>
-
-&lt;path&gt;
-<BR>
-
-Include config file
-
-<BR>
-
-<B>config</B>
-
-&lt;path&gt;
-<BR>
-
-Path to configuration file to use on 3proxy restart or to save configuration.
-
-<BR>
-
-<B>writable</B>
-
-<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 &quot;config&quot; it can be used anywhere to open
-alternate config file. Think twice before using it.
-
-<BR>
-
-<B>end</B>
-
-<BR>
-
-End of configuration
-
-<BR>
-
-<B>log</B>
-
-[[@|&amp;]logfile] [&lt;LOGTYPE&gt;]
-<BR>
-
-sets logfile for all gateways
-<BR>
-
-<BR>&nbsp;@&nbsp;-&nbsp;(for&nbsp;Unix)&nbsp;use&nbsp;syslog,&nbsp;filename&nbsp;is&nbsp;used&nbsp;as&nbsp;ident&nbsp;name
-<BR>
-
-<BR>&nbsp;&amp;&nbsp;-&nbsp;use&nbsp;ODBC,&nbsp;filename&nbsp;consists&nbsp;of&nbsp;comma-delimited&nbsp;datasource,username,password&nbsp;(username&nbsp;and&nbsp;password&nbsp;are&nbsp;optional)
-<BR>
-
-<BR>&nbsp;LOGTYPE&nbsp;is&nbsp;one&nbsp;of:
-<BR>
-
-<BR>&nbsp;&nbsp;M&nbsp;-&nbsp;Monthly
-<BR>
-
-<BR>&nbsp;&nbsp;W&nbsp;-&nbsp;Weekly&nbsp;(starting&nbsp;from&nbsp;Sunday)
-<BR>
-
-<BR>&nbsp;&nbsp;D&nbsp;-&nbsp;Daily
-<BR>
-
-<BR>&nbsp;&nbsp;H&nbsp;-&nbsp;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>
-
-&quot;log&quot; command supports same format specifications for filename template
-as &quot;logformat&quot; (if filename contains '%' sign it's believed to be template).
-As with &quot;logformat&quot; filename must begin with 'L' or 'G' to specify Local or
-Grinwitch time zone for all time-based format specificators.
-
-<BR>
-
-<B>rotate</B>
-
-&lt;n&gt;
-how many archived log files to keep
-
-<BR>
-
-<B>logformat</B>
-
-&lt;format&gt;
-
-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, &quot;-,%+ L&quot; 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>
-
-<BR>&nbsp;%y&nbsp;-&nbsp;Year&nbsp;in&nbsp;2&nbsp;digit&nbsp;format
-<BR>
-
-<BR>&nbsp;%Y&nbsp;-&nbsp;Year&nbsp;in&nbsp;4&nbsp;digit&nbsp;format
-<BR>
-
-<BR>&nbsp;%m&nbsp;-&nbsp;Month&nbsp;number
-<BR>
-
-<BR>&nbsp;%o&nbsp;-&nbsp;Month&nbsp;abbriviature
-<BR>
-
-<BR>&nbsp;%d&nbsp;-&nbsp;Day
-<BR>
-
-<BR>&nbsp;%H&nbsp;-&nbsp;Hour
-<BR>
-
-<BR>&nbsp;%M&nbsp;-&nbsp;Minute
-<BR>
-
-<BR>&nbsp;%S&nbsp;-&nbsp;Second
-<BR>
-
-<BR>&nbsp;%t&nbsp;-&nbsp;Timstamp&nbsp;(in&nbsp;seconds&nbsp;since&nbsp;01-Jan-1970)
-<BR>
-
-<BR>&nbsp;%.&nbsp;-&nbsp;milliseconds
-<BR>
-
-<BR>&nbsp;%z&nbsp;-&nbsp;timeZone&nbsp;(from&nbsp;Grinvitch)
-<BR>
-
-<BR>&nbsp;%D&nbsp;-&nbsp;request&nbsp;duration&nbsp;(in&nbsp;milliseconds)
-<BR>
-
-<BR>&nbsp;%b&nbsp;-&nbsp;average&nbsp;send&nbsp;rate&nbsp;per&nbsp;request&nbsp;(in&nbsp;Bytes&nbsp;per&nbsp;second)&nbsp;this&nbsp;speed&nbsp;is&nbsp;typically&nbsp;below&nbsp;connection&nbsp;speed&nbsp;shown&nbsp;by&nbsp;download&nbsp;manager.
-<BR>
-
-<BR>&nbsp;%B&nbsp;-&nbsp;average&nbsp;receive&nbsp;rate&nbsp;per&nbsp;request&nbsp;(in&nbsp;Bytes&nbsp;per&nbsp;second)&nbsp;this&nbsp;speed&nbsp;is&nbsp;typically&nbsp;below&nbsp;connection&nbsp;speed&nbsp;shown&nbsp;by&nbsp;download&nbsp;manager.
-<BR>
-
-<BR>&nbsp;%U&nbsp;-&nbsp;Username
-<BR>
-
-<BR>&nbsp;%N&nbsp;-&nbsp;service&nbsp;Name
-<BR>
-
-<BR>&nbsp;%p&nbsp;-&nbsp;service&nbsp;Port
-<BR>
-
-<BR>&nbsp;%E&nbsp;-&nbsp;Error&nbsp;code
-<BR>
-
-<BR>&nbsp;%C&nbsp;-&nbsp;Client&nbsp;IP
-<BR>
-
-<BR>&nbsp;%c&nbsp;-&nbsp;Client&nbsp;port
-<BR>
-
-<BR>&nbsp;%R&nbsp;-&nbsp;Remote&nbsp;IP
-<BR>
-
-<BR>&nbsp;%r&nbsp;-&nbsp;Remote&nbsp;port
-<BR>
-
-<BR>&nbsp;%e&nbsp;-&nbsp;External&nbsp;IP&nbsp;used&nbsp;to&nbsp;establish&nbsp;connection
-<BR>
-
-<BR>&nbsp;%Q&nbsp;-&nbsp;Requested&nbsp;IP
-<BR>
-
-<BR>&nbsp;%q&nbsp;-&nbsp;Requested&nbsp;port
-<BR>
-
-<BR>&nbsp;%n&nbsp;-&nbsp;requested&nbsp;hostname
-<BR>
-
-<BR>&nbsp;%I&nbsp;-&nbsp;bytes&nbsp;In
-<BR>
-
-<BR>&nbsp;%O&nbsp;-&nbsp;bytes&nbsp;Out
-<BR>
-
-<BR>&nbsp;%h&nbsp;-&nbsp;Hops&nbsp;(redirections)&nbsp;count
-<BR>
-
-<BR>&nbsp;%T&nbsp;-&nbsp;service&nbsp;specific&nbsp;Text
-<BR>
-
-<BR>&nbsp;%N1-N2T&nbsp;-&nbsp;(N1&nbsp;and&nbsp;N2&nbsp;are&nbsp;positive&nbsp;numbers)&nbsp;-&nbsp;log&nbsp;only&nbsp;fields&nbsp;from&nbsp;N1&nbsp;thorugh&nbsp;N2&nbsp;of&nbsp;service&nbsp;specific&nbsp;text
-<BR>
-
-in case of ODBC logging logformat specifies SQL statement, for exmample:
-<BR>
-
-<BR>&nbsp;&nbsp;&nbsp;logformat&nbsp;&quot;-'+_Linsert&nbsp;into&nbsp;log&nbsp;(l_date,&nbsp;l_user,&nbsp;l_service,&nbsp;l_in,&nbsp;l_out,&nbsp;l_descr)&nbsp;values&nbsp;('%d-%m-%Y&nbsp;%H:%M:%S',&nbsp;'%U',&nbsp;'%N',&nbsp;%I,&nbsp;%O,&nbsp;'%T')&quot;
-
-<BR>
-
-<B>logdump</B>
-
-&lt;in_traffic_limit&gt; &lt;out_traffic_limit&gt;
-<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</B>
-
-&lt;ext&gt; &lt;commandline&gt;
-<BR>
-
-Archiver to use for log files. &lt;ext&gt; 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</B>
-
-&lt;BYTE_SHORT&gt; &lt;BYTE_LONG&gt; &lt;STRING_SHORT&gt; &lt;STRING_LONG&gt; &lt;CONNECTION_SHORT&gt; &lt;CONNECTION_LONG&gt; &lt;DNS&gt; &lt;CHAIN&gt;
-<BR>
-
-Sets timeout values
-<BR>
-
-<BR>&nbsp;BYTE_SHORT&nbsp;-&nbsp;short&nbsp;timeout&nbsp;for&nbsp;single&nbsp;byte,&nbsp;is&nbsp;usually&nbsp;used&nbsp;for&nbsp;receiving&nbsp;single&nbsp;byte&nbsp;from&nbsp;stream.
-<BR>
-
-<BR>&nbsp;BYTE_LONG&nbsp;-&nbsp;long&nbsp;timeout&nbsp;for&nbsp;single&nbsp;byte,&nbsp;is&nbsp;usually&nbsp;used&nbsp;for&nbsp;receiving&nbsp;first&nbsp;byte&nbsp;in&nbsp;frame&nbsp;(for&nbsp;example&nbsp;first&nbsp;byte&nbsp;in&nbsp;socks&nbsp;request).
-<BR>
-
-<BR>&nbsp;STRING_SHORT&nbsp;-&nbsp;short&nbsp;timeout,&nbsp;for&nbsp;character&nbsp;string&nbsp;within&nbsp;stream&nbsp;(for&nbsp;example&nbsp;to&nbsp;wait&nbsp;between&nbsp;2&nbsp;HTTP&nbsp;headers)
-<BR>
-
-<BR>&nbsp;STRING_LONG&nbsp;-&nbsp;long&nbsp;timeout,&nbsp;for&nbsp;first&nbsp;string&nbsp;in&nbsp;stream&nbsp;(for&nbsp;example&nbsp;to&nbsp;wait&nbsp;for&nbsp;HTTP&nbsp;request).
-<BR>
-
-<BR>&nbsp;CONNECTION_SHORT&nbsp;-&nbsp;inactivity&nbsp;timeout&nbsp;for&nbsp;short&nbsp;connections&nbsp;(HTTP,&nbsp;POP3,&nbsp;etc).
-<BR>
-
-<BR>&nbsp;CONNECTION_LONG&nbsp;-&nbsp;inactivity&nbsp;timeout&nbsp;for&nbsp;long&nbsp;connection&nbsp;(SOCKS,&nbsp;portmappers,&nbsp;etc).
-<BR>
-
-<BR>&nbsp;DNS&nbsp;-&nbsp;timeout&nbsp;for&nbsp;DNS&nbsp;request&nbsp;before&nbsp;requesting&nbsp;next&nbsp;server
-<BR>
-
-<BR>&nbsp;CHAIN&nbsp;-&nbsp;timeout&nbsp;for&nbsp;reading&nbsp;data&nbsp;from&nbsp;chained&nbsp;connection
-<BR>
-
-
-<BR>
-
-<B>nserver</B>
-
-<BR>&nbsp;&lt;ipaddr&gt;
-<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</B>
-
-&lt;cachesize&gt;
-<BR>
-
-
-Cache &lt;cachesize&gt; records for name resolution. Cachesize usually
-should be large enougth (for example 65536).
-
-<BR>
-
-<B>nsrecord</B>
-
-&lt;hostname&gt; &lt;hostaddr&gt;
-<B></B>
-
-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</B>
-
-command to set up UDL for dialing.
-
-<BR>
-
-<B>fakeresolve</B>
-
-<B></B>
-
-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</B>
-
-&lt;progname&gt;
-<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
-<A HREF="http://dial.right.now/">http://dial.right.now/</A> from browser to set up connection.
-
-
-<BR>
-
-<B>internal</B>
-
-&lt;ipaddr&gt;
-<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</B>
-
-&lt;ipaddr&gt;
-<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>&nbsp;&nbsp;&nbsp;
-<BR>
-
-<B>maxconn</B>
-
-&lt;number&gt;
-<BR>
-
-sets maximum number of simulationeous connections to each services
-started after this command. Default is 100.
-
-<BR>
-
-<B>service</B>
-
-<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</B>
-
-<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</B>
-
-&lt;authtype&gt; [...]
-<BR>
-
-Type of user authorization. Currently supported:
-<BR>
-
-<BR>&nbsp;none&nbsp;-&nbsp;no&nbsp;authentication&nbsp;or&nbsp;authorization&nbsp;required.
-<BR>&nbsp;Note:&nbsp;is&nbsp;auth&nbsp;is&nbsp;none&nbsp;any&nbsp;ip&nbsp;based&nbsp;limitation,&nbsp;redirection,&nbsp;etc&nbsp;will&nbsp;not&nbsp;work.&nbsp;
-<BR>&nbsp;This&nbsp;is&nbsp;default&nbsp;authentication&nbsp;type
-<BR>
-
-<BR>&nbsp;iponly&nbsp;-&nbsp;authentication&nbsp;by&nbsp;access&nbsp;control&nbsp;list&nbsp;with&nbsp;username&nbsp;ignored.
-<BR>&nbsp;Appropriate&nbsp;for&nbsp;most&nbsp;cases
-<BR>
-
-<BR>&nbsp;useronly&nbsp;-&nbsp;authentication&nbsp;by&nbsp;username&nbsp;without&nbsp;checking&nbsp;for&nbsp;any&nbsp;password&nbsp;with
-authorization by ACLs. Useful for e.g. SOCKSv4 proxy and icqpr (icqpr set UIN /
-AOL screen name as a username)
-<BR>
-
-<BR>&nbsp;dnsname&nbsp;-&nbsp;authentication&nbsp;by&nbsp;DNS&nbsp;hostnname&nbsp;with&nbsp;authorization&nbsp;by&nbsp;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>
-
-<BR>&nbsp;nbname&nbsp;-&nbsp;authentication&nbsp;by&nbsp;NetBIOS&nbsp;name&nbsp;with&nbsp;authorization&nbsp;by&nbsp;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>
-
-<BR>&nbsp;strong&nbsp;-&nbsp;username/password&nbsp;authentication&nbsp;required.&nbsp;It&nbsp;will&nbsp;work&nbsp;with
-SOCKSv5, FTP, POP3 and HTTP proxy. 
-<BR>
-
-<BR>&nbsp;cache&nbsp;-&nbsp;cached&nbsp;authentication,&nbsp;may&nbsp;be&nbsp;used&nbsp;with&nbsp;'authcache'.
-<BR>
-
-Plugins may add additional authentication types.
-<BR>
-
-
-<BR>&nbsp;It's&nbsp;possible&nbsp;to&nbsp;use&nbsp;few&nbsp;authentication&nbsp;types&nbsp;in&nbsp;the&nbsp;same&nbsp;commands.&nbsp;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</B>
-
-&lt;cachtype&gt; &lt;cachtime&gt;
-<BR>
-
-Cache authentication information to given amount of time (cachetime) in seconds.
-Cahtype is one of:
-<BR>
-
-<BR>&nbsp;ip&nbsp;-&nbsp;after&nbsp;successful&nbsp;authentication&nbsp;all&nbsp;connections&nbsp;during&nbsp;caching&nbsp;time
-from same IP are assigned to the same user, username is not requested.
-<BR>
-
-<BR>&nbsp;ip,user&nbsp;username&nbsp;is&nbsp;requested&nbsp;and&nbsp;all&nbsp;connections&nbsp;from&nbsp;the&nbsp;same&nbsp;IP&nbsp;are
-assigned to the same user without actual authentication.
-<BR>
-
-<BR>&nbsp;user&nbsp;-&nbsp;same&nbsp;as&nbsp;above,&nbsp;but&nbsp;IP&nbsp;is&nbsp;not&nbsp;checked.&nbsp;
-<BR>
-
-<BR>&nbsp;user,password&nbsp;-&nbsp;both&nbsp;username&nbsp;and&nbsp;password&nbsp;are&nbsp;checked&nbsp;against&nbsp;cached&nbsp;ones.
-<BR>
-
-Use auth type 'cache' for cached authentication
-<BR>
-
-<B>allow</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-&lt;weekdayslist&gt; &lt;timeperiodslist&gt;
-<BR>
-
-<B>deny</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-&lt;weekdayslist&gt; &lt;timeperiodslist&gt;
-<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 &quot;ANY&quot; If access list is empty it's assumed to be
-<BR>
-
-<BR>&nbsp;allow&nbsp;*
-<BR>
-
-<BR>&nbsp;If&nbsp;access&nbsp;list&nbsp;is&nbsp;not&nbsp;empty&nbsp;last&nbsp;item&nbsp;in&nbsp;access&nbsp;list&nbsp;is&nbsp;assumed&nbsp;to&nbsp;be
-<BR>
-
-<BR>&nbsp;deny&nbsp;*
-<BR>
-
-<BR>&nbsp;You&nbsp;may&nbsp;want&nbsp;explicitly&nbsp;add&nbsp;&quot;deny&nbsp;*&quot;&nbsp;to&nbsp;the&nbsp;end&nbsp;of&nbsp;access&nbsp;list&nbsp;to&nbsp;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>
-
-<BR>&nbsp;CONNECT&nbsp;-&nbsp;establish&nbsp;outgoing&nbsp;TCP&nbsp;connection
-<BR>
-
-<BR>&nbsp;BIND&nbsp;-&nbsp;bind&nbsp;TCP&nbsp;port&nbsp;for&nbsp;listening
-<BR>
-
-<BR>&nbsp;UDPASSOC&nbsp;-&nbsp;make&nbsp;UDP&nbsp;association
-<BR>
-
-<BR>&nbsp;ICMPASSOC&nbsp;-&nbsp;make&nbsp;ICMP&nbsp;association&nbsp;(for&nbsp;future&nbsp;use)
-<BR>
-
-<BR>&nbsp;HTTP_GET&nbsp;-&nbsp;HTTP&nbsp;GET&nbsp;request
-<BR>
-
-<BR>&nbsp;HTTP_PUT&nbsp;-&nbsp;HTTP&nbsp;PUT&nbsp;request
-<BR>
-
-<BR>&nbsp;HTTP_POST&nbsp;-&nbsp;HTTP&nbsp;POST&nbsp;request
-<BR>
-
-<BR>&nbsp;HTTP_HEAD&nbsp;-&nbsp;HTTP&nbsp;HEAD&nbsp;request
-<BR>
-
-<BR>&nbsp;HTTP_CONNECT&nbsp;-&nbsp;HTTP&nbsp;CONNECT&nbsp;request
-<BR>
-
-<BR>&nbsp;HTTP_OTHER&nbsp;-&nbsp;over&nbsp;HTTP&nbsp;request
-<BR>
-
-<BR>&nbsp;HTTP&nbsp;-&nbsp;matches&nbsp;any&nbsp;HTTP&nbsp;request&nbsp;except&nbsp;HTTP_CONNECT
-<BR>
-
-<BR>&nbsp;HTTPS&nbsp;-&nbsp;same&nbsp;as&nbsp;HTTP_CONNECT
-<BR>
-
-<BR>&nbsp;FTP_GET&nbsp;-&nbsp;FTP&nbsp;get&nbsp;request
-<BR>
-
-<BR>&nbsp;FTP_PUT&nbsp;-&nbsp;FTP&nbsp;put&nbsp;request
-<BR>
-
-<BR>&nbsp;FTP_LIST&nbsp;-&nbsp;FTP&nbsp;list&nbsp;request
-<BR>
-
-<BR>&nbsp;FTP_DATA&nbsp;-&nbsp;FTP&nbsp;data&nbsp;connection.&nbsp;Note:&nbsp;FTP_DATA&nbsp;requires&nbsp;access&nbsp;to&nbsp;dynamic
-<BR>&nbsp;non-ptivileged&nbsp;(1024-65535)&nbsp;ports&nbsp;on&nbsp;remote&nbsp;side.
-<BR>
-
-<BR>&nbsp;FTP&nbsp;-&nbsp;matches&nbsp;any&nbsp;FTP/FTP&nbsp;Data&nbsp;request
-<BR>
-
-<BR>&nbsp;ADMIN&nbsp;-&nbsp;access&nbsp;to&nbsp;administration&nbsp;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, 
-<BR>&nbsp;00:00:00-08:00:00,17:00:00-24:00:00
-lists non-working hours.
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><BR>
-<BR>
-
-<B>parent</B>
-
-&lt;weight&gt; &lt;type&gt; &lt;ip&gt; &lt;port&gt; &lt;username&gt; &lt;password&gt;
-<BR>
-
-this command must follow &quot;allow&quot; 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>
-
-<BR>&nbsp;allow&nbsp;*
-<BR>
-
-<BR>&nbsp;parent&nbsp;500&nbsp;socks5&nbsp;192.168.10.1&nbsp;1080
-<BR>
-
-<BR>&nbsp;parent&nbsp;500&nbsp;connect&nbsp;192.168.10.1&nbsp;3128
-<BR>
-
-<BR>&nbsp;makes&nbsp;3proxy&nbsp;to&nbsp;randomly&nbsp;choose&nbsp;between&nbsp;2&nbsp;proxies&nbsp;for&nbsp;all&nbsp;outgoing
-connections. These 2 proxies form 1 group (summarized weight is 1000).
-<BR>
-
-<BR>&nbsp;allow&nbsp;*&nbsp;*&nbsp;*&nbsp;80
-<BR>
-
-<BR>&nbsp;parent&nbsp;1000&nbsp;socks5&nbsp;192.168.10.1&nbsp;1080
-<BR>
-
-<BR>&nbsp;parent&nbsp;1000&nbsp;connect&nbsp;192.168.20.1&nbsp;3128
-<BR>
-
-<BR>&nbsp;parent&nbsp;300&nbsp;socks4&nbsp;192.168.30.1&nbsp;1080
-<BR>
-
-<BR>&nbsp;parent&nbsp;700&nbsp;socks5&nbsp;192.168.40.1&nbsp;1080
-<BR>
-
-<BR>&nbsp;creates&nbsp;chain&nbsp;of&nbsp;3&nbsp;proxies:&nbsp;192.168.10.1,&nbsp;192.168.20.1&nbsp;and&nbsp;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>
-
-<BR>&nbsp;type&nbsp;is&nbsp;one&nbsp;of:
-<BR>
-
-<BR>&nbsp;tcp&nbsp;-&nbsp;simply&nbsp;redirect&nbsp;connection.&nbsp;TCP&nbsp;is&nbsp;always&nbsp;last&nbsp;in&nbsp;chain.
-<BR>
-
-<BR>&nbsp;http&nbsp;-&nbsp;redirect&nbsp;to&nbsp;HTTP&nbsp;proxy.&nbsp;HTTP&nbsp;is&nbsp;always&nbsp;last&nbsp;chain.
-<BR>
-
-<BR>&nbsp;pop3&nbsp;-&nbsp;redirect&nbsp;to&nbsp;POP3&nbsp;proxy&nbsp;(only&nbsp;local&nbsp;redirection&nbsp;is&nbsp;supported,&nbsp;can&nbsp;not&nbsp;be
-used for chaining)
-<BR>
-
-<BR>&nbsp;ftp&nbsp;-&nbsp;redirect&nbsp;to&nbsp;FTP&nbsp;proxy&nbsp;(only&nbsp;local&nbsp;redirection&nbsp;is&nbsp;supported,&nbsp;can&nbsp;not&nbsp;be
-used for chaining)
-<BR>
-
-<BR>&nbsp;connect&nbsp;-&nbsp;parent&nbsp;is&nbsp;HTTP&nbsp;CONNECT&nbsp;method&nbsp;proxy
-<BR>
-
-<BR>&nbsp;connect+&nbsp;-&nbsp;parent&nbsp;is&nbsp;HTTP&nbsp;CONNECT&nbsp;proxy&nbsp;with&nbsp;name&nbsp;resolution
-<BR>
-
-<BR>&nbsp;socks4&nbsp;-&nbsp;parent&nbsp;is&nbsp;SOCKSv4&nbsp;proxy
-<BR>
-
-<BR>&nbsp;socks4+&nbsp;-&nbsp;parent&nbsp;is&nbsp;SOCKSv4&nbsp;proxy&nbsp;with&nbsp;name&nbsp;resolution&nbsp;(SOCKSv4a)
-<BR>
-
-<BR>&nbsp;socks5&nbsp;-&nbsp;parent&nbsp;is&nbsp;SOCKSv5&nbsp;proxy
-<BR>
-
-<BR>&nbsp;socks5+&nbsp;-&nbsp;parent&nbsp;is&nbsp;SOCKSv5&nbsp;proxy&nbsp;with&nbsp;name&nbsp;resolution
-<BR>
-
-<BR>&nbsp;socks4b&nbsp;-&nbsp;parent&nbsp;is&nbsp;SOCKS4b&nbsp;(broken&nbsp;SOCKSv4&nbsp;implementation&nbsp;with&nbsp;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>
-
-<BR>&nbsp;socks5b&nbsp;-&nbsp;parent&nbsp;is&nbsp;SOCKS5b&nbsp;(broken&nbsp;SOCKSv5&nbsp;implementation&nbsp;with&nbsp;shortened
-server reply. I think you will never find it useful). Never use this option
-unless you know exactly you need it.
-<BR>
-
-<BR>&nbsp;admin&nbsp;-&nbsp;redirect&nbsp;request&nbsp;to&nbsp;local&nbsp;'admin'&nbsp;service&nbsp;(with&nbsp;-s&nbsp;parameter).
-<BR>
-
-<BR>&nbsp;Use&nbsp;&quot;+&quot;&nbsp;proxy&nbsp;only&nbsp;with&nbsp;&quot;fakeresolve&quot;&nbsp;option
-<BR>
-
-
-<BR>&nbsp;IP&nbsp;and&nbsp;port&nbsp;are&nbsp;ip&nbsp;addres&nbsp;and&nbsp;port&nbsp;of&nbsp;parent&nbsp;proxy&nbsp;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</B>
-
-proxy. In case of local redirection request is redirected to different service, 
-<B>ftp</B>
-
-locally redirects to
-<B>ftppr</B>
-
-<B>pop3</B>
-
-locally redirects to
-<B>pop3p</B>
-
-<B>http</B>
-
-locally redurects to
-<B>proxy</B>
-
-<B>admin</B>
-
-locally redirects to admin -s service.
-<BR>
-
-
-<BR>&nbsp;Main&nbsp;purpose&nbsp;of&nbsp;local&nbsp;redirections&nbsp;is&nbsp;to&nbsp;have&nbsp;requested&nbsp;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
-
-redirected (HTTP, FTP or POP3) after 'parent' command. It means,
-additional 'allow' command is required for redirected requests, for
-example:
-<BR>
-
-<BR>&nbsp;allow&nbsp;*&nbsp;*&nbsp;*&nbsp;80
-<BR>
-
-<BR>&nbsp;parent&nbsp;1000&nbsp;http&nbsp;0.0.0.0&nbsp;0
-<BR>
-
-<BR>&nbsp;allow&nbsp;*&nbsp;*&nbsp;*&nbsp;80&nbsp;HTTP_GET,HTTP_POST
-<BR>
-
-<BR>&nbsp;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>
-
-<BR>&nbsp;parent&nbsp;1000&nbsp;http&nbsp;1.2.3.4&nbsp;0
-<BR>
-
-Changes external address for given connection to 1.2.3.4
-(an equivalent to -e1.2.3.4)
-
-<BR>&nbsp;Optional&nbsp;username&nbsp;and&nbsp;password&nbsp;are&nbsp;used&nbsp;to&nbsp;authenticate&nbsp;on&nbsp;parent
-proxy. Username of '*' means username must be supplied by user.
-
-
-<BR>
-
-<B>nolog</B>
-
-&lt;n&gt;
-extends last allow or deny command to prevent logging, e.g.
-<BR>
-
-allow * * 192.168.1.1
-<BR>
-
-nolog
-
-
-<BR>
-
-<B>weight</B>
-
-&lt;n&gt;
-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</B>
-
-&lt;rate&gt; &lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-<B>nobandlimin</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<B>bandlimout</B>
-
-&lt;rate&gt; &lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-<B>nobandlimout</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-<BR>&nbsp;bandlim&nbsp;sets&nbsp;bandwith&nbsp;limitation&nbsp;filter&nbsp;to&nbsp;&lt;rate&gt;&nbsp;bps&nbsp;(bits&nbsp;per&nbsp;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>
-
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.16
-<BR>
-
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.17
-<BR>
-
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.18
-<BR>
-
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.19
-<BR>
-
-<BR>&nbsp;and&nbsp;every&nbsp;of&nbsp;you&nbsp;clients&nbsp;will&nbsp;have&nbsp;56K&nbsp;channel.<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>if&nbsp;you&nbsp;specify<BR>
-<BR>
-
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.16/30
-<BR>
-
-<BR>&nbsp;you&nbsp;will&nbsp;have&nbsp;56K&nbsp;channel&nbsp;shared&nbsp;between&nbsp;all&nbsp;clients.
-if you want, for example, to limit all speed ecept access to POP3 you can use
-<BR>
-
-<BR>&nbsp;nobandlimin&nbsp;*&nbsp;*&nbsp;*&nbsp;110
-<BR>
-
-<BR>&nbsp;before&nbsp;the&nbsp;rest&nbsp;of&nbsp;bandlim&nbsp;rules.
-
-<BR>
-
-<B>counter</B>
-
-&lt;filename&gt; &lt;reporttype&gt; &lt;repotname&gt;
-<BR>
-
-<B>countin</B>
-
-&lt;number&gt; &lt;type&gt; &lt;limit&gt; &lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-<B>nocountin</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-<B>countout</B>
-
-&lt;number&gt; &lt;type&gt; &lt;limit&gt; &lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-<B>nocountout</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-
-<BR>&nbsp;counter,&nbsp;countin,&nbsp;nocountin,&nbsp;countout,&nbsp;noucountout&nbsp;&nbsp;commands&nbsp;are&nbsp;
-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>
-
-<BR>&nbsp;D&nbsp;-&nbsp;counter&nbsp;is&nbsp;resetted&nbsp;daily
-<BR>
-
-<BR>&nbsp;W&nbsp;-&nbsp;counter&nbsp;is&nbsp;resetted&nbsp;weekly
-<BR>
-
-<BR>&nbsp;M&nbsp;-&nbsp;counter&nbsp;is&nbsp;resetted&nbsp;monthely
-<BR>
-
-<BR>&nbsp;reporttype/repotname&nbsp;may&nbsp;be&nbsp;used&nbsp;to&nbsp;generate&nbsp;traffic&nbsp;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>
-
-<BR>&nbsp;&lt;COUNTERNUMBER&gt;&nbsp;&lt;TRAF*4GB&gt;&nbsp;&lt;TRAF&gt;
-<BR>
-
-<BR>&nbsp;The&nbsp;rest&nbsp;of&nbsp;parameters&nbsp;is&nbsp;identical&nbsp;to&nbsp;bandlim/nobandlim.
-
-<BR>
-
-<B>users</B>
-
-username[:pwtype:password] ...
-<BR>
-
-pwtype is one of:
-<BR>
-
-<BR>&nbsp;none&nbsp;(empty)&nbsp;-&nbsp;use&nbsp;system&nbsp;authentication
-<BR>
-
-<BR>&nbsp;CL&nbsp;-&nbsp;password&nbsp;is&nbsp;cleartext
-<BR>
-
-<BR>&nbsp;CR&nbsp;-&nbsp;password&nbsp;is&nbsp;crypt-style&nbsp;password
-<BR>
-
-<BR>&nbsp;NT&nbsp;-&nbsp;password&nbsp;is&nbsp;NT&nbsp;password&nbsp;(in&nbsp;hex)
-<BR>
-
-example:
-<BR>
-
-<BR>&nbsp;users&nbsp;test1:CL:password1&nbsp;&quot;test2:CR:$1$lFDGlder$pLRb4cU2D7GAT58YQvY49.&quot;
-<BR>
-
-<BR>&nbsp;users&nbsp;test3:NT:BD7DFBF29A93F93C63CB84790DA00E63
-<BR>
-
-(note: double quotes are requiered because password contains $ sign).<TT>&nbsp;&nbsp;</TT><BR>
-
-<BR>
-
-<B>flush</B>
-
-<BR>
-
-empty active access list. Access list must be flushed avery time you creating
-new access list for new service. For example:
-<BR>
-
-<BR>&nbsp;allow&nbsp;*
-<BR>
-
-<BR>&nbsp;pop3p
-<BR>
-
-<BR>&nbsp;flush
-<BR>
-
-<BR>&nbsp;allow&nbsp;*&nbsp;192.168.1.0/24
-<BR>
-
-<BR>&nbsp;socks
-<BR>
-
-sets different ACLs for
-<B>pop3p</B>
-
-and
-<B>socks</B>
-
-
-<BR>
-
-<B>system</B>
-
-<BR>
-
-execute system command
-
-<BR>
-
-<B>pidfile</B>
-
-&lt;filename&gt;
-<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</B>
-
-&lt;filename&gt;
-<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</B>
-
-&lt;uid&gt;
-<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</B>
-
-&lt;gid&gt;
-<BR>
-
-calls setgid(gid), gid must be numeric. Unix only.
-
-<BR>
-
-<B>chroot</B>
-
-&lt;path&gt;
-<BR>
-
-calls chroot(path). Unix only.
-<A NAME="lbAD">&nbsp;</A>
-<H2>PLUGINS</H2>
-
-
-<BR>
-
-<B>plugin</B>
-
-&lt;path_to_shared_library&gt; &lt;function_to_call&gt; [&lt;arg1&gt; ...]
-<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 &gt; 0 to indicate error.
-
-<BR>
-
-<B>filtermaxsize</B>
-
-&lt;max_size_of_data_to_filter&gt;
-<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).
-
-
-<A NAME="lbAE">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/tcppm.8.html">tcppm</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAF">&nbsp;</A>
-<H2>TRIVIA</H2>
-
-3APA3A is pronounced as ``zaraza''.
-<A NAME="lbAG">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAD">PLUGINS</A><DD>
-<DT><A HREF="#lbAE">SEE ALSO</A><DD>
-<DT><A HREF="#lbAF">TRIVIA</A><DD>
-<DT><A HREF="#lbAG">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:57 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 268
doc/html/man8/3proxy.8.html

@@ -1,268 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of 3proxy</TITLE>
-</HEAD><BODY>
-<H1>3proxy</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>3proxy</B>
-
-- 3[APA3A] tiny proxy server, or trivial proxy server, or free proxy
-server
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>3proxy</B>
-
-[<I>config_file</I>]
-
-<BR>
-
-<B>3proxy</B>
-
-[<I>--install</I>]
-
-<BR>
-
-<B>3proxy</B>
-
-[<I>--remove</I>]
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>3proxy</B>
-
-is universal proxy server. It can be used to provide internal users wuth
-fully controllable access to external resources or to provide external
-users with access to internal resources. 3proxy is not developed to replace
-<B><A HREF="../man8/squid.8.html">squid</A></B>(8),
-
-but it can extend functionality of existing cashing proxy.
-It can be used to route requests between different types of clients and proxy
-servers. Think about it as application level
-gateway with configuration like hardware router has for network layer.
-It can establish multiple
-gateways with HTTP and HTTPS proxy with FTP over HTTP support, SOCKS v4,
-v4.5 and v5, POP3 proxy, UDP and TCP portmappers. Each gateway is started
-from configuration file like independant service 
-<B><A HREF="../man8/proxy.8.html">proxy</A></B>(8)
-
-<B><A HREF="../man8/socks.8.html">socks</A></B>(8)
-
-<B><A HREF="../man8/pop3p.8.html">pop3p</A></B>(8)
-
-<B><A HREF="../man8/tcppm.8.html">tcppm</A></B>(8)
-
-<B><A HREF="../man8/udppm.8.html">udppm</A></B>(8)
-
-<B><A HREF="../man8/ftppr.8.html">ftppr</A></B>(8)
-
-<B>dnspr</B>
-
-but
-<B>3proxy</B>
-
-is not a kind of wrapper or superserver for this daemons. It just has same
-code compiled in, but provides much more functionality. SOCKSv5
-implementatation allows to use 3proxy with any UDP or TCP based client
-applications designed without
-proxy support (with
-<I>SocksCAP</I>,
-
-<I>FreeCAP</I>
-
-or another client-side redirector under Windows of with socksification library
-under Unix). So you can play your favourite games, listen music, exchange
-files and messages and even accept incoming connections behind proxy server.
-<P>
-
-<I>dnspr</I>
-
-does not exist as independant service. It' DNS caching proxy (it requires
-<I>nscache</I>
-
-and
-<I>nserver</I>
-
-to be set in configuration. Only A-records are cached. Please note, the
-this caching is mostly a 'hack' and has nothing to do with real
-DNS server, but it works perfectly for SOHO networks.
-<P>
-<P>
-
-3proxy supports access control lists (ACL) like network router. Source
-and destination networks and destination port can be specified. In addition,
-usernames and gateway action (for example GET or POST) can be used in ACLs.
-In order to filter request on username basis user must be authenticated somehow. There are few
-authentication types including password authentication and authentication by
-NetBIOS name for Windows clients (it's very like ident authentication).
-Depending on ACL action request can be allowed, denied or redirected to another
-host or to another proxy server or even to a chain of proxy servers.
-<P>
-
-It supports different types of logging: to logfiles, 
-<B><A HREF="../man3/syslog.3.html">syslog</A></B>(3)
-
-(only under Unix) or to ODBC database. Logging format is turnable to provide
-compatibility with existing log file parsers. It makes it possible to use
-3proxy with IIS, ISA, Apache or Squid log parsers.
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>config_file</B>
-
-<DD>
-Name of config file. See
-<B><A HREF="../man3/3proxy.cfg.3.html">3proxy.cfg</A></B>(3)
-
-for configuration file format. Under Windows, if config_file is not specified,
-<B>3proxy</B>
-
-looks for file named
-<I>3proxy.cfg</I>
-
-in the default location (in same directory with executable file and in current
-directory). Under Unix, if no config file is specified, 3proxy reads
-configuration from stdin. It makes it possible to use 3proxy.cfg file as
-executable script just by setting +x mode and adding
-<BR>
-
-#!/usr/local/3proxy/3proxy
-<BR>
-
-as a first line in 3proxy.cfg
-<DT><B>--install</B>
-
-<DD>
-(Windows NT family only) install 
-<B>3proxy</B>
-
-as a system service
-<DT><B>--remove</B>
-
-<DD>
-(Windows NT family only) remove
-<B>3proxy</B>
-
-from system services
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>SIGNALS</H2>
-
-Under Unix there are few signals
-<B>3proxy</B>
-
-catches. See
-<B><A HREF="../man1/kill.1.html">kill</A></B>(1).
-
-<DL COMPACT>
-<DT><B>SIGTERM</B>
-
-<DD>
-cleanup connections and exit
-<DT><B>SIGPAUSE</B>
-
-<DD>
-stop to accept new connections, on second signal - start and re-read
-configuration
-<DT><B>SIGCONT</B>
-
-<DD>
-start to accept new conenctions
-<DT><B>SIGUSR1</B>
-
-<DD>
-reload configuration
-</DL>
-<P>
-
-Under Windows, if
-<B>3proxy</B>
-
-is installed as service you can standard service management to start, stop,
-pause and continue 3proxy service, for example:
-<BR>
-
-<B>net start 3proxy</B>
-
-<BR>
-
-<B>net stop 3proxy</B>
-
-<BR>
-
-<B>net pause 3proxy</B>
-
-<BR>
-
-<B>net continue 3proxy</B>
-
-<P>
-
-Web admin service can also be used to reload configuration. Use
-wget to automate this task.
-<A NAME="lbAG">&nbsp;</A>
-<H2>FILES</H2>
-
-<DL COMPACT>
-<DT><I>/usr/local/3proxy/3proxy.cfg (3proxy.cfg)</I>
-
-<DD>
-<B>3proxy</B>
-
-configuration file
-</DL>
-<A NAME="lbAH">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAI">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man3/3proxy.cfg.3.html">3proxy.cfg</A>(3), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/tcppm.8.html">tcppm</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8),
-<A HREF="../man1/kill.1.html">kill</A>(1), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAJ">&nbsp;</A>
-<H2>TRIVIA</H2>
-
-3APA3A is pronounced as ``zaraza''.
-<A NAME="lbAK">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">SIGNALS</A><DD>
-<DT><A HREF="#lbAG">FILES</A><DD>
-<DT><A HREF="#lbAH">BUGS</A><DD>
-<DT><A HREF="#lbAI">SEE ALSO</A><DD>
-<DT><A HREF="#lbAJ">TRIVIA</A><DD>
-<DT><A HREF="#lbAK">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:55 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 693
doc/html/man8/3proxy.conf.3.html

@@ -1,693 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of 3proxy.conf</TITLE>
-</HEAD><BODY>
-<H1>3proxy.conf</H1>
-Section: Universal proxy server
 (5)<BR>Updated: December 2004<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>3proxy.conf</B>
-
-- 3proxy configuration file
-<A NAME="lbAC">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-
-
-Common structure:
-
-Configuration file is a text file 3proxy reads configuration from. Each line
-of the file is command and is executed immediately, as it was given from
-console. 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 &quot;application level router&quot; with console interface.
-
-Comments:
-
-Any string beginning with space character or '#' character is comment. It's
-ignored. &lt;LF&gt;s are ignored. &lt;CR&gt; is end of command.
-
-
-Quotation:
-
-Quotation character is spaces or another special characters. To use quotation character inside
-quotation character must be dubbed (BASIC convention). For example to use
-HELLO Good practice is to quote any argument you use.
-
-File inclusion:
-
-You can include file by using $FILENAME macro (replace FILENAME with a path
-to file, for example $/usr/local/etc/3proxy/conf.incl or 
-<BR>&nbsp;$&quot;c:\Program&nbsp;Files\3proxy\include.cfg&quot;&nbsp;Quotation&nbsp;is
-required in last example because path contains space character. 
-For included file &lt;CR&gt; (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.
-
-Commands:
-
-<B>proxy</B>
-
-[options]
-<BR>
-
-<B>socks</B>
-
-[options]
-<BR>
-
-<B>pop3p</B>
-
-[options]
-<BR>
-
-<B>ftppr</B>
-
-[options]
-<BR>
-
-<B>admin</B>
-
-[options]
-<BR>
-
-<B>dnspr</B>
-
-[options]
-<BR>
-
-<B>tcppm</B>
-
-[options]
-&lt;SRCPORT&gt; &lt;DSTADDR&gt; &lt;DSTPORT&gt;
-<BR>
-
-<B>udppm</B>
-
-[options]
-&lt;SRCPORT&gt; &lt;DSTADDR&gt; &lt;DSTPORT&gt;
-
-starts gateway services
-
-<B>proxy</B>
-
-- HTTP/HTTPS proxy (default port 3128)
-<BR>
-
-<B>socks</B>
-
-- SOCKS 4/4.5/5 proxy (default port 1080)
-<BR>
-
-<B>pop3p</B>
-
-- POP3 proxy (default port 110)
-<BR>
-
-<B>ftppr</B>
-
-- FTP proxy (default port 21)
-<BR>
-
-<B>admin</B>
-
-- Web interface (default port 80)
-<BR>
-
-<B>dnspr</B>
-
-- caching DNS proxy (default port 53)
-<BR>
-
-<B>tcppm</B>
-
-- TCP portmapper
-<BR>
-
-<B>udppm</B>
-
-- UDP portmapper
-
-Options:
-<BR>
-
-<B>-pNUMBER</B>
-
-change default server port to NUMBER
-<BR>
-
-<B>-n</B>
-
-disable NTLM authentication (required if passwords are stored in Unix crypt format.
-<BR>
-
-Also, all options mentioned for 
-<B><A HREF="../man8/proxy.8.html">proxy</A></B>(8)
-
-<B><A HREF="../man8/socks.8.html">socks</A></B>(8)
-
-<B><A HREF="../man8/pop3p.8.html">pop3p</A></B>(8)
-
-<B><A HREF="../man8/tcppm.8.html">tcppm</A></B>(8)
-
-<B><A HREF="../man8/udppm.8.html">udppm</A></B>(8)
-
-<B><A HREF="../man8/ftppr.8.html">ftppr</A></B>(8)
-
-are also supported.
-
-Portmapping services listen at SRCPORT and connect to DSTADDR:DSTPORT
-HTTP and SOCKS proxies are standard. 
-
-POP3 proxy must be configured as POP3 server and requires username in the form of:
-<A HREF="mailto:pop3username@pop3server">pop3username@pop3server</A>. If POP3 proxy access must be authenticated, you can
-specify username as proxy_username:proxy_password:<A HREF="mailto:POP3_username@pop3server">POP3_username@pop3server</A>
-
-DNS proxy is only capable to resolve hostnames (no MX, PTR, SRV, etc) and
-requires nserver/nscache to be configured.
-
-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>&nbsp;<A HREF="mailto:FTPuser@FTPServer">FTPuser@FTPServer</A>
-<BR>&nbsp;FTPuser:<A HREF="mailto:FTPpassword@FTPserver">FTPpassword@FTPserver</A>
-<BR>&nbsp;proxyuser:proxypassword:FTPuser:<A HREF="mailto:FTPpassword@FTPserver">FTPpassword@FTPserver</A>
-<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<TT>&nbsp;</TT><BR>
-
-<B>config</B>
-
-&lt;path&gt;
-<BR>
-
-Path to configuration file to use on 3proxy restart or to save configuration.
-
-<B>writable</B>
-
-<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 &quot;config&quot; it can be used anywhere to open
-alternate config file. Think twice before using it.
-
-<B>end</B>
-
-<BR>
-
-End of configuration
-
-<B>log</B>
-
-[[@|&amp;]logfile] [&lt;LOGTYPE&gt;]
-<BR>
-
-sets logfile for all gateways
-<BR>&nbsp;@&nbsp;-&nbsp;(for&nbsp;Unix)&nbsp;use&nbsp;syslog,&nbsp;filename&nbsp;is&nbsp;used&nbsp;as&nbsp;ident&nbsp;name
-<BR>&nbsp;&amp;&nbsp;-&nbsp;use&nbsp;ODBC,&nbsp;filename&nbsp;consists&nbsp;of&nbsp;comma-delimited&nbsp;datasource,username,password&nbsp;(username&nbsp;and&nbsp;password&nbsp;are&nbsp;optional)
-<BR>&nbsp;LOGTYPE&nbsp;is&nbsp;one&nbsp;of:
-<BR>&nbsp;&nbsp;M&nbsp;-&nbsp;Monthly
-<BR>&nbsp;&nbsp;W&nbsp;-&nbsp;Weekly&nbsp;(starting&nbsp;from&nbsp;Sunday)
-<BR>&nbsp;&nbsp;D&nbsp;-&nbsp;Daily
-<BR>&nbsp;&nbsp;H&nbsp;-&nbsp;Hourly
-if logfile is not specified logging goes to stdout. You can specify individual logging options for gateway by using
--l option in gateway configuration.
-
-<B>rotate</B>
-
-&lt;n&gt;
-how many archived log files to keep
-
-<B>logformat</B>
-
-&lt;format&gt;
-
-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, &quot;-,%+ L&quot; in
-the beginning of logformat means comma and percent are replaced
-with space and all time based elemnts are in local time zone.
-You can use:
-
-<BR>&nbsp;%y&nbsp;-&nbsp;Year&nbsp;in&nbsp;2&nbsp;digit&nbsp;format
-<BR>&nbsp;%Y&nbsp;-&nbsp;Year&nbsp;in&nbsp;4&nbsp;digit&nbsp;format
-<BR>&nbsp;%m&nbsp;-&nbsp;Month&nbsp;number
-<BR>&nbsp;%o&nbsp;-&nbsp;Month&nbsp;abbriviature
-<BR>&nbsp;%d&nbsp;-&nbsp;Day
-<BR>&nbsp;%H&nbsp;-&nbsp;Hour
-<BR>&nbsp;%M&nbsp;-&nbsp;Minute
-<BR>&nbsp;%S&nbsp;-&nbsp;Second
-<BR>&nbsp;%t&nbsp;-&nbsp;Timstamp&nbsp;(in&nbsp;seconds&nbsp;since&nbsp;01-Jan-1970)
-<BR>&nbsp;%.&nbsp;-&nbsp;milliseconds
-<BR>&nbsp;%z&nbsp;-&nbsp;timeZone&nbsp;(from&nbsp;Grinvitch)
-<BR>&nbsp;%D&nbsp;-&nbsp;request&nbsp;duration&nbsp;(in&nbsp;milliseconds)
-<BR>&nbsp;%b&nbsp;-&nbsp;average&nbsp;send&nbsp;rate&nbsp;per&nbsp;request&nbsp;(in&nbsp;Bytes&nbsp;per&nbsp;second)&nbsp;this&nbsp;speed&nbsp;is&nbsp;typically&nbsp;below&nbsp;connection&nbsp;speed&nbsp;shown&nbsp;by&nbsp;download&nbsp;manager.
-<BR>&nbsp;%B&nbsp;-&nbsp;average&nbsp;receive&nbsp;rate&nbsp;per&nbsp;request&nbsp;(in&nbsp;Bytes&nbsp;per&nbsp;second)&nbsp;this&nbsp;speed&nbsp;is&nbsp;typically&nbsp;below&nbsp;connection&nbsp;speed&nbsp;shown&nbsp;by&nbsp;download&nbsp;manager.
-<BR>&nbsp;%U&nbsp;-&nbsp;Username
-<BR>&nbsp;%N&nbsp;-&nbsp;service&nbsp;Name
-<BR>&nbsp;%p&nbsp;-&nbsp;service&nbsp;Port
-<BR>&nbsp;%E&nbsp;-&nbsp;Error&nbsp;code
-<BR>&nbsp;%C&nbsp;-&nbsp;Client&nbsp;IP
-<BR>&nbsp;%c&nbsp;-&nbsp;Client&nbsp;port
-<BR>&nbsp;%R&nbsp;-&nbsp;Remote&nbsp;IP
-<BR>&nbsp;%r&nbsp;-&nbsp;Remote&nbsp;port
-<BR>&nbsp;%n&nbsp;-&nbsp;requested&nbsp;hostname
-<BR>&nbsp;%I&nbsp;-&nbsp;bytes&nbsp;In
-<BR>&nbsp;%O&nbsp;-&nbsp;bytes&nbsp;Out
-<BR>&nbsp;%h&nbsp;-&nbsp;Hops&nbsp;(redirections)&nbsp;count
-<BR>&nbsp;%T&nbsp;-&nbsp;service&nbsp;specific&nbsp;Text
-<BR>&nbsp;%N1-N2T&nbsp;-&nbsp;(N1&nbsp;and&nbsp;N2&nbsp;are&nbsp;positive&nbsp;numbers)&nbsp;-&nbsp;log&nbsp;only&nbsp;fields&nbsp;from&nbsp;N1&nbsp;thorugh&nbsp;N2&nbsp;of&nbsp;service&nbsp;specific&nbsp;text
-in case of ODBC logging logformat specifies SQL statement, for exmample:
-<BR>&nbsp;&nbsp;&nbsp;logformat&nbsp;&quot;-'+_Linsert&nbsp;into&nbsp;log&nbsp;(l_date,&nbsp;l_user,&nbsp;l_service,&nbsp;l_in,&nbsp;l_out,&nbsp;l_descr)&nbsp;values&nbsp;('%d-%m-%Y&nbsp;%H:%M:%S',&nbsp;'%U',&nbsp;'%N',&nbsp;%I,&nbsp;%O,&nbsp;'%T')&quot;
-
-<B>archiver</B>
-
-&lt;ext&gt; &lt;commandline&gt;
-<BR>
-
-Archiver to use for log files. &lt;ext&gt; 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.
-
-<B>timeouts</B>
-
-&lt;BYTE_SHORT&gt; &lt;BYTE_LONG&gt; &lt;STRING_SHORT&gt; &lt;STRING_LONG&gt; &lt;CONNECTION_SHORT&gt; &lt;CONNECTION_LONG&gt; &lt;DNS&gt; &lt;CHAIN&gt;
-Sets timeout values
-<BR>&nbsp;BYTE_SHORT&nbsp;-&nbsp;short&nbsp;timeout&nbsp;for&nbsp;single&nbsp;byte,&nbsp;is&nbsp;usually&nbsp;used&nbsp;for&nbsp;receiving&nbsp;single&nbsp;byte&nbsp;from&nbsp;stream.
-<BR>&nbsp;BYTE_LONG&nbsp;-&nbsp;long&nbsp;timeout&nbsp;for&nbsp;single&nbsp;byte,&nbsp;is&nbsp;usually&nbsp;used&nbsp;for&nbsp;receiving&nbsp;first&nbsp;byte&nbsp;in&nbsp;frame&nbsp;(for&nbsp;example&nbsp;first&nbsp;byte&nbsp;in&nbsp;socks&nbsp;request).
-<BR>&nbsp;STRING_SHORT&nbsp;-&nbsp;short&nbsp;timeout,&nbsp;for&nbsp;character&nbsp;string&nbsp;within&nbsp;stream&nbsp;(for&nbsp;example&nbsp;to&nbsp;wait&nbsp;between&nbsp;2&nbsp;HTTP&nbsp;headers)
-<BR>&nbsp;STRING_LONG&nbsp;-&nbsp;long&nbsp;timeout,&nbsp;for&nbsp;first&nbsp;string&nbsp;in&nbsp;stream&nbsp;(for&nbsp;example&nbsp;to&nbsp;wait&nbsp;for&nbsp;HTTP&nbsp;request).
-<BR>&nbsp;CONNECTION_SHORT&nbsp;-&nbsp;inactivity&nbsp;timeout&nbsp;for&nbsp;short&nbsp;connections&nbsp;(HTTP,&nbsp;POP3,&nbsp;etc).
-<BR>&nbsp;CONNECTION_LONG&nbsp;-&nbsp;inactivity&nbsp;timeout&nbsp;for&nbsp;long&nbsp;connection&nbsp;(SOCKS,&nbsp;portmappers,&nbsp;etc).
-<BR>&nbsp;DNS&nbsp;-&nbsp;timeout&nbsp;for&nbsp;DNS&nbsp;request&nbsp;before&nbsp;requesting&nbsp;next&nbsp;server
-<BR>&nbsp;CHAIN&nbsp;-&nbsp;timeout&nbsp;for&nbsp;reading&nbsp;data&nbsp;from&nbsp;chained&nbsp;connection
-
-<B>nserver</B>
-
-<BR>&nbsp;&lt;ipaddr&gt;
-<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.
-
-<B>nscache</B>
-
-&lt;cachesize&gt;
-<BR>
-
-
-Cache &lt;cachesize&gt; records for name resolution. Cachesize usually
-should be large enougth (for example 65536).
-
-<B>nsrecord</B>
-
-&lt;hostname&gt; &lt;hostaddr&gt;
-<B></B>
-
-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</B>
-
-command to set up UDL for dialing.
-
-<B>dialer</B>
-
-&lt;progname&gt;
-<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
-<A HREF="http://dial.right.now/">http://dial.right.now/</A> from browser to set up connection.
-
-
-<B>internal</B>
-
-&lt;ipaddr&gt;
-<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
-
-<B>external</B>
-
-&lt;ipaddr&gt;
-<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>&nbsp;&nbsp;&nbsp;
-<B>maxconn</B>
-
-&lt;number&gt;
-<BR>
-
-sets maximum number of simulationeous connections to each services
-started after this command. Default is 100.
-
-<B>service</B>
-
-<BR>
-
-(depricated) Should be specified to launch as Windows 95/98/NT/2000/XP service,
-no effect for Unix. Is not reqired since 0.6, but you must re-install 3proxy
-service with --remove and --install.
-
-<B>daemon</B>
-
-<BR>
-
-Should be specified to close console (not required for '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.
-
-<B>auth</B>
-
-<BR>
-
-Type of user authorization. Currently supported:
-<BR>&nbsp;none&nbsp;-&nbsp;no&nbsp;authorization&nbsp;required.&nbsp;Note:&nbsp;is&nbsp;auth&nbsp;is&nbsp;none&nbsp;any&nbsp;ip&nbsp;based&nbsp;limitation,&nbsp;redirection,&nbsp;etc&nbsp;will&nbsp;not&nbsp;work.&nbsp;
-<BR>&nbsp;iponly&nbsp;-&nbsp;authorization&nbsp;by&nbsp;source/destination&nbsp;IP&nbsp;and&nbsp;ports.&nbsp;Appropriate&nbsp;for&nbsp;most&nbsp;cases
-<BR>&nbsp;nbname&nbsp;-&nbsp;iponly&nbsp;+&nbsp;authorization&nbsp;by&nbsp;NetBIOS&nbsp;name.&nbsp;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.
-NB: there is no any password check, name may be spoofed.
-Think about it as about ident for Windows.
-<BR>&nbsp;Q:&nbsp;Will&nbsp;ident&nbsp;authorization&nbsp;be&nbsp;implemented?
-<BR>&nbsp;A:&nbsp;Yes,&nbsp;as&nbsp;soon&nbsp;as&nbsp;it&nbsp;will&nbsp;be&nbsp;required&nbsp;by&nbsp;someone.
-<BR>&nbsp;strong&nbsp;-&nbsp;username/password&nbsp;authentication&nbsp;required.&nbsp;It&nbsp;will&nbsp;work&nbsp;with&nbsp;SOCKSv5,&nbsp;FTP,&nbsp;POP3&nbsp;and&nbsp;HTTP&nbsp;proxy.
-
-<B>allow</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-&lt;weekdayslist&gt; &lt;timeperiodslist&gt;
-<BR>
-
-<B>deny</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-&lt;weekdayslist&gt; &lt;timeperiodslist&gt;
-<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). Targetportlist may
-contain ports (X) or port lists (X-Y).<TT>&nbsp;&nbsp;</TT>For any field * sign means &quot;ANY&quot;<BR>
-If access list is empty it's assumed to be
-<BR>&nbsp;allow&nbsp;*
-If access list is not empty last item in access list is assumed to be
-<BR>&nbsp;deny&nbsp;*
-You may want explicitly add &quot;deny *&quot; into 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.
-
-Operation is one of:
-<BR>&nbsp;CONNECT<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT>-&nbsp;establish&nbsp;outgoing&nbsp;TCP&nbsp;connection<BR>
-<BR>&nbsp;BIND&nbsp;-&nbsp;bind&nbsp;TCP&nbsp;port&nbsp;for&nbsp;listening
-<BR>&nbsp;UDPASSOC&nbsp;-&nbsp;make&nbsp;UDP&nbsp;association
-<BR>&nbsp;ICMPASSOC&nbsp;-&nbsp;make&nbsp;ICMP&nbsp;association&nbsp;(for&nbsp;future&nbsp;use)
-<BR>&nbsp;HTTP_GET&nbsp;-&nbsp;HTTP&nbsp;GET&nbsp;request
-<BR>&nbsp;HTTP_PUT&nbsp;-&nbsp;HTTP&nbsp;PUT&nbsp;request
-<BR>&nbsp;HTTP_POST&nbsp;-&nbsp;HTTP&nbsp;POST&nbsp;request
-<BR>&nbsp;HTTP_HEAD&nbsp;-&nbsp;HTTP&nbsp;HEAD&nbsp;request
-<BR>&nbsp;HTTP_CONNECT&nbsp;-&nbsp;HTTP&nbsp;CONNECT&nbsp;request
-<BR>&nbsp;HTTP_OTHER&nbsp;-&nbsp;over&nbsp;HTTP&nbsp;request
-<BR>&nbsp;HTTP&nbsp;-&nbsp;matches&nbsp;any&nbsp;HTTP&nbsp;request&nbsp;except&nbsp;HTTP_CONNECT
-<BR>&nbsp;HTTPS&nbsp;-&nbsp;same&nbsp;as&nbsp;HTTP_CONNECT
-<BR>&nbsp;FTP_GET&nbsp;-&nbsp;FTP&nbsp;get&nbsp;request
-<BR>&nbsp;FTP_PUT&nbsp;-&nbsp;FTP&nbsp;put&nbsp;request
-<BR>&nbsp;FTP_LIST&nbsp;-&nbsp;FTP&nbsp;list&nbsp;request
-<BR>&nbsp;FTP&nbsp;-&nbsp;matches&nbsp;any&nbsp;FTP&nbsp;request
-
-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, 
-<BR>&nbsp;00:00:00-08:00:00,17:00:00-24:00:00
-lists non-working hours.
-<TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TT><BR>
-<B>parent</B>
-
-&lt;weight&gt; &lt;type&gt; &lt;ip&gt; &lt;port&gt; &lt;username&gt; &lt;password&gt;
-<BR>
-
-this command may follow &quot;allow&quot; rule. It extends last allow rule to
-build proxy chain. Proxy may be grouped. Proxy inside the
-group is selected randomely. If few groups are specified one proxy
-is randomely 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>&nbsp;allow&nbsp;*
-<BR>&nbsp;parent&nbsp;500&nbsp;socks5&nbsp;192.168.10.1&nbsp;1080
-<BR>&nbsp;parent&nbsp;500&nbsp;connect&nbsp;192.168.10.1&nbsp;3128
-makes 3proxy to randomely choose between 2 proxies for all outgoing
-connections
-<BR>&nbsp;allow&nbsp;*&nbsp;*&nbsp;*&nbsp;80
-<BR>&nbsp;parent&nbsp;1000&nbsp;socks5&nbsp;192.168.10.1&nbsp;1080
-<BR>&nbsp;parent&nbsp;1000&nbsp;connect&nbsp;192.168.20.1&nbsp;3128
-<BR>&nbsp;parent&nbsp;300&nbsp;socks4&nbsp;192.168.30.1&nbsp;1080
-<BR>&nbsp;parent&nbsp;700&nbsp;socks5&nbsp;192.168.40.1&nbsp;1080
-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.
-
-type is one of:
-<BR>&nbsp;tcp&nbsp;-&nbsp;simply&nbsp;redirect&nbsp;connection.&nbsp;TCP&nbsp;is&nbsp;always&nbsp;last&nbsp;in&nbsp;chain.
-<BR>&nbsp;http&nbsp;-&nbsp;redirect&nbsp;to&nbsp;HTTP&nbsp;proxy.&nbsp;HTTP&nbsp;is&nbsp;always&nbsp;last&nbsp;chain.
-<BR>&nbsp;pop3&nbsp;-&nbsp;redirect&nbsp;to&nbsp;POP3&nbsp;proxy&nbsp;(only&nbsp;local&nbsp;redirection&nbsp;is&nbsp;supported,&nbsp;can&nbsp;not&nbsp;be
-used for chaining)
-<BR>&nbsp;ftp&nbsp;-&nbsp;redirect&nbsp;to&nbsp;FTP&nbsp;proxy&nbsp;(only&nbsp;local&nbsp;redirection&nbsp;is&nbsp;supported,&nbsp;can&nbsp;not&nbsp;be
-used for chaining)
-<BR>&nbsp;connect&nbsp;-&nbsp;parent&nbsp;is&nbsp;HTTP&nbsp;CONNECT&nbsp;method&nbsp;proxy
-<BR>&nbsp;socks4&nbsp;-&nbsp;parent&nbsp;is&nbsp;SOCKSv4&nbsp;proxy
-<BR>&nbsp;socks5&nbsp;-&nbsp;parent&nbsp;is&nbsp;SOCKSv5&nbsp;proxy
-
-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
-
-socks
-proxy. In case of local redirection request is redirected to different service,
-
-<B>ftppr</B>
-
-
-<B>pop3p</B>
-
-
-<B>proxy .</B>
-
-
-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
-
-redirected (HTTP, FTP or POP3) after 'parent' command. It means,
-additional 'allow' command is required for redirected requests, for
-example:
-<BR>&nbsp;allow&nbsp;*&nbsp;*&nbsp;*&nbsp;80
-<BR>&nbsp;parent&nbsp;1000&nbsp;http&nbsp;0.0.0.0&nbsp;0
-<BR>&nbsp;allow&nbsp;*&nbsp;*&nbsp;*&nbsp;80&nbsp;HTTP_GET,HTTP_POST
-<BR>&nbsp;socks
-redirects all SOCKS requests with target port 80 to local HTTP proxy,
-local HTTP proxy parses requests and allows only GET and POST requests.
-
-Optional username and password are used to authenticate on parent
-proxy. Username of '*' means username must be supplied by user.
-
-<B>bandlimin</B>
-
-&lt;rate&gt; &lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-<B>nobandlimin</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-bandlim sets bandwith limitation filter to &lt;rate&gt; 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>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.16
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.17
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.18
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.19
-and every of you clients will have 56K channel.<TT>&nbsp;</TT>if you specify<BR>
-<BR>&nbsp;bandlimin&nbsp;57600&nbsp;*&nbsp;192.168.10.16/30
-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>&nbsp;nobandlimin&nbsp;*&nbsp;*&nbsp;*&nbsp;110
-before the rest of bandlim rules.
-
-<B>counter</B>
-
-&lt;filename&gt; &lt;reporttype&gt; &lt;repotname&gt;
-<BR>
-
-<B>countin</B>
-
-&lt;number&gt; &lt;type&gt; &lt;limit&gt; &lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-<B>nocountin</B>
-
-&lt;userlist&gt; &lt;sourcelist&gt; &lt;targetlist&gt; &lt;targetportlist&gt; &lt;operationlist&gt;
-<BR>
-
-
-counter, countin, nocountin 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>&nbsp;D&nbsp;-&nbsp;counter&nbsp;is&nbsp;resetted&nbsp;daily
-<BR>&nbsp;W&nbsp;-&nbsp;counter&nbsp;is&nbsp;resetted&nbsp;weekly
-<BR>&nbsp;M&nbsp;-&nbsp;counter&nbsp;is&nbsp;resetted&nbsp;monthely
-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>&nbsp;&lt;COUNTERNUMBER&gt;&nbsp;&lt;TRAF*4GB&gt;&nbsp;&lt;TRAF&gt;
-The rest of parameters is identical to bandlim/nobandlim.
-
-<B>users</B>
-
-username[:pwtype:password] ...
-<BR>
-
-pwtype is one of:
-<BR>&nbsp;none&nbsp;(empty)&nbsp;-&nbsp;use&nbsp;system&nbsp;authentication
-<BR>&nbsp;CL&nbsp;-&nbsp;password&nbsp;is&nbsp;cleartext
-<BR>&nbsp;CR&nbsp;-&nbsp;password&nbsp;is&nbsp;crypt-style&nbsp;password
-<BR>&nbsp;NT&nbsp;-&nbsp;password&nbsp;is&nbsp;NT&nbsp;password&nbsp;(in&nbsp;hex)
-example:
-<BR>&nbsp;users&nbsp;test1:CL:password1&nbsp;&quot;test2:CR:$1$lFDGlder$pLRb4cU2D7GAT58YQvY49.&quot;
-<BR>&nbsp;users&nbsp;test3:NT:BD7DFBF29A93F93C63CB84790DA00E63
-<BR>
-
-(note: double quotes are requiered because password contains $ sign).<TT>&nbsp;&nbsp;</TT><BR>
-
-<B>flush</B>
-
-<BR>
-
-empty active access list. Access list must be flushed avery time you creating
-new access list for new service. For example:
-<BR>&nbsp;allow&nbsp;*
-<BR>&nbsp;pop3p
-<BR>&nbsp;flush
-<BR>&nbsp;allow&nbsp;*&nbsp;192.168.1.0/24
-<BR>&nbsp;socks
-sets different ACLs for
-<B>pop3p</B>
-
-and
-<B>socks</B>
-
-
-<B>system</B>
-
-<BR>
-
-execute system command
-
-<B>pidfile</B>
-
-&lt;filename&gt;
-<BR>
-
-write pid of current process to file. It can be used to manipulate
-3proxy with signals under Unix. Currently next signals are available:
-
-<B>setuid</B>
-
-&lt;uid&gt;
-<BR>
-
-calls setuid(uid), uid must be numeric. Unix only.
-
-<B>setgid</B>
-
-&lt;gid&gt;
-<BR>
-
-calls setgid(gid), gid must be numeric. Unix only.
-
-<B>chroot</B>
-
-&lt;path&gt;
-<BR>
-
-calls chroot(path). Unix only.
-<A NAME="lbAD">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/tcppm.8.html">tcppm</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAE">&nbsp;</A>
-<H2>TRIVIA</H2>
-
-3APA3A is pronounced as ``zaraza''.
-<A NAME="lbAF">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAD">SEE ALSO</A><DD>
-<DT><A HREF="#lbAE">TRIVIA</A><DD>
-<DT><A HREF="#lbAF">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time:  GMT, December 11, 2004
-</BODY>
-</HTML>

+ 0 - 160
doc/html/man8/ftppr.8.html

@@ -1,160 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of ftppr</TITLE>
-</HEAD><BODY>
-<H1>ftppr</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>ftppr</B>
-
-- FTP proxy gateway service
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>ftppr </B>[<B>-d</B>]
-
-<I></I>[<B>-l</B><I></I>[<B></B>[<I>@</I><B></B>]<I>logfile</I><B></B>]]
-
-<I></I>[<B>-p</B><I>port</I>]
-
-<I></I>[<B>-i</B><I>internal_ip</I>]
-
-<I></I>[<B>-e</B><I>external_ip</I>]
-
-<I></I>[<B>-h</B><I>default_ip[:port]</I>]
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>ftppr</B>
-
-is FTP gateway service to allow internal users to access external FTP
-servers.
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-I</B>
-
-<DD>
-Inetd mode. Standalone service only.
-<DT><B>-d</B>
-
-<DD>
-Daemonise. Detach service from console and run in the background.
-<DT><B>-t</B>
-
-<DD>
-Be silenT. Do not log start/stop/accept error records.
-<DT><B>-u</B>
-
-<DD>
-Never look for username authentication.
-<DT><B>-e</B>
-
-<DD>
-External address. IP address of interface proxy should initiate connections
-from. 
-By default system will deside which address to use in accordance
-with routing table.
-<DT><B>-i</B>
-
-<DD>
-Internal address. IP address proxy accepts connections to.
-By default connection to any interface is accepted. It's usually unsafe.
-<DT><B>-h</B>
-
-<DD>
-Default destination. It's used if targed address is not specified by user.
-<DT><B>-p</B>
-
-<DD>
-Port. Port proxy listens for incoming connections. Default is 21.
-<DT><B>-l</B>
-
-<DD>
-Log. By default logging is to stdout. If
-<I>logfile</I>
-
-is specified logging is to file. Under Unix, if
-'<I>@</I>'
-
-preceeds
-<I>logfile</I>,
-
-syslog is used for logging.
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>CLIENTS</H2>
-
-You can use any FTP client, regardless of FTP proxy support. For client with
-FTP proxy support configure
-<I>internal_ip</I>
-
-and
-<I>port</I>
-
-in FTP proxy parameters.
-For clients without FTP proxy support use
-<I>internal_ip</I>
-
-and
-<I>port</I>
-
-as FTP server. Address of real FTP server must be configured as a part of
-FTP username. Format for username is
-<I>username</I><B>@</B><I>server</I>,
-
-where
-<I>server</I>
-
-is address of FTP server and
-<I>username</I>
-
-is user's login on this FTP server. Login itself may contain '@' sign.
-Only cleartext authentication is currently supported.
-<A NAME="lbAG">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAH">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/tcppm.8.html">tcppm</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAI">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">CLIENTS</A><DD>
-<DT><A HREF="#lbAG">BUGS</A><DD>
-<DT><A HREF="#lbAH">SEE ALSO</A><DD>
-<DT><A HREF="#lbAI">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:56 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 155
doc/html/man8/icqpr.8.html

@@ -1,155 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of icqpr</TITLE>
-</HEAD><BODY>
-<H1>icqpr</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>icqpr</B>
-
-- ICQ (AOL OSCAR) proxy
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>icqpr </B>[<B>-d</B>]
-
-<I></I>[<B>-l</B><I></I>[<B></B>[<I>@</I><B></B>]<I>logfile</I><B></B>]]
-
-<I></I>[<B>-i</B><I>internal_ip</I>]
-
-<I></I>[<B>-e</B><I>external_ip</I>]
-
-<I>local_port remote_host remote_port</I>
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>icqpr</B>
-
-forwards ICQ connections from local to remote ICQ host. Most usual is
-<B>icqpr 5190 login.icq.com 5190</B>
-
-Also, icqpr adds UIN / AOL screen name as a username. It makes it possible
-to control user's access to ICQ/AOL by UIN/screen name (use
-<B>auth useronly</B>
-
-in 3proxy).
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-I</B>
-
-<DD>
-Inetd mode. Standalone service only.
-<DT><B>-d</B>
-
-<DD>
-Daemonise. Detach service from console and run in the background.
-<DT><B>-t</B>
-
-<DD>
-Be silenT. Do not log start/stop/accept error records.
-<DT><B>-e</B>
-
-<DD>
-External address. IP address of interface proxy should initiate connections
-from. 
-By default system will deside which address to use in accordance
-with routing table.
-<DT><B>-i</B>
-
-<DD>
-Internal address. IP address proxy accepts connections to.
-By default connection to any interface is accepted. It's usually unsafe.
-<DT><B>-l</B>
-
-<DD>
-Log. By default logging is to stdout. If
-<I>logfile</I>
-
-is specified logging is to file. Under Unix, if
-'<I>@</I>'
-
-preceeds
-<I>logfile</I>,
-
-syslog is used for logging.
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>ARGUMENTS</H2>
-
-<DL COMPACT>
-<DT><I>local_port</I>
-
-<DD>
-- port icqpr accepts connection
-<DT><I>remote_host</I>
-
-<DD>
-- IP address of the host connection is forwarded to
-<DT><I>remote_port</I>
-
-<DD>
-- remote port connection is forwarded to
-</DL>
-<A NAME="lbAG">&nbsp;</A>
-<H2>CLIENTS</H2>
-
-You can use any ICQ/AOL client where server address configuration is supported
-or spoof login server name (e.g. login.icq.com) with IP address of proxy server
-via DNS record or hosts file. Transparent redirection is also possible. Use
-<I>internal_ip</I>
-
-and
-<I>local_port</I>
-
-as a destination in client application. Connection is forwarded to
-<I>remote_host</I>:<I>remote_port</I>
-
-<A NAME="lbAH">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAI">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAJ">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">ARGUMENTS</A><DD>
-<DT><A HREF="#lbAG">CLIENTS</A><DD>
-<DT><A HREF="#lbAH">BUGS</A><DD>
-<DT><A HREF="#lbAI">SEE ALSO</A><DD>
-<DT><A HREF="#lbAJ">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:56 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 154
doc/html/man8/pop3p.8.html

@@ -1,154 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of pop3p</TITLE>
-</HEAD><BODY>
-<H1>pop3p</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>pop3p</B>
-
-- POP3 proxy gateway service
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>pop3p </B>[<B>-d</B>]
-
-<I></I>[<B>-l</B><I></I>[<B></B>[<I>@</I><B></B>]<I>logfile</I><B></B>]]
-
-<I></I>[<B>-p</B><I>port</I>]
-
-<I></I>[<B>-i</B><I>internal_ip</I>]
-
-<I></I>[<B>-e</B><I>external_ip</I>]
-
-<I></I>[<B>-h</B><I>default_ip[:port]</I>]
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>pop3p</B>
-
-is POP3 gateway service to allow internal users to access external POP3
-servers.
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-I</B>
-
-<DD>
-Inetd mode. Standalone service only.
-<DT><B>-d</B>
-
-<DD>
-Daemonise. Detach service from console and run in the background.
-<DT><B>-t</B>
-
-<DD>
-Be silenT. Do not log start/stop/accept error records.
-<DT><B>-u</B>
-
-<DD>
-Never look for username authentication.
-<DT><B>-e</B>
-
-<DD>
-External address. IP address of interface proxy should initiate connections
-from. 
-By default system will deside which address to use in accordance
-with routing table.
-<DT><B>-i</B>
-
-<DD>
-Internal address. IP address proxy accepts connections to.
-By default connection to any interface is accepted. It's usually unsafe.
-<DT><B>-p</B>
-
-<DD>
-Port. Port proxy listens for incoming connections. Default is 110.
-<DT><B>-h</B>
-
-<DD>
-Default destination. It's used if targed address is not specified by user.
-<DT><B>-l</B>
-
-<DD>
-Log. By default logging is to stdout. If
-<I>logfile</I>
-
-is specified logging is to file. Under Unix, if
-'<I>@</I>'
-
-preceeds
-<I>logfile</I>,
-
-syslog is used for logging.
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>CLIENTS</H2>
-
-You can use any MUA (Mail User Agent) with POP3 support. Set client to use
-<I>internal_ip</I>
-
-and
-<I>port</I>
-
-as a POP3 server. Address of real POP3 server must be configured as a part of
-POP3 username. Format for username is
-<I>username</I><B>@</B><I>server</I>,
-
-where
-<I>server</I>
-
-is address of POP3 server and
-<I>username</I>
-
-is user's login on this POP3 server. Login itself may contain '@' sign.
-Only cleartext authentication is supported, because challenge-response
-authentication (APOP, CRAM-MD5, etc) requires challenge from server before
-we know which server to connect.
-<A NAME="lbAG">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAH">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/tcppm.8.html">tcppm</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAI">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">CLIENTS</A><DD>
-<DT><A HREF="#lbAG">BUGS</A><DD>
-<DT><A HREF="#lbAH">SEE ALSO</A><DD>
-<DT><A HREF="#lbAI">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:56 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 147
doc/html/man8/proxy.8.html

@@ -1,147 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of proxy</TITLE>
-</HEAD><BODY>
-<H1>proxy</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>proxy</B>
-
-- HTTP proxy gateway service
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>proxy </B>[<B>-d</B>][<B>-a</B>]
-
-<I></I>[<B>-l</B><I></I>[<B></B>[<I>@</I><B></B>]<I>logfile</I><B></B>]]
-
-<I></I>[<B>-p</B><I>port</I>]
-
-<I></I>[<B>-i</B><I>internal_ip</I>]
-
-<I></I>[<B>-e</B><I>external_ip</I>]
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>proxy</B>
-
-is HTTP gateway service with HTTPS and FTP over HTTPS support.
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-I</B>
-
-<DD>
-Inetd mode. Standalone service only.
-<DT><B>-d</B>
-
-<DD>
-Daemonise. Detach service from console and run in the background.
-<DT><B>-t</B>
-
-<DD>
-Be silenT. Do not log start/stop/accept error records.
-<DT><B>-u</B>
-
-<DD>
-Never ask for username authentication
-<DT><B>-e</B>
-
-<DD>
-External address. IP address of interface proxy should initiate connections
-from. 
-By default system will deside which address to use in accordance
-with routing table.
-<DT><B>-i</B>
-
-<DD>
-Internal address. IP address proxy accepts connections to.
-By default connection to any interface is accepted. It's usually unsafe.
-<DT><B>-a</B>
-
-<DD>
-Anonymous. Hide information about client.
-<DT><B>-a1</B>
-
-<DD>
-Anonymous. Show fake information about client.
-<DT><B>-p</B>
-
-<DD>
-Port. Port proxy listens for incoming connections. Default is 3128.
-<DT><B>-l</B>
-
-<DD>
-Log. By default logging is to stdout. If
-<I>logfile</I>
-
-is specified logging is to file. Under Unix, if
-'<I>@</I>'
-
-preceeds
-<I>logfile</I>,
-
-syslog is used for logging.
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>CLIENTS</H2>
-
-You should use client with HTTP proxy support or configure router to redirect
-HTTP traffic to proxy (transparent proxy). Configure client to connect to
-<I>internal_ip</I>
-
-and
-<I>port</I>.
-
-HTTPS support allows to use almost any TCP based protocol. If you need to
-limit clients, use 
-<B><A HREF="../man8/3proxy.8.html">3proxy</A></B>(8)
-
-instead.
-<A NAME="lbAG">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAH">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/tcppm.8.html">tcppm</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAI">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">CLIENTS</A><DD>
-<DT><A HREF="#lbAG">BUGS</A><DD>
-<DT><A HREF="#lbAH">SEE ALSO</A><DD>
-<DT><A HREF="#lbAI">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:56 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 155
doc/html/man8/smtpp.8.html

@@ -1,155 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of smtpp</TITLE>
-</HEAD><BODY>
-<H1>smtpp</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>smtpp</B>
-
-- SMTP proxy gateway service
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>smtpp </B>[<B>-d</B>]
-
-<I></I>[<B>-l</B><I></I>[<B></B>[<I>@</I><B></B>]<I>logfile</I><B></B>]]
-
-<I></I>[<B>-p</B><I>port</I>]
-
-<I></I>[<B>-i</B><I>internal_ip</I>]
-
-<I></I>[<B>-e</B><I>external_ip</I>]
-
-<I></I>[<B>-h</B><I>default_ip[:port]</I>]
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>smtpp</B>
-
-is SMTP gateway service to allow internal users to access external SMTP
-servers.
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-I</B>
-
-<DD>
-Inetd mode. Standalone service only.
-<DT><B>-d</B>
-
-<DD>
-Daemonise. Detach service from console and run in the background.
-<DT><B>-t</B>
-
-<DD>
-Be silenT. Do not log start/stop/accept error records.
-<DT><B>-u</B>
-
-<DD>
-Never look for username authentication.
-<DT><B>-e</B>
-
-<DD>
-External address. IP address of interface proxy should initiate connections
-from. 
-By default system will deside which address to use in accordance
-with routing table.
-<DT><B>-i</B>
-
-<DD>
-Internal address. IP address proxy accepts connections to.
-By default connection to any interface is accepted. It's usually unsafe.
-<DT><B>-p</B>
-
-<DD>
-Port. Port proxy listens for incoming connections. Default is 25.
-<DT><B>-h</B>
-
-<DD>
-Default destination. It's used if targed address is not specified by user.
-<DT><B>-l</B>
-
-<DD>
-Log. By default logging is to stdout. If
-<I>logfile</I>
-
-is specified logging is to file. Under Unix, if
-'<I>@</I>'
-
-preceeds
-<I>logfile</I>,
-
-syslog is used for logging.
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>CLIENTS</H2>
-
-You can use any MUA (Mail User Agent) with SMTP authentication support.
-Set client to use
-<I>internal_ip</I>
-
-and
-<I>port</I>
-
-as a SMTP server. Address of real SMTP server must be configured as a part of
-SMTP username. Format for username is
-<I>username</I><B>@</B><I>server</I>,
-
-where
-<I>server</I>
-
-is address of SMTP server and
-<I>username</I>
-
-is user's login on this SMTP server. Login itself may contain '@' sign.
-Only cleartext authentication is supported, because challenge-response
-authentication (CRAM-MD5, SPA, etc) requires challenge from server before
-we know which server to connect.
-<A NAME="lbAG">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAH">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/tcppm.8.html">tcppm</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAI">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">CLIENTS</A><DD>
-<DT><A HREF="#lbAG">BUGS</A><DD>
-<DT><A HREF="#lbAH">SEE ALSO</A><DD>
-<DT><A HREF="#lbAI">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:56 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 148
doc/html/man8/socks.8.html

@@ -1,148 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of socks</TITLE>
-</HEAD><BODY>
-<H1>socks</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>socks</B>
-
-- SOCKS 4/4.5/5 gateway service
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>socks </B>[<B>-d</B>]
-
-<I></I>[<B>-l</B><I></I>[<B></B>[<I>@</I><B></B>]<I>logfile</I><B></B>]]
-
-<I></I>[<B>-p</B><I>port</I>]
-
-<I></I>[<B>-i</B><I>internal_ip</I>]
-
-<I></I>[<B>-e</B><I>external_ip</I>]
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>socks</B>
-
-is SOCKS server. It supports SOCKSv4, SOCKSv4.5 (extension to v4 for
-server side name resolution) and SOCKSv5. SOCKSv5 specification allows both
-outgoing and reverse TCP connections and UDP portmapping.
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-I</B>
-
-<DD>
-Inetd mode. Standalone service only.
-<DT><B>-d</B>
-
-<DD>
-Daemonise. Detach service from console and run in the background.
-<DT><B>-t</B>
-
-<DD>
-Be silenT. Do not log start/stop/accept error records.
-<DT><B>-u</B>
-
-<DD>
-Never ask for username authentication
-<DT><B>-e</B>
-
-<DD>
-External address. IP address of interface proxy should initiate connections
-from. External IP must be specified if you need incoming connections.
-By default system will deside which address to use in accordance
-with routing table.
-<DT><B>-i</B>
-
-<DD>
-Internal address. IP address proxy accepts connections to.
-By default connection to any interface is accepted. It's usually unsafe.
-<DT><B>-p</B>
-
-<DD>
-Port. Port proxy listens for incoming connections. Default is 1080.
-<DT><B>-l</B>
-
-<DD>
-Log. By default logging is to stdout. If
-<I>logfile</I>
-
-is specified logging is to file. Under Unix, if
-'<I>@</I>'
-
-preceeds
-<I>logfile</I>,
-
-syslog is used for logging.
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>CLIENTS</H2>
-
-You should use client with SOCKS support or use some socksification support
-(for example
-<I>SocksCAP</I>
-
-or
-<I>FreeCAP</I>).
-
-Configure client to use
-<I>internal_ip</I>
-
-and
-<I>port</I>.
-
-SOCKS allows to use almost any application protocol without limitation. This
-implementation also allows to open priviledged port on server (if socks has
-sufficient privileges). If you need to control access use
-<B><A HREF="../man8/3proxy.8.html">3proxy</A></B>(8)
-
-instead.
-<A NAME="lbAG">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAH">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/tcppm.8.html">tcppm</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAI">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">CLIENTS</A><DD>
-<DT><A HREF="#lbAG">BUGS</A><DD>
-<DT><A HREF="#lbAH">SEE ALSO</A><DD>
-<DT><A HREF="#lbAI">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:56 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 146
doc/html/man8/tcppm.8.html

@@ -1,146 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of tcppm</TITLE>
-</HEAD><BODY>
-<H1>tcppm</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>tcppm</B>
-
-- TCP port mapper
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>tcppm </B>[<B>-d</B>]
-
-<I></I>[<B>-l</B><I></I>[<B></B>[<I>@</I><B></B>]<I>logfile</I><B></B>]]
-
-<I></I>[<B>-i</B><I>internal_ip</I>]
-
-<I></I>[<B>-e</B><I>external_ip</I>]
-
-<I>local_port remote_host remote_port</I>
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>tcppm</B>
-
-forwards connections from local to remote TCP port
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-I</B>
-
-<DD>
-Inetd mode. Standalone service only.
-<DT><B>-d</B>
-
-<DD>
-Daemonise. Detach service from console and run in the background.
-<DT><B>-t</B>
-
-<DD>
-Be silenT. Do not log start/stop/accept error records.
-<DT><B>-e</B>
-
-<DD>
-External address. IP address of interface proxy should initiate connections
-from. 
-By default system will deside which address to use in accordance
-with routing table.
-<DT><B>-i</B>
-
-<DD>
-Internal address. IP address proxy accepts connections to.
-By default connection to any interface is accepted. It's usually unsafe.
-<DT><B>-l</B>
-
-<DD>
-Log. By default logging is to stdout. If
-<I>logfile</I>
-
-is specified logging is to file. Under Unix, if
-'<I>@</I>'
-
-preceeds
-<I>logfile</I>,
-
-syslog is used for logging.
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>ARGUMENTS</H2>
-
-<DL COMPACT>
-<DT><I>local_port</I>
-
-<DD>
-- port tcppm accepts connection
-<DT><I>remote_host</I>
-
-<DD>
-- IP address of the host connection is forwarded to
-<DT><I>remote_port</I>
-
-<DD>
-- remote port connection is forwarded to
-</DL>
-<A NAME="lbAG">&nbsp;</A>
-<H2>CLIENTS</H2>
-
-Any TCP based application can be used as a client. Use
-<I>internal_ip</I>
-
-and
-<I>local_port</I>
-
-as a destination in client application. Connection is forwarded to
-<I>remote_host</I>:<I>remote_port</I>
-
-<A NAME="lbAH">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAI">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAJ">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">ARGUMENTS</A><DD>
-<DT><A HREF="#lbAG">CLIENTS</A><DD>
-<DT><A HREF="#lbAH">BUGS</A><DD>
-<DT><A HREF="#lbAI">SEE ALSO</A><DD>
-<DT><A HREF="#lbAJ">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:57 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 153
doc/html/man8/udppm.8.html

@@ -1,153 +0,0 @@
-
-<HTML><HEAD><TITLE>Manpage of udppm</TITLE>
-</HEAD><BODY>
-<H1>udppm</H1>
-Section: Universal proxy server (8)<BR>Updated: July 2009<BR><A HREF="#index">Index</A>
-<A HREF="../index.html">Return to Main Contents</A><HR>
-
-<A NAME="lbAB">&nbsp;</A>
-<H2>NAME</H2>
-
-<B>udppm</B>
-
-- UDP port mapper
-<A NAME="lbAC">&nbsp;</A>
-<H2>SYNOPSIS</H2>
-
-<B>pop3p </B>[<B>-ds</B>]
-
-<I></I>[<B>-l</B><I></I>[<B></B>[<I>@</I><B></B>]<I>logfile</I><B></B>]]
-
-<I></I>[<B>-i</B><I>internal_ip</I>]
-
-<I></I>[<B>-e</B><I>external_ip</I>]
-
-<I>local_port remote_host remote_port</I>
-
-<A NAME="lbAD">&nbsp;</A>
-<H2>DESCRIPTION</H2>
-
-<B>udppm</B>
-
-forwards datagrams from local to remote UDP port
-<A NAME="lbAE">&nbsp;</A>
-<H2>OPTIONS</H2>
-
-<DL COMPACT>
-<DT><B>-I</B>
-
-<DD>
-Inetd mode. Standalone service only.
-<DT><B>-d</B>
-
-<DD>
-Daemonise. Detach service from console and run in the background.
-<DT><B>-t</B>
-
-<DD>
-Be silenT. Do not log start/stop/accept error records.
-<DT><B>-e</B>
-
-<DD>
-External address. IP address of interface proxy should initiate datagrams
-from. 
-By default system will deside which address to use in accordance
-with routing table.
-<DT><B>-i</B>
-
-<DD>
-Internal address. IP address proxy accepts datagrams to.
-By default connection to any interface is accepted. It's usually unsafe.
-<DT><B>-l</B>
-
-<DD>
-Log. By default logging is to stdout. If
-<I>logfile</I>
-
-is specified logging is to file. Under Unix, if
-'<I>@</I>'
-
-preceeds
-<I>logfile</I>,
-
-syslog is used for logging.
-<DT><B>-s</B>
-
-<DD>
-Single packet. By default only one client can use udppm service, but
-if -s is specified only one packet will be forwarded between client and server.
-It allows to share service between multiple clients for single packet services
-(for example name lookups).
-</DL>
-<A NAME="lbAF">&nbsp;</A>
-<H2>ARGUMENTS</H2>
-
-<DL COMPACT>
-<DT><I>local_port</I>
-
-<DD>
-- port udppm accepts datagrams
-<DT><I>remote_host</I>
-
-<DD>
-- IP address of the host datagrams are forwarded to
-<DT><I>remote_port</I>
-
-<DD>
-- remote port datagrams are forwarded to
-</DL>
-<A NAME="lbAG">&nbsp;</A>
-<H2>CLIENTS</H2>
-
-Any UDP based application can be used as a client. Use
-<I>internal_ip</I>
-
-and
-<I>local_port</I>
-
-as a destination in client application. All datagrams are forwarded to
-<I>remote_host</I>:<I>remote_port</I>
-
-<A NAME="lbAH">&nbsp;</A>
-<H2>BUGS</H2>
-
-Report all bugs to
-<B><A HREF="mailto:3proxy@security.nnov.ru">3proxy@security.nnov.ru</A></B>
-
-<A NAME="lbAI">&nbsp;</A>
-<H2>SEE ALSO</H2>
-
-<A HREF="../man8/3proxy.8.html">3proxy</A>(8), <A HREF="../man8/proxy.8.html">proxy</A>(8), <A HREF="../man8/ftppr.8.html">ftppr</A>(8), <A HREF="../man8/socks.8.html">socks</A>(8), <A HREF="../man8/pop3p.8.html">pop3p</A>(8), <A HREF="../man8/udppm.8.html">udppm</A>(8), <A HREF="../man8/syslogd.8.html">syslogd</A>(8),
-<BR>
-
-<A HREF="http://3proxy.ru/">http://3proxy.ru/</A>
-<A NAME="lbAJ">&nbsp;</A>
-<H2>AUTHORS</H2>
-
-3proxy is designed by 3APA3A
-(<I><A HREF="mailto:3APA3A@security.nnov.ru">3APA3A@security.nnov.ru</A></I>),
-
-Vladimir Dubrovin
-(<I><A HREF="mailto:vlad@sandy.ru">vlad@sandy.ru</A></I>)
-
-<P>
-
-<HR>
-<A NAME="index">&nbsp;</A><H2>Index</H2>
-<DL>
-<DT><A HREF="#lbAB">NAME</A><DD>
-<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
-<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
-<DT><A HREF="#lbAE">OPTIONS</A><DD>
-<DT><A HREF="#lbAF">ARGUMENTS</A><DD>
-<DT><A HREF="#lbAG">CLIENTS</A><DD>
-<DT><A HREF="#lbAH">BUGS</A><DD>
-<DT><A HREF="#lbAI">SEE ALSO</A><DD>
-<DT><A HREF="#lbAJ">AUTHORS</A><DD>
-</DL>
-<HR>
-This document was created by
-using the manual pages.<BR>
-Time: 21:23:57 GMT, April 07, 2014
-</BODY>
-</HTML>

+ 0 - 7
src/plugins/CVS/Entries

@@ -1,7 +0,0 @@
-D/WindowsAuthentication////
-D/TrafficPlugin////
-D/PCREPlugin////
-D/FilePlugin////
-D/TransparentPlugin////
-D/utf8tocp1251////
-D/SSLPlugin////

+ 0 - 1
src/plugins/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins

+ 0 - 1
src/plugins/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS

+ 0 - 4
src/plugins/FilePlugin/CVS/Entries

@@ -1,4 +0,0 @@
-/Makefile.inc/1.1/Sun Sep 20 17:13:29 2009//
-/FilePlugin.h/1.4/Fri Oct  9 11:36:00 2009//
-/FilePlugin.c/1.8/Wed Apr 11 23:01:22 2012//
-D

+ 0 - 1
src/plugins/FilePlugin/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins/FilePlugin

+ 0 - 1
src/plugins/FilePlugin/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS

+ 0 - 2
src/plugins/PCREPlugin/CVS/Entries

@@ -1,2 +0,0 @@
-/pcre_plugin.c/1.11/Wed Apr 25 18:17:22 2012//
-D

+ 0 - 1
src/plugins/PCREPlugin/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins/PCREPlugin

+ 0 - 1
src/plugins/PCREPlugin/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS

+ 0 - 1
src/plugins/SSLPlugin/CVS/Entries

@@ -1 +0,0 @@
-D

+ 0 - 1
src/plugins/SSLPlugin/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins/SSLPlugin

+ 0 - 1
src/plugins/SSLPlugin/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS

+ 0 - 2
src/plugins/StringsPlugin/CVS/Entries

@@ -1,2 +0,0 @@
-/TrafficPlugin.c/1.4/Mon Mar 19 10:24:40 2007//
-D

+ 0 - 1
src/plugins/StringsPlugin/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins/TrafficPlugin

+ 0 - 1
src/plugins/StringsPlugin/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS

+ 0 - 2
src/plugins/TrafficPlugin/CVS/Entries

@@ -1,2 +0,0 @@
-/TrafficPlugin.c/1.11/Fri Aug 14 10:20:01 2009//
-D

+ 0 - 1
src/plugins/TrafficPlugin/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins/TrafficPlugin

+ 0 - 1
src/plugins/TrafficPlugin/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS

+ 0 - 1
src/plugins/TransparentPlugin/CVS/Entries

@@ -1 +0,0 @@
-D

+ 0 - 1
src/plugins/TransparentPlugin/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins/TransparentPlugin

+ 0 - 1
src/plugins/TransparentPlugin/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS

+ 0 - 4
src/plugins/WindowsAuthentication/CVS/Entries

@@ -1,4 +0,0 @@
-/Makefile/1.3/Tue Jan 23 15:46:31 2007//
-/Makefile.inc/1.5/Fri Apr  6 14:12:06 2007//
-/WindowsAuthentication.c/1.12/Tue Apr 12 13:05:58 2011//
-D

+ 0 - 1
src/plugins/WindowsAuthentication/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins/WindowsAuthentication

+ 0 - 1
src/plugins/WindowsAuthentication/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS

+ 0 - 1
src/plugins/utf8tocp1251/CVS/Entries

@@ -1 +0,0 @@
-D

+ 0 - 1
src/plugins/utf8tocp1251/CVS/Repository

@@ -1 +0,0 @@
-3proxy-0.5a/src/plugins/utf8tocp1251

+ 0 - 1
src/plugins/utf8tocp1251/CVS/Root

@@ -1 +0,0 @@
-/cygdrive/m/MEDIA/H/CVS