Commit as 0.9.7

This commit is contained in:
Vladimir Dubrovin 2026-07-04 13:51:28 +03:00
parent 27d5d8d102
commit 19cacf0bd9
7 changed files with 82 additions and 25 deletions

View File

@ -1,11 +1,25 @@
3proxy-0.9.6 Released April, 11 2026
3proxy-0.9.7 Released July, 4 2026
+ ssl_client and multiple configuration options added to SSLPlugin, SSLPlugin code significantly improved and bugfixed. See https://github.com/3proxy/3proxy/wiki/SSLPlugin. 3proxy can now be used as stunnel replacement for many scenarios.
+ HAProxy proxy protocol v1 support as client and server, add -H option for service to expect HA proxy v1 protocol header, use ha parent type: parent 1000 ha 0.0.0.0 0 to send v1 header.
+ tlspr is supported in auto
+ tlspr supports -s option, it breaks HELLO packet to prevent some DPIs from detecting SNI
+ maxseg configuration option and TCP_MAXSEG socket flag support added. It sets maximum size of TCP segment to fix PathMTU discovery problems
+ -Ne / -Ni options added to specify external / internal NAT address for SOCKSv5
+ cmake environment added
! External pcre2 (pcre2-8) library is used for PCRE, pcre code is removed from 3proxy
! Multiple minor bugfixes
+ PCRE2 and SSL/TLS code moved from plugins into main 3proxy binary; dynamic linking with ssl/pcre by default, STATIC/LIBSTATIC options for static linking
+ Unix sockets support for parent proxies, tcppm, internal listeners and -i option; abstract (fileless) unix sockets on Linux
+ ssl_client_mode = 3 to use 'secure' parent types: https, tcps, socks5s, connect+s, etc.
+ New authcache types: cacheacl, dstaddr, dstport, dsthost, dstoper, srvaddr, srvport; authcache is now configurable per service
+ Hashtables for password lists and authcache, faster password lookups
+ 3proxy_crypt: new internal password hashing replacing mycrypt
+ udppm switched to hashtables and supports multiple connections
+ SOCKSv5 UDP parent support; -Ne/-Ni NAT options
+ Docker images for more platforms, signed; DLLs signed; public cert added to build
+ Grace sleep and linger on connection close; correctly process half-closed connections
+ Allow setting internal/external network namespaces on Linux
- icqpr/OSCAR code removed
! Fix: invalid error in SSL server handshake could break service state
! Fix: invalid offset in datafilters
! Fix: invalid socket in poll() could break sockmap() on Windows
! Fix: deadlock in ftppr
! Fix: crash on standalone services
! Fix: non-initialized mutex crash under Windows
! Fix: socks v5 parent with no auth
! Fix: hanging connections in sockmap; unneeded poll in sockmap
! Fix: symbols collision with OpenSSL could lead to crash
! Fix: compatibility with older SSL versions and older Windows (7 and below)
! Multiple minor bugfixes and code cleanup

View File

@ -1,11 +1,25 @@
3proxy-0.9.6 Вышел 11 Апреля 2026
3proxy-0.9.7 Вышел 4 Июля 2026
+ В SSLPlugin добавлены ssl_client и множество опций конфигурации, код SSLPlugin значительно улучшен и исправлен. См. https://github.com/3proxy/3proxy/wiki/SSLPlugin. 3proxy теперь может использоваться как замена stunnel во многих сценариях.
+ Поддержка прокси-протокола HAProxy v1 на стороне клиента и сервера. Добавлена опция -H для сервиса, чтобы ожидать заголовок прокси-протокола HA v1. Используйте тип родителя ha: parent 1000 ha 0.0.0.0 0 для отправки заголовка v1.
+ tlspr поддерживается в режиме auto
+ tlspr поддерживает опцию -s, которая разбивает HELLO-пакет для предотвращения обнаружения SNI некоторыми DPI
+ Добавлена опция конфигурации maxseg и поддержка флага сокета TCP_MAXSEG. Устанавливает максимальный размер TCP-сегмента для решения проблем с обнаружением PathMTU
+ Добавлены опции -Ne / -Ni для указания внешнего/внутреннего NAT-адреса для SOCKSv5
+ Добавлено окружение cmake
! Внешняя библиотека pcre2 (pcre2-8) используется для PCRE, код pcre удалён из 3proxy
! Множество мелких исправлений ошибок
+ Код PCRE2 и SSL/TLS перенесён из плагинов в основной бинарный файл 3proxy; по умолчанию динамическое связывание с ssl/pcre, опции STATIC/LIBSTATIC для статического связывания
+ Поддержка unix-сокетов для родительских прокси, tcppm, внутренних слушателей и опции -i; абстрактные (безфайловые) unix-сокеты в Linux
+ ssl_client_mode = 3 для использования «безопасных» типов родителя: https, tcps, socks5s, connect+s и т.д.
+ Новые типы authcache: cacheacl, dstaddr, dstport, dsthost, dstoper, srvaddr, srvport; authcache настраивается для каждого сервиса
+ Хеш-таблицы для списков паролей и authcache, более быстрый поиск паролей
+ 3proxy_crypt: новое внутреннее хеширование паролей, заменяющее mycrypt
+ udppm переведён на хеш-таблицы и поддерживает множество соединений
+ Поддержка UDP-родителя для SOCKSv5; опции NAT -Ne/-Ni
+ Docker-образы для большего числа платформ, подписанные; подписанные DLL; публичный сертификат добавлен в сборку
+ Grace sleep и linger при закрытии соединения; корректная обработка полузакрытых соединений
+ Разрешено задавать внутренние/внешние сетевые пространства имён (network namespaces) в Linux
- Код icqpr/OSCAR удалён
! Исправление: некорректная ошибка в SSL server handshake могла ломать состояние сервиса
! Исправление: некорректное смещение в datafilters
! Исправление: некорректный сокет в poll() мог ломать sockmap() в Windows
! Исправление: взаимоблокировка (deadlock) в ftppr
! Исправление: падение на standalone-сервисах
! Исправление: падение из-за неинициализированного mutex в Windows
! Исправление: родитель socks v5 без аутентификации
! Исправление: зависающие соединения в sockmap; лишний poll в sockmap
! Исправление: конфликт символов с OpenSSL мог приводить к падению
! Исправление: совместимость со старыми версиями SSL и старыми версиями Windows (7 и ниже)
! Множество мелких исправлений и очистка кода

