Compare commits

..

No commits in common. "f23fc4fc4458606a257a9f26bc37251fc60e1cc7" and "878025598bd61674935e1d586e7f4afc41df12a4" have entirely different histories.

16 changed files with 20 additions and 37 deletions

View File

@ -58,8 +58,7 @@ INSTALL_OBJS = bin/3proxy \
bin/proxy \ bin/proxy \
bin/socks \ bin/socks \
bin/tcppm \ bin/tcppm \
bin/udppm \ bin/udppm
bin/tlspr
INSTALL_CFG = scripts/3proxy.cfg.chroot INSTALL_CFG = scripts/3proxy.cfg.chroot

View File

@ -14,7 +14,7 @@ LN = link
LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386 LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386
DLFLAGS = /DLL DLFLAGS = /DLL
DLSUFFICS = .dll DLSUFFICS = .dll
LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib Crypt32.lib libcrypto.lib libssl.lib LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib Crypt32.lib libcrypto64MT.lib libssl64MT.lib
LIBSOLD = libeay32MT.lib ssleay32MT.lib LIBSOLD = libeay32MT.lib ssleay32MT.lib
LIBSPREFIX = LIBSPREFIX =
LIBSSUFFIX = .lib LIBSSUFFIX = .lib

View File

@ -14,7 +14,7 @@ LN = link
LDFLAGS = /nologo /subsystem:console /incremental:no /machine:x64 LDFLAGS = /nologo /subsystem:console /incremental:no /machine:x64
DLFLAGS = /DLL DLFLAGS = /DLL
DLSUFFICS = .dll DLSUFFICS = .dll
LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib Crypt32.lib libcrypto.lib libssl.lib LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib Crypt32.lib libcrypto64MT.lib libssl64MT.lib
LIBSOLD = libeay32.lib ssleay32.lib LIBSOLD = libeay32.lib ssleay32.lib
LIBSPREFIX = LIBSPREFIX =
LIBSSUFFIX = .lib LIBSSUFFIX = .lib

View File

@ -14,7 +14,7 @@ LN = link
LDFLAGS = /nologo /subsystem:console /incremental:no /machine:arm64 LDFLAGS = /nologo /subsystem:console /incremental:no /machine:arm64
DLFLAGS = /DLL DLFLAGS = /DLL
DLSUFFICS = .dll DLSUFFICS = .dll
LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib libcrypto.lib libssl.lib LIBS = ws2_32.lib advapi32.lib odbc32.lib user32.lib kernel32.lib Gdi32.lib libcrypto_static.lib libssl_static.lib
LIBSOLD = LIBSOLD =
LIBSPREFIX = LIBSPREFIX =
LIBSSUFFIX = .lib LIBSSUFFIX = .lib

5
README
View File

@ -1,5 +1,5 @@
# 3APA3A 3proxy tiny proxy server # 3APA3A 3proxy tiny proxy server
(c) 2002-2025 by Vladimir '3APA3A' Dubrovin <3proxy@3proxy.org> (c) 2002-2021 by Vladimir '3APA3A' Dubrovin <3proxy@3proxy.org>
Branches: Branches:
@ -75,8 +75,6 @@ Please read doc/html/index.html and man pages.
+ SOCKSv5 UDP and BIND support (fully compatible with + SOCKSv5 UDP and BIND support (fully compatible with
SocksCAP/FreeCAP for UDP) SocksCAP/FreeCAP for UDP)
+ Transparent SOCKS redirection for HTTP, POP3, FTP, SMTP + Transparent SOCKS redirection for HTTP, POP3, FTP, SMTP
+ SNI proxy (based on TLS hostname)
+ TLS (SSL) server - may be used as https:// type proxy
+ POP3 Proxy + POP3 Proxy
+ FTP proxy + FTP proxy
+ TCP port mapper (port forwarding) + TCP port mapper (port forwarding)
@ -197,7 +195,6 @@ smtpp SMTP proxy server, binds to port 25. You must specify
via mail.somehost.ru via proxy. via mail.somehost.ru via proxy.
tcppm TCP port mapping. Maps some TCP port on local machine to tcppm TCP port mapping. Maps some TCP port on local machine to
TCP port on remote host. TCP port on remote host.
tlspr TLS proxy (SNI proxy) - sniffs hostname from TLS handshake
udppm UDP port mapping. Maps some UDP port on local machine to udppm UDP port mapping. Maps some UDP port on local machine to
UDP port on remote machine. Only one user simulationeously UDP port on remote machine. Only one user simulationeously
can use UDP mapping, so it cann't be used for public service can use UDP mapping, so it cann't be used for public service

