2017-08-15 17:28:46 +08:00
|
|
|
# 3APA3A 3proxy tiny proxy server
|
2020-10-16 07:33:59 +08:00
|
|
|
(c) 2002-2020 by Vladimir '3APA3A' Dubrovin <3proxy@3proxy.ru>
|
2014-04-08 17:20:46 +08:00
|
|
|
|
2020-10-19 18:28:02 +08:00
|
|
|
|
|
|
|
Branches:
|
|
|
|
Master (stable) branch - 3proxy 0.9
|
|
|
|
Devel branch - 3proxy 10
|
|
|
|
|
|
|
|
|
2017-08-15 17:30:09 +08:00
|
|
|
Download:
|
|
|
|
https://github.com/z3APA3A/3proxy/releases
|
|
|
|
or
|
2019-01-17 17:26:38 +08:00
|
|
|
https://3proxy.org/download/
|
2017-08-15 17:27:06 +08:00
|
|
|
Archive of old versions: https://github.com/z3APA3A/3proxy-archive
|
|
|
|
|
|
|
|
|
2018-04-25 07:52:31 +08:00
|
|
|
3proxy --install
|
2018-04-25 07:51:18 +08:00
|
|
|
|
|
|
|
installs and starts proxy as Windows service
|
|
|
|
(config file should be located in the same directory)
|
|
|
|
|
2018-04-25 07:52:31 +08:00
|
|
|
3proxy --remove
|
|
|
|
|
2018-04-25 07:51:18 +08:00
|
|
|
removes the service (should be stopped before via
|
|
|
|
'net stop 3proxy').
|
|
|
|
|
2019-01-28 23:05:48 +08:00
|
|
|
To build in Linux install git and build-essential packages, use
|
2018-04-25 07:51:18 +08:00
|
|
|
|
2018-04-25 07:52:31 +08:00
|
|
|
git clone https://github.com/z3apa3a/3proxy
|
|
|
|
cd 3proxy
|
|
|
|
ln -s Makefile.Linux Makefile
|
|
|
|
make
|
2018-04-28 23:27:45 +08:00
|
|
|
sudo make install
|
2018-04-25 07:51:18 +08:00
|
|
|
|
|
|
|
use /etc/3proxy/add3proxyuser.sh script to add users.
|
|
|
|
|
|
|
|
|
2014-04-08 17:20:46 +08:00
|
|
|
Please read doc/html/index.html and man pages.
|
|
|
|
|
2016-01-24 01:38:10 +08:00
|
|
|
Features:
|
|
|
|
1. General
|
2017-12-22 23:53:04 +08:00
|
|
|
+ IPv6 support for incoming and outgoing connection,
|
|
|
|
can be used as a proxy between IPv4 and IPv6 networks
|
|
|
|
in either direction.
|
2016-01-24 01:38:10 +08:00
|
|
|
+ HTTP/1.1 Proxy with keep-alive client and server support,
|
|
|
|
transparent proxy support.
|
2017-12-22 23:53:04 +08:00
|
|
|
+ HTTPS (CONNECT) proxy (compatible with HTTP/2 / SPDY)
|
|
|
|
+ Anonymous and random client IP emulation for HTTP proxy mode
|
2016-01-24 01:38:10 +08:00
|
|
|
+ FTP over HTTP support.
|
|
|
|
+ DNS caching with built-in resolver
|
2017-12-22 23:53:04 +08:00
|
|
|
+ DNS proxy
|
|
|
|
+ DNS over TCP support, redirecting DNS traffic via parent
|
|
|
|
proxy
|
2016-01-24 01:38:10 +08:00
|
|
|
+ SOCKSv4/4.5 Proxy
|
|
|
|
+ SOCKSv5 Proxy
|
2017-12-22 23:53:04 +08:00
|
|
|
+ SOCKSv5 UDP and BIND support (fully compatible with
|
2016-01-24 01:38:10 +08:00
|
|
|
SocksCAP/FreeCAP for UDP)
|
2018-04-23 02:43:47 +08:00
|
|
|
+ Transparent SOCKS redirection for HTTP, POP3, FTP, SMTP
|
2016-01-24 01:38:10 +08:00
|
|
|
+ POP3 Proxy
|
|
|
|
+ FTP proxy
|
2017-12-22 23:53:04 +08:00
|
|
|
+ TCP port mapper (port forwarding)
|
|
|
|
+ UDP port mapper (port forwarding)
|
2016-01-24 01:38:10 +08:00
|
|
|
+ SMTP proxy
|
|
|
|
+ Threaded application (no child process).
|
|
|
|
+ Web administration and statistics
|
|
|
|
+ Plugins for functionality extension
|
2020-10-16 07:33:59 +08:00
|
|
|
+ Native 32/64 bit application
|
2016-01-24 01:38:10 +08:00
|
|
|
2. Proxy chaining and network connections
|
2017-12-22 23:53:04 +08:00
|
|
|
+ Can be used as a bridge between client and different proxy type
|
|
|
|
(e.g. convert incoming HTTP proxy request from client to SOCKSv5
|
|
|
|
request to parent server).
|
2016-01-24 01:38:10 +08:00
|
|
|
+ Connect back proxy support to bypass firewalls
|
|
|
|
+ Parent proxy support for any type of incoming connection
|
|
|
|
+ Username/password authentication for parent proxy(s).
|
2017-12-22 23:53:04 +08:00
|
|
|
+ HTTPS/SOCKS4/SOCKS5 and ip/port redirection parent support
|
2016-01-24 01:38:10 +08:00
|
|
|
+ Random parent selection
|
|
|
|
+ Chain building (multihop proxing)
|
|
|
|
+ Load balancing between few network connections by choosing network
|
|
|
|
interface
|
|
|
|
3. Logging
|
2017-12-22 23:53:04 +08:00
|
|
|
+ tuneable log format compatible with any log parser
|
2016-01-24 01:38:10 +08:00
|
|
|
+ stdout logging
|
|
|
|
+ file logging
|
|
|
|
+ syslog logging (Unix)
|
2016-01-24 01:44:01 +08:00
|
|
|
+ ODBC logging
|
2017-12-22 23:53:04 +08:00
|
|
|
+ RADIUS accounting
|
2020-10-16 07:33:59 +08:00
|
|
|
+ log file rotation
|
|
|
|
+ automatic log file processing with external archiver (for files)
|
2016-01-24 01:38:10 +08:00
|
|
|
+ Character filtering for log files
|
|
|
|
+ different log files for different servces are supported
|
|
|
|
4. Access control
|
2017-12-22 23:53:04 +08:00
|
|
|
+ ACL-driven Access control by username, source IP,
|
|
|
|
destination IP/hostname, destination port and destination action
|
|
|
|
(POST, PUT, GET, etc), weekday and daytime.
|
2016-01-24 01:38:10 +08:00
|
|
|
+ ACL-driven (user/source/destination/protocol/weekday/daytime or
|
|
|
|
combined) bandwith limitation for incoming and (!)outgoing trafic.
|
2020-10-16 07:33:59 +08:00
|
|
|
+ ACL-driven traffic limitation per day, week or month for incoming and
|
2017-12-22 23:53:04 +08:00
|
|
|
outgoing traffic
|
2020-10-16 07:33:59 +08:00
|
|
|
+ Connection limitation and ratelimting
|
2016-01-24 01:44:01 +08:00
|
|
|
+ User authentication by username / password
|
2017-12-22 23:53:04 +08:00
|
|
|
+ RADIUS Authentication and Authorization
|
|
|
|
+ User authentication by DNS hostname
|
2020-10-16 07:33:59 +08:00
|
|
|
+ Authentication cache with possibility to limit user to single IP address
|
2016-01-24 01:38:10 +08:00
|
|
|
+ Access control by username/password for SOCKSv5 and HTTP/HTTPS/FTP
|
|
|
|
+ Cleartext or encrypted (crypt/MD5 or NT) passwords.
|
|
|
|
+ Connection redirection
|
|
|
|
+ Access control by requested action (CONNECT/BIND,
|
|
|
|
HTTP GET/POST/PUT/HEAD/OTHER).
|
|
|
|
+ All access control entries now support weekday and time limitations
|
|
|
|
+ Hostnames and * templates are supported instead of IP address
|
|
|
|
5. Extensions
|
|
|
|
+ Regular expression filtering (with PCRE) via PCREPlugin
|
2017-12-22 23:53:04 +08:00
|
|
|
+ Authentication with Windows username/password (cleartext only)
|
2016-01-24 01:38:10 +08:00
|
|
|
+ SSL/TLS decryptions with certificate spoofing
|
2017-12-22 23:53:04 +08:00
|
|
|
+ Transparent redirection support for Linux and *BSD
|
2016-01-24 01:38:10 +08:00
|
|
|
6. Configuration
|
|
|
|
+ support for configuration files
|
|
|
|
+ support for includes in configuration files
|
|
|
|
+ interface binding
|
2017-12-22 23:53:04 +08:00
|
|
|
+ socket options
|
2016-01-24 01:38:10 +08:00
|
|
|
+ running as daemon process
|
|
|
|
+ utility for automated networks list building
|
|
|
|
+ configuration reload on any file change
|
|
|
|
Unix
|
|
|
|
+ support for chroot
|
|
|
|
+ support for setgid
|
|
|
|
+ support for setuid
|
2017-12-22 23:53:04 +08:00
|
|
|
+ support for signals (SIGUSR1 to reload configuration)
|
2016-01-24 01:38:10 +08:00
|
|
|
Windows
|
|
|
|
+ support --install as service
|
|
|
|
+ support --remove as service
|
|
|
|
+ support for service START, STOP, PAUSE and CONTINUE commands (on
|
|
|
|
PAUSE no new connection accepted, but active connections still in
|
|
|
|
progress, on CONTINUE configuration is reloaded)
|
|
|
|
Windows 95/98/ME
|
|
|
|
+ support --install as service
|
|
|
|
+ support --remove as service
|
|
|
|
6. Compilation
|
|
|
|
+ MSVC (static)
|
2017-12-22 23:53:04 +08:00
|
|
|
+ OpenWatcom (static)
|
2016-01-24 01:38:10 +08:00
|
|
|
+ Intel Windows Compiler (msvcrt.dll)
|
|
|
|
+ Windows/gcc (msvcrt.dll)
|
|
|
|
+ Cygwin/gcc (cygwin.dll)
|
|
|
|
+ Unix/gcc
|
|
|
|
+ Unix/ccc
|
|
|
|
+ Solaris
|
|
|
|
+ Mac OS X, iPhone OS
|
|
|
|
+ Linux and derivered systems
|
|
|
|
+ Lite version for Windows 95/98/NT/2000/XP/2003
|
|
|
|
+ 32 bit and 64 bit versions for Windows Vista and above, Windows 2008 server and above
|
|
|
|
|
2014-04-08 17:20:46 +08:00
|
|
|
3proxy Combined proxy server may be used as
|
|
|
|
executable or service (supports installation and removal).
|
|
|
|
It uses config file to read it's configuration (see
|
|
|
|
3proxy.cfg.sample for details).
|
2018-04-25 07:47:25 +08:00
|
|
|
3proxy.exe is all-in-one, it doesn't require all others .exe
|
|
|
|
to work.
|
|
|
|
See 3proxy.cfg.sample for examples, see man 3proxy.cfg
|
|
|
|
|
2014-04-08 17:20:46 +08:00
|
|
|
proxy HTTP proxy server, binds to port 3128
|
|
|
|
ftppr FTP proxy server, binds to port 21
|
|
|
|
socks SOCKS 4/5 proxy server, binds to port 1080
|
|
|
|
ftppr FTP proxy server, please do not mess it with FTP over HTTP
|
|
|
|
proxy used in browsers
|
|
|
|
pop3p POP3 proxy server, binds to port 110. You must specify
|
|
|
|
POP3 username as username@target.host.ip[:port]
|
|
|
|
port is 110 by default.
|
|
|
|
Exmple: in Username configuration for you e-mail reader
|
2019-01-17 17:08:25 +08:00
|
|
|
set someuser@pop.example.org, to obtains mail for someuser
|
2014-04-08 17:20:46 +08:00
|
|
|
from pop.somehost.ru via proxy.
|
|
|
|
smtpp SMTP proxy server, binds to port 25. You must specify
|
|
|
|
SMTP username as username@target.host.ip[:port]
|
|
|
|
port is 25 by default.
|
|
|
|
Exmple: in Username configuration for you e-mail reader
|
2019-01-17 17:08:25 +08:00
|
|
|
set someuser@mail.example.org, to send mail as someuser
|
2014-04-08 17:20:46 +08:00
|
|
|
via mail.somehost.ru via proxy.
|
|
|
|
tcppm TCP port mapping. Maps some TCP port on local machine to
|
|
|
|
TCP port on remote host.
|
|
|
|
udppm UDP port mapping. Maps some UDP port on local machine to
|
|
|
|
UDP port on remote machine. Only one user simulationeously
|
|
|
|
can use UDP mapping, so it cann't be used for public service
|
|
|
|
in large networks. It's OK to use it to map to DNS server
|
|
|
|
in small network or to map Counter-Strike server for single
|
|
|
|
client (you can use few mappings on different ports for
|
|
|
|
different clients in last case).
|
|
|
|
mycrypt Program to obtain crypted password fro cleartext. Supports
|
|
|
|
both MD5/crypt and NT password.
|
|
|
|
mycrypt password
|
|
|
|
produces NT password
|
|
|
|
mycrypt salt password
|
|
|
|
produces MD5/crypt password with salt "salt".
|
|
|
|
dighosts Utility for building networks list from web page.
|
|
|
|
|
|
|
|
|
|
|
|
Run utility with --help option for command line reference.
|
|
|
|
|
2019-01-17 17:26:38 +08:00
|
|
|
Latest version is available from https://3proxy.org/
|
2016-01-10 02:09:16 +08:00
|
|
|
|
2019-01-17 17:26:38 +08:00
|
|
|
Want to donate the project? https://3proxy.org/donations/
|