Vladimir Dubrovin
5fdd4a4d6f
NOODBC inverted to WITH_ODBC
2026-05-08 20:30:14 +03:00
Vladimir Dubrovin
b1d21cbdca
Copyright update
2026-05-08 18:07:08 +03:00
Vladimir Dubrovin
cbab76fe41
do not use static linking for .so
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
2026-05-05 18:38:45 +03:00
Vladimir Dubrovin
fb9337c030
Add option for static libraries linking (ssl / pcre2 / pam)
2026-05-05 18:34:58 +03:00
Vladimir Dubrovin
8107f03062
Move PCRE/SSL to main code
2026-05-01 15:11:08 +03:00
Vladimir Dubrovin
b1ac46da79
Remove linux futext implementation
Build Win32 3proxy-lite with Watcom / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
Build Win32 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
Build Win64 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
Build Win-arm64 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
2026-04-28 18:06:54 +03:00
Vladimir Dubrovin
6b61cfde4c
Fix for older Windows (7 and below) / VC
2026-04-24 17:04:03 +03:00
Vladimir Dubrovin
bfbbf1f446
Fix FilePlugin warnings
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
2026-04-21 16:28:28 +03:00
Vladimir Dubrovin
68ef9dcc59
Fix Windows compilation
2026-04-21 16:10:17 +03:00
Vladimir Dubrovin
4c0e3a1bac
Check OpenSSL version for SNI/TLS 1.3/alpn
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
2026-04-14 17:36:35 +03:00
Vladimir Dubrovin
a1a65c3fd5
ssl_client_mode = 3 added, allow 'secure' parent types ending with 's': https, tcps, socks5s, connect+s, etc.
...
example:
plugin SSLPlugin.ld.so ssl_plugin
allow user1
parent 1000 http 1.1.1.1 1111
allow user2
parent 1000 https 2.2.2.2 2222
ssl_client_mode 3
ssl_client
proxy
With ssl_client_mode 3 TLS is only handshaked for https parent type and is not handshaked for http parent.
2026-04-13 20:53:38 +03:00
Vladimir Dubrovin
2d6eeff5f3
FIx typos, update documentation
2026-04-12 13:58:42 +03:00
Vladimir Dubrovin
c206349ee2
Support unix sockets for internal and -i
...
Example configuration:
log
auto -iunix:/path/to/3proxy.sock
test with
curl --unix-socket /path/to/3proxy.sock https://3proxy.ru
2026-04-12 00:30:35 +03:00
Vladimir Dubrovin
8cb8be1be8
Fix warnings
2026-04-08 21:13:45 +03:00
Vladimir Dubrovin
0381461495
Use PRI/SCN modifiers where possible
2026-04-08 21:13:31 +03:00
Vladimir Dubrovin
483542b914
Use uint32_t/uint16_t instead of unsigned long / unsigned short where required
2026-04-08 21:13:18 +03:00
Vladimir Dubrovin
855c04d8f6
Uodate build environment
2026-04-08 21:12:51 +03:00
Vladimir Dubrovin
c6eddc69a1
remove unsued variables
2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
758c290092
Fix CONNECT_TO usage
2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
2e534c7794
Add cmake environment
2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
237fa15e36
Fix external libraries
2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
6f1bb65841
Update workflows and makefiles (11 commits squashed)
2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
238b314c90
switch PCREPlugin to PCRE2
2026-04-08 19:21:29 +03:00
BDBSAlive6one6
5e92822900
fix(PamAuth): добавлен вызов pam_acct_mgmt(), исправлен pam_start() ( #1203 )
...
Добавлен вызов pam_acct_mgmt() после pam_authenticate() для проверки
прав доступа на уровне PAM (HBAC, истечение пароля, блокировка учётки)
Исправлена передача реального username в pam_start() вместо '3proxy@'
---
Added pam_acct_mgmt() call after pam_authenticate() to enable PAM
account checks (HBAC, password expiration, account lockout).
Fixed pam_start() to pass actual username instead of hardcoded '3proxy@'
Tested with FreeIPA 4.12 + SSSD Rocky Linux 9
2026-04-08 19:21:29 +03:00
Vladimir Dubrovin
499c4240ad
Fix TrafficPlugin
2026-04-08 19:21:28 +03:00
Vladimir Dubrovin
a5fce1a2f6
compile PCRE on Windows
2026-04-08 19:21:28 +03:00
Vladimir Dubrovin
c05023ab6d
Correct SSL functions for Windows
2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
28724187fb
Use external PCRE library
2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
35db214b78
Use external PCRE library
2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
8292ec21a7
remove SSL_shutdown
2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
ef318bff67
Use quit shutdown for SSL to prevent races
2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
128386723a
Fix potential use-after-free on filters, add SSL_shutdown in SSLPlugin
2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
8d8ee23385
ssl_client_mode added, code cleanup
...
ssl_client_mode
0 (default) - handshake immediately after connect() (with first parent or with destination if there is no parent)
1 - handshake with destination server (handshake after connection via parents is established)
2 - handshake after data channel is established (e.g. after CONNECT)
2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
7e47d5bd92
ssl_client_alpn added
2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
7fce892391
Use SSL_connect / SSL_accept in non-blocking mode
2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
23551e53bf
Fixed: allow ssl server and client on the same service
2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
35406e6b61
client_sni command added; do not send hostname from request as SNI in SSL client configuration
2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
26534e9cbd
Close SSL on shutdown
2026-04-08 19:21:26 +03:00
Alexey Suslov
280c7c8976
Fix HTTPS proxy for HTTPS addresses ( #1175 )
2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
7b4e8b6d6b
Fixed: ssl_server_cert doesn't read full certificate chain
2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
8d744e16fb
Convert PAMAUTH.TXT to UTF-8
2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
66bdd86c6b
ssl_server_verify, ssl_server_ca_dir, ssl_server_ca_store added, ssl_server / ssl_client aliases added to ssl_serv / ssl_cli
2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
b624da443a
ssl_noserv fixed, ssl_cli/ssl_nocli/ssl_client_cert/ssl_client_key added
2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
8d58e2618e
make compatible with openssl 1.x
2026-04-08 19:21:24 +03:00
Vladimir Dubrovin
1bfa64303a
rsa.h not required
2026-04-08 19:21:24 +03:00
Vladimir Dubrovin
81224b6708
Use PCRE_STATIC pcre_plugin.c
2026-04-08 19:21:24 +03:00
Vladimir Dubrovin
6944a012d9
use PCRE_STATIC
2026-04-08 19:21:24 +03:00
z3apa3a
74134db09e
Fix ssl_plugin for Windows
2025-03-09 17:22:18 +03:00
Vladimir Dubrovin
ab8db00b1f
Fix type for ssl_poll
2024-06-04 19:26:34 +03:00
Vladimir Dubrovin
d347f0a058
More TLS commands added, ssl_srvkey / ssl_srvfile renamed
...
ssl_server_cert - certificate for SSL server (rename from ssl_srvkey)
ssl_server_key - key for ssl_server_cert of generated mirm certificate (renamed from ssl_srvkey)
ssl_server_ca_file - CA file for mitm
ssl_server_ca_key - key for mitm CA
ssl_client_ca_file, ssl_client_ca_dir, ssl_client_ca_store - locations for root CAs used with ssl_client_verify for TLS client
ssl_certcache is not optional, if ssl_server_ca_file / ssl_server_ca_key are configured
2024-03-10 16:20:42 +03:00