View File

@ -1 +1 @@
0.9.5 0.9.4

View File

@ -1 +1 @@
(c) 2002-2025 by Vladimir '3APA3A' Dubrovin <vlad@3proxy.org> (c) 2002-2021 by Vladimir '3APA3A' Dubrovin <vlad@3proxy.org>

View File

@ -1,8 +1,8 @@
3proxy 0.9 Public License Agreement 3proxy 0.9 Public License Agreement
(c) 2000-2025 by 3APA3A (3APA3A@3proxy.ru) (c) 2000-2020 by 3APA3A (3APA3A@3proxy.ru)
(c) 2000-2025 by 3proxy.org (https://3proxy.org/) (c) 2000-2020 by 3proxy.org (https://3proxy.org/)
(c) 2000-2025 by Vladimir Dubrovin (vlad@3proxy.org) (c) 2000-2020 by Vladimir Dubrovin (vlad@3proxy.org)
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

View File

@ -1,7 +1,7 @@
man/3proxy.8 man/3proxy.8
man/3proxy.cfg.3 man/3proxy.cfg.3
man/ftppr.8 man/ftppr.8
man/tlspr.8 man/icqpr.8
man/pop3p.8 man/pop3p.8
man/proxy.8 man/proxy.8
man/smtpp.8 man/smtpp.8

View File

@ -11,7 +11,6 @@
<br><A HREF="man8/smtpp.8.html">smtpp.8</A> <br><A HREF="man8/smtpp.8.html">smtpp.8</A>
<br><A HREF="man8/socks.8.html">socks.8</A> <br><A HREF="man8/socks.8.html">socks.8</A>
<br><A HREF="man8/tcppm.8.html">tcppm.8</A> <br><A HREF="man8/tcppm.8.html">tcppm.8</A>
<br><A HREF="man8/tlspr.8.html">tlspr.8</A>
<br><A HREF="man8/udppm.8.html">udppm.8</A> <br><A HREF="man8/udppm.8.html">udppm.8</A>
<br><A HREF="man3/3proxy.cfg.3.html">3proxy.cfg.3</A> <br><A HREF="man3/3proxy.cfg.3.html">3proxy.cfg.3</A>
</body></html> </body></html>

View File

@ -2,7 +2,6 @@ man/3proxy.8
man/3proxy.cfg.3 man/3proxy.cfg.3
man/ftppr.8 man/ftppr.8
man/pop3p.8 man/pop3p.8
man/tlspr.8
man/proxy.8 man/proxy.8
man/smtpp.8 man/smtpp.8
man/socks.8 man/socks.8

View File

@ -1,9 +1,3 @@
3proxy (0.9.5-1) buster; urgency=medium
*3proxy 0.9.5 initial build
-- z3APA3A <3apa3a@3proxy.org> Sun, 09 Mar 2025 15:55:48 +0300
3proxy (0.9.4-1) buster; urgency=medium 3proxy (0.9.4-1) buster; urgency=medium
*3proxy 0.9.4 initial build *3proxy 0.9.4 initial build

View File

@ -1,5 +1,5 @@
Name: 3proxy Name: 3proxy
Version: 0.9.5 Version: 0.9.4
Release: 1 Release: 1
Summary: 3proxy tiny proxy server Summary: 3proxy tiny proxy server
License: GPL/LGPL/Apache/BSD License: GPL/LGPL/Apache/BSD
@ -35,7 +35,6 @@ make clean
/bin/socks /bin/socks
/bin/tcppm /bin/tcppm
/bin/udppm /bin/udppm
/bin/tlspr
%config(noreplace) /etc/3proxy/3proxy.cfg %config(noreplace) /etc/3proxy/3proxy.cfg
/etc/3proxy/conf /etc/3proxy/conf
/etc/init.d/3proxy /etc/init.d/3proxy
@ -58,7 +57,6 @@ make clean
/usr/share/man/man8/socks.8 /usr/share/man/man8/socks.8
/usr/share/man/man8/tcppm.8 /usr/share/man/man8/tcppm.8
/usr/share/man/man8/udppm.8 /usr/share/man/man8/udppm.8
/usr/share/man/man8/tlspr.8
%else %else
/usr/share/man/man3/3proxy.cfg.3.gz /usr/share/man/man3/3proxy.cfg.3.gz
/usr/share/man/man8/3proxy.8.gz /usr/share/man/man8/3proxy.8.gz
@ -69,7 +67,6 @@ make clean
/usr/share/man/man8/socks.8.gz /usr/share/man/man8/socks.8.gz
/usr/share/man/man8/tcppm.8.gz /usr/share/man/man8/tcppm.8.gz
/usr/share/man/man8/udppm.8.gz /usr/share/man/man8/udppm.8.gz
/usr/share/man/man8/tlspr.8.gz
%endif %endif
/var/log/3proxy /var/log/3proxy

View File

@ -475,7 +475,7 @@ static FILTER_ACTION ssl_filter_client(void *fo, struct clientparam * param, voi
char *err; char *err;
#ifdef _WIN32 #ifdef _WIN32
unsigned long ul = 0; ul = 0;
ioctlsocket(param->clisock, FIONBIO, &ul); ioctlsocket(param->clisock, FIONBIO, &ul);
#else #else
fcntl(param->clisock,F_SETFL,0); fcntl(param->clisock,F_SETFL,0);
@ -489,10 +489,8 @@ static FILTER_ACTION ssl_filter_client(void *fo, struct clientparam * param, voi
return REJECT; return REJECT;
} }
#ifdef _WIN32 #ifdef _WIN32
{ ul = 1;
unsigned long ul = 1; ioctlsocket(param->clisock, FIONBIO, &ul);
ioctlsocket(param->clisock, FIONBIO, &ul);
}
#else #else
fcntl(param->clisock,F_SETFL,O_NONBLOCK); fcntl(param->clisock,F_SETFL,O_NONBLOCK);
#endif #endif

View File

@ -220,8 +220,8 @@ void * tlsprchild(struct clientparam* param) {
if (res < 0) RETURN(350-res); if (res < 0) RETURN(350-res);
} }
if(param->srv->requirecert > 2){ if(param->srv->requirecert > 2){
int srvcert=0, clicert=0, reqcert=0, len, rlen, done;
if(lv > 3) RETURN(370); if(lv > 3) RETURN(370);
int srvcert=0, clicert=0, reqcert=0, len, rlen, done;
for(done=0;!done;) { for(done=0;!done;) {
len = param->srvinbuf; len = param->srvinbuf;
if(socksend(param, param->clisock, param->srvbuf,len, conf.timeouts[STRING_S]) != len) RETURN(371); if(socksend(param, param->clisock, param->srvbuf,len, conf.timeouts[STRING_S]) != len) RETURN(371);

View File

@ -1,12 +1,12 @@
#ifndef VERSION #ifndef VERSION
#define VERSION "3proxy-0.9.5" #define VERSION "3proxy-0.9.4"
#endif #endif
#ifndef BUILDDATE #ifndef BUILDDATE
#define BUILDDATE "" #define BUILDDATE ""
#endif #endif
#define MAJOR3PROXY 0 #define MAJOR3PROXY 0
#define SUBMAJOR3PROXY 9 #define SUBMAJOR3PROXY 9
#define MINOR3PROXY 5 #define MINOR3PROXY 4
#define SUBMINOR3PROXY 0 #define SUBMINOR3PROXY 0
#define RELEASE3PROXY "3proxy-0.9.5(" BUILDDATE ")\0" #define RELEASE3PROXY "3proxy-0.9.4(" BUILDDATE ")\0"
#define YEAR3PROXY "2025" #define YEAR3PROXY "2021"