README 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. # 3APA3A 3proxy tiny proxy server
  2. (c) 2002-2020 by Vladimir '3APA3A' Dubrovin <3proxy@3proxy.ru>
  3. Branches:
  4. Master (stable) branch - 3proxy 0.9
  5. Devel branch - 3proxy 10
  6. Download:
  7. https://github.com/z3APA3A/3proxy/releases
  8. or
  9. https://3proxy.org/download/
  10. Archive of old versions: https://github.com/z3APA3A/3proxy-archive
  11. 3proxy --install
  12. installs and starts proxy as Windows service
  13. (config file should be located in the same directory)
  14. 3proxy --remove
  15. removes the service (should be stopped before via
  16. 'net stop 3proxy').
  17. To build in Linux install git and build-essential packages, use
  18. git clone https://github.com/z3apa3a/3proxy
  19. cd 3proxy
  20. ln -s Makefile.Linux Makefile
  21. make
  22. sudo make install
  23. Default configuration (for Linux/Unix):
  24. 3proxy uses 2 configuration files:
  25. /etc/3proxy/3proxy.cfg (before-chroot). This configuration file is executed before chroot and should not be modified.
  26. /usr/local/3proxy/conf/3proxy.cfg symlinked from /etc/3proxy/conf/3proxy.cfg (after-chroot) is a main configuration file. Modify this file, if required.
  27. All paths in /usr/local/3proxy/conf/3proxy.cfg are relative to chroot directory (/usr/local/3proxy). For future versions it's planned to move
  28. 3proxy chroot direcory to /var.
  29. Log files are created in /usr/local/3proxy/logs symlinked from /var/log/3proxy.
  30. By default, socks is started on 0.0.0.0:1080 and proxy on 0.0.0.0:3128 with basic auth, no users are added by default.
  31. use /etc/3proxy/conf/add3proxyuser.sh script to add users.
  32. usage: /etc/3proxy/conf/add3proxyuser.sh username password [day_limit] [bandwidth]
  33. day_limit - traffic limit in MB per day
  34. bandwidth - bandwith in bits per second 1048576 = 1Mbps
  35. or modify /etc/3proxy/conf/ files directly.
  36. Please read doc/html/index.html and man pages.
  37. Features:
  38. 1. General
  39. + IPv6 support for incoming and outgoing connection,
  40. can be used as a proxy between IPv4 and IPv6 networks
  41. in either direction.
  42. + HTTP/1.1 Proxy with keep-alive client and server support,
  43. transparent proxy support.
  44. + HTTPS (CONNECT) proxy (compatible with HTTP/2 / SPDY)
  45. + Anonymous and random client IP emulation for HTTP proxy mode
  46. + FTP over HTTP support.
  47. + DNS caching with built-in resolver
  48. + DNS proxy
  49. + DNS over TCP support, redirecting DNS traffic via parent
  50. proxy
  51. + SOCKSv4/4.5 Proxy
  52. + SOCKSv5 Proxy
  53. + SOCKSv5 UDP and BIND support (fully compatible with
  54. SocksCAP/FreeCAP for UDP)
  55. + Transparent SOCKS redirection for HTTP, POP3, FTP, SMTP
  56. + POP3 Proxy
  57. + FTP proxy
  58. + TCP port mapper (port forwarding)
  59. + UDP port mapper (port forwarding)
  60. + SMTP proxy
  61. + Threaded application (no child process).
  62. + Web administration and statistics
  63. + Plugins for functionality extension
  64. + Native 32/64 bit application
  65. 2. Proxy chaining and network connections
  66. + Can be used as a bridge between client and different proxy type
  67. (e.g. convert incoming HTTP proxy request from client to SOCKSv5
  68. request to parent server).
  69. + Connect back proxy support to bypass firewalls
  70. + Parent proxy support for any type of incoming connection
  71. + Username/password authentication for parent proxy(s).
  72. + HTTPS/SOCKS4/SOCKS5 and ip/port redirection parent support
  73. + Random parent selection
  74. + Chain building (multihop proxing)
  75. + Load balancing between few network connections by choosing network
  76. interface
  77. 3. Logging
  78. + tuneable log format compatible with any log parser
  79. + stdout logging
  80. + file logging
  81. + syslog logging (Unix)
  82. + ODBC logging
  83. + RADIUS accounting
  84. + log file rotation
  85. + automatic log file processing with external archiver (for files)
  86. + Character filtering for log files
  87. + different log files for different servces are supported
  88. 4. Access control
  89. + ACL-driven Access control by username, source IP,
  90. destination IP/hostname, destination port and destination action
  91. (POST, PUT, GET, etc), weekday and daytime.
  92. + ACL-driven (user/source/destination/protocol/weekday/daytime or
  93. combined) bandwith limitation for incoming and (!)outgoing trafic.
  94. + ACL-driven traffic limitation per day, week or month for incoming and
  95. outgoing traffic
  96. + Connection limitation and ratelimting
  97. + User authentication by username / password
  98. + RADIUS Authentication and Authorization
  99. + User authentication by DNS hostname
  100. + Authentication cache with possibility to limit user to single IP address
  101. + Access control by username/password for SOCKSv5 and HTTP/HTTPS/FTP
  102. + Cleartext or encrypted (crypt/MD5 or NT) passwords.
  103. + Connection redirection
  104. + Access control by requested action (CONNECT/BIND,
  105. HTTP GET/POST/PUT/HEAD/OTHER).
  106. + All access control entries now support weekday and time limitations
  107. + Hostnames and * templates are supported instead of IP address
  108. 5. Extensions
  109. + Regular expression filtering (with PCRE) via PCREPlugin
  110. + Authentication with Windows username/password (cleartext only)
  111. + SSL/TLS decryptions with certificate spoofing
  112. + Transparent redirection support for Linux and *BSD
  113. 6. Configuration
  114. + support for configuration files
  115. + support for includes in configuration files
  116. + interface binding
  117. + socket options
  118. + running as daemon process
  119. + utility for automated networks list building
  120. + configuration reload on any file change
  121. Unix
  122. + support for chroot
  123. + support for setgid
  124. + support for setuid
  125. + support for signals (SIGUSR1 to reload configuration)
  126. Windows
  127. + support --install as service
  128. + support --remove as service
  129. + support for service START, STOP, PAUSE and CONTINUE commands (on
  130. PAUSE no new connection accepted, but active connections still in
  131. progress, on CONTINUE configuration is reloaded)
  132. Windows 95/98/ME
  133. + support --install as service
  134. + support --remove as service
  135. 6. Compilation
  136. + MSVC (static)
  137. + OpenWatcom (static)
  138. + Intel Windows Compiler (msvcrt.dll)
  139. + Windows/gcc (msvcrt.dll)
  140. + Cygwin/gcc (cygwin.dll)
  141. + Unix/gcc
  142. + Unix/ccc
  143. + Solaris
  144. + Mac OS X, iPhone OS
  145. + Linux and derivered systems
  146. + Lite version for Windows 95/98/NT/2000/XP/2003
  147. + 32 bit and 64 bit versions for Windows Vista and above, Windows 2008 server and above
  148. 3proxy Combined proxy server may be used as
  149. executable or service (supports installation and removal).
  150. It uses config file to read it's configuration (see
  151. 3proxy.cfg.sample for details).
  152. 3proxy.exe is all-in-one, it doesn't require all others .exe
  153. to work.
  154. See 3proxy.cfg.sample for examples, see man 3proxy.cfg
  155. proxy HTTP proxy server, binds to port 3128
  156. ftppr FTP proxy server, binds to port 21
  157. socks SOCKS 4/5 proxy server, binds to port 1080
  158. ftppr FTP proxy server, please do not mess it with FTP over HTTP
  159. proxy used in browsers
  160. pop3p POP3 proxy server, binds to port 110. You must specify
  161. POP3 username as username@target.host.ip[:port]
  162. port is 110 by default.
  163. Exmple: in Username configuration for you e-mail reader
  164. set someuser@pop.example.org, to obtains mail for someuser
  165. from pop.somehost.ru via proxy.
  166. smtpp SMTP proxy server, binds to port 25. You must specify
  167. SMTP username as username@target.host.ip[:port]
  168. port is 25 by default.
  169. Exmple: in Username configuration for you e-mail reader
  170. set someuser@mail.example.org, to send mail as someuser
  171. via mail.somehost.ru via proxy.
  172. tcppm TCP port mapping. Maps some TCP port on local machine to
  173. TCP port on remote host.
  174. udppm UDP port mapping. Maps some UDP port on local machine to
  175. UDP port on remote machine. Only one user simulationeously
  176. can use UDP mapping, so it cann't be used for public service
  177. in large networks. It's OK to use it to map to DNS server
  178. in small network or to map Counter-Strike server for single
  179. client (you can use few mappings on different ports for
  180. different clients in last case).
  181. mycrypt Program to obtain crypted password fro cleartext. Supports
  182. both MD5/crypt and NT password.
  183. mycrypt password
  184. produces NT password
  185. mycrypt salt password
  186. produces MD5/crypt password with salt "salt".
  187. Run utility with --help option for command line reference.
  188. Latest version is available from https://3proxy.org/
  189. Want to donate the project? https://3proxy.org/donations/