README 8.1 KB

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