Compare commits

..

91 Commits

Author SHA1 Message Date
Vladimir Dubrovin
2a07b70de6 Update workflow and environment
Some checks are pending
RPM build aarch64 / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
RPM build armhf / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
2026-04-08 21:13:53 +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
ilya
ab852c6860 docs: fix Docker link in README (#1193) 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
a54b773fac scripts/debian moved to debian 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
4d7d2cab6e keep HTML mans 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
05e5fbe274 fix debian files 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
de40d1839d Update workflows and makefiles (5 commits squashed) 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
d8161e94b5 Update year 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
30c3764c90 change config example 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
ceb4912172 howto update 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
ce104a5b3c Update README 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
d8d3d8cc1b Use syslog for non-chroot configuration, support MacOS launchd 2026-04-08 19:21:31 +03:00
Vladimir Dubrovin
44c86236cd add rc.d script 2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
3ee78a3195 Use non-chroot configuration in cmake; remove older script 2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
9b06edb4f6 Howto update 2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
9d314a5fba Howto update 2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
be40871276 Update 3proxy.cfg.3 2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
35993dfaaf SSLPlugin documentation updated 2026-04-08 19:21:30 +03:00
Vladimir Dubrovin
3d9d76fcf5 Update documentation 2026-04-08 19:21:30 +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
1a753da70d Update workflows and makefiles (5 commits squashed) 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
Vladimir Dubrovin
e12b061148 Use pcre/pam in Dockerfile.full 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
0252f4978c Update workflows and makefiles (1 commits squashed) 2026-04-08 19:21:29 +03:00
Vladimir Dubrovin
7299bcc0e2 Move timeouts from conf 2026-04-08 19:21:29 +03:00
Vladimir Dubrovin
416e30ed0d Update .gitignore 2026-04-08 19:21:29 +03:00
Vladimir Dubrovin
7c25c23325 Update workflows and makefiles (5 commits squashed) 2026-04-08 19:21:29 +03:00
Vladimir Dubrovin
c34d29b7dd Do not use applink.c 2026-04-08 19:21:29 +03:00
Vladimir Dubrovin
1d515af787 Update workflows and makefiles (16 commits squashed) 2026-04-08 19:21:29 +03:00
Vladimir Dubrovin
499c4240ad Fix TrafficPlugin 2026-04-08 19:21:28 +03:00
Vladimir Dubrovin
23b9e698e0 Update workflows and makefiles (15 commits squashed) 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
1e8130cae8 Update workflows and makefiles (5 commits squashed) 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
1ba0008055 Update workflows and makefiles (6 commits squashed) 2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
92f170fca2 Fix warning 2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
71c58e0c77 Update workflows and makefiles (2 commits squashed) 2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
00d2ecbc31 Use 64 bit arithmetics for rate limits 2026-04-08 19:21:27 +03:00
Vladimir Dubrovin
662603f9d8 Update workflows and makefiles (1 commits squashed) 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
acc6db59a3 SNI break (DPI bypass) added
-s option to tlspr (or tls type redirect), requires TCP_NODELAY to be set

auth iponly
allow *
parent 1000 tls 0.0.0.0 0
allow *
proxy -s -i127.0.0.1 -ocTCP_NODELAY -osTCP_NODELAY -p1443
2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
251660940e Fixed: crash on invalid configuration file 2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
7e4504997e Fixed: memory corruptions on config parsing 2026-04-08 19:21:26 +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
Vladimir Dubrovin
2cd0a34fd5 maxseg / TCP_MAXSEG support added 2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
d67a052aa8 Fixed: invalid config value initializers 2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
7d04915d3d Update workflows and makefiles (3 commits squashed) 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
bc7e9b2ac6 Fix: -P option for tlspr 2026-04-08 19:21:26 +03:00
Vladimir Dubrovin
5355af3112 Fix: WSAPoll fail in some Windows versions after e525ce913e 2026-04-08 19:21:26 +03:00
Sertonix
2cfad638a7 Update workflows and makefiles (11 commits squashed) 2026-04-08 19:21:26 +03:00
bipface
cfc9c30bd2 Fix missing semicolons in debian postinst script (#1158)
These missing semicolons cause some errors to be printed during installation, such as: `Failed to stop bin-systemctl.mount: Unit bin-systemctl.mount not loaded.`
2026-04-08 19:21:25 +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
e945890613 Fixed: CONNECT does not work in standalone 'proxy' binary 2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
5c7cc3c9b2 Fixed: Failed connect may result in success response on some Windows versions 2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
6e55af7f48 Fixed: invalid timeout in socksendto / sockrecvfrom 2026-04-08 19:21:25 +03:00
danyhm
4ec2226d3e Update workflows and makefiles (1 commits squashed) 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
af25cb460f Fixed service name detection for auto / tlspr 2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
2508b89d96 Avoid sleep on service thread sync 2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
09a3ddeeac SOCKSTRACE fixed 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
3c51af3737 Remove legacy NTLMv1 code 2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
7e7a0d4336 Support HAProxy proxy v1 protocol
Added:
-H option - expect HAProxy proxy v1 header, e.g. `proxy -H`

parent ha type - send HAProxy proxy v1 header (must be last in redirection), e.g.

allow *
parent 1000 ha
parent 1000 proxy 1.2.3.4 3128
socks
2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
e373d84717 Support tlspr in auto 2026-04-08 19:21:25 +03:00
Vladimir Dubrovin
68ff2373b4 Update workflows and makefiles (10 commits squashed) 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
Vladimir Dubrovin
7652a9bba1 Update workflows and makefiles (7 commits squashed) 2026-04-08 19:21:24 +03:00
Vladimir Dubrovin
cb368e0792 Update README 2026-04-08 19:21:23 +03:00
Vladimir Dubrovin
e20584cb2e Update README 2026-04-08 19:21:23 +03:00
2 changed files with 13 additions and 7 deletions

View File

@ -1,4 +1,4 @@
name: RPM build arm64 name: RPM build aarch64
on: on:
push: push:
@ -42,10 +42,10 @@ jobs:
cd ~/rpmbuild/SPECS cd ~/rpmbuild/SPECS
rpmbuild -ba 3proxy-$RELEASE.spec rpmbuild -ba 3proxy-$RELEASE.spec
cd $ret cd $ret
mv ~/rpmbuild/RPMS/aarch64/3proxy-$RELEASE-1.aarch64.rpm 3proxy-$RELEASE.arm64.rpm mv ~/rpmbuild/RPMS/aarch64/3proxy-$RELEASE-1.aarch64.rpm 3proxy-$RELEASE.aarch64.rpm
- name: Get artifact - name: Get artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: "3proxy-${{ env.RELEASE }}-arm64.rpm" name: "3proxy-${{ env.RELEASE }}-aarch64.rpm"
path: "*.rpm" path: "*.rpm"

View File

@ -1,4 +1,4 @@
name: RPM build arm name: RPM build armhf
on: on:
push: push:
@ -49,7 +49,7 @@ jobs:
echo "Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg" >>~/ubuntu.sources echo "Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg" >>~/ubuntu.sources
sudo cp ~/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources sudo cp ~/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources
sudo apt update sudo apt update
sudo apt install libssl-dev:armhf libpam0g:armhf libpam0g-dev:armhf libpcre2-dev:armhf rpm crossbuild-essential-armhf sudo apt install libssl3t64:armhf openssl:armhf libssl-dev:armhf libpam0g:armhf libpam0g-dev:armhf libpcre2-dev:armhf rpm crossbuild-essential-armhf
- name: make rpmbuild dir - name: make rpmbuild dir
run: mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} run: mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
- name: configure rpm env - name: configure rpm env
@ -61,12 +61,18 @@ jobs:
run: | run: |
ret=`pwd` ret=`pwd`
cd ~/rpmbuild/SPECS cd ~/rpmbuild/SPECS
PATH=/usr/arm-linux-gnueabihf/bin:$PATH
export PATH=$PATH
CC=arm-linux-gnueabihf-gcc
export CC=$CC
export RPATH=/usr/arm-linux-gnueabihf/lib:$RPATH
export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib:$LD_LIBRARY_PATH
rpmbuild -ba --define "PAMLIB pam0g" --define "_arch arm" --define "cross yes" --target=arm-linux-gnueabi 3proxy-$RELEASE.spec rpmbuild -ba --define "PAMLIB pam0g" --define "_arch arm" --define "cross yes" --target=arm-linux-gnueabi 3proxy-$RELEASE.spec
cd $ret cd $ret
mv ~/rpmbuild/RPMS/arm/3proxy-$RELEASE-1.arm.rpm 3proxy-$RELEASE.arm.rpm mv ~/rpmbuild/RPMS/arm/3proxy-$RELEASE-1.arm.rpm 3proxy-$RELEASE.armhf.rpm
- name: Get artifact - name: Get artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: "3proxy-${{ env.RELEASE }}-arm.rpm" name: "3proxy-${{ env.RELEASE }}-armhf.rpm"
path: "*.rpm" path: "*.rpm"