View File

@ -1 +1 @@
0.9.6
0.9.7

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
3proxy (0.9.7-1) buster; urgency=medium
*3proxy 0.9.7 initial build
-- z3APA3A <3apa3a@3proxy.org> Sat, 04 Jul 2026 11:55:03 +0300
3proxy (0.9.6-1) buster; urgency=medium
*3proxy 0.9.6 initial build

23
doc/changelog/0/9/7 Normal file
View File

@ -0,0 +1,23 @@
+ PCRE2 and SSL/TLS code moved from plugins into main 3proxy binary; dynamic linking with ssl/pcre by default, STATIC/LIBSTATIC options for static linking
+ Unix sockets support for parent proxies, tcppm, internal listeners and -i option; abstract (fileless) unix sockets on Linux
+ ssl_client_mode = 3 to use 'secure' parent types: https, tcps, socks5s, connect+s, etc.
+ New authcache types: cacheacl, dstaddr, dstport, dsthost, dstoper, srvaddr, srvport; authcache is now configurable per service
+ Hashtables for password lists and authcache, faster password lookups
+ 3proxy_crypt: new internal password hashing replacing mycrypt
+ udppm switched to hashtables and supports multiple connections
+ SOCKSv5 UDP parent support; -Ne/-Ni NAT options
+ Docker images for more platforms, signed; DLLs signed; public cert added to build
+ Grace sleep and linger on connection close; correctly process half-closed connections
+ Allow setting internal/external network namespaces on Linux
- icqpr/OSCAR code removed
! Fix: invalid error in SSL server handshake could break service state
! Fix: invalid offset in datafilters
! Fix: invalid socket in poll() could break sockmap() on Windows
! Fix: deadlock in ftppr
! Fix: crash on standalone services
! Fix: non-initialized mutex crash under Windows
! Fix: socks v5 parent with no auth
! Fix: hanging connections in sockmap; unneeded poll in sockmap
! Fix: symbols collision with OpenSSL could lead to crash
! Fix: compatibility with older SSL versions and older Windows (7 and below)
! Multiple minor bugfixes and code cleanup

View File

@ -1,5 +1,5 @@
Name: 3proxy
Version: 0.9.6
Version: 0.9.7
Release: 1%{?dist}
Summary: 3proxy tiny proxy server
License: GPL/LGPL/Apache/BSD

View File

@ -1,14 +1,14 @@
#ifndef VERSION
#define VERSION "3proxy-0.9.6"
#define VERSION "3proxy-0.9.7"
#endif
#ifndef BUILDDATE
#define BUILDDATE ""
#endif
#define MAJOR3PROXY 0
#define SUBMAJOR3PROXY 9
#define MINOR3PROXY 6
#define MINOR3PROXY 7
#define SUBMINOR3PROXY 0
#define RELEASE3PROXY "3proxy-0.9.6(" BUILDDATE ")\0"
#define RELEASE3PROXY "3proxy-0.9.7(" BUILDDATE ")\0"
#ifndef YEAR3PROXY
#define YEAR3PROXY "2026"
#endif