README 8.1 KB

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