Update workflows and makefiles

- Update GitHub Actions workflows (checkout v5, build fixes)
- Fix MSVC and Watcom makefiles
- Update documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Vladimir Dubrovin 2026-04-08 17:20:09 +03:00
parent 47ee1e5e77
commit 4722602da1
15 changed files with 33 additions and 60 deletions

View File

@ -14,7 +14,7 @@ jobs:
- ubuntu-24.04-arm - ubuntu-24.04-arm
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- name: env - name: env
run: | run: |
pwd pwd

View File

@ -14,7 +14,7 @@ jobs:
- ubuntu-latest - ubuntu-latest
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- name: env - name: env
run: | run: |
pwd pwd

View File

@ -14,7 +14,7 @@ jobs:
- ubuntu-latest - ubuntu-latest
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- name: env - name: env
run: | run: |
pwd pwd

View File

@ -14,7 +14,7 @@ jobs:
- windows-2022 - windows-2022
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# - name: configure # - name: configure
# run: ./configure # run: ./configure
- name: Setup Open Watcom - name: Setup Open Watcom
@ -25,14 +25,13 @@ jobs:
echo "now: $NOW" echo "now: $NOW"
$RELEASE = Get-Content -Path "RELEASE" -Raw $RELEASE = Get-Content -Path "RELEASE" -Raw
echo "release: $RELEASE" echo "release: $RELEASE"
echo "NOW=$NOW" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "VERSION=VERSION=`"$RELEASE`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "VERSION=/D `"VERSION=\`"3proxy-$RELEASE\`"`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "BUILDDATE=BUILDDATE=`"$NOW`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "BUILDDATE=/D `"BUILDDATE=\`"$NOW\`"`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: make Watcom - name: make Watcom
shell: cmd shell: cmd
run: | run: |
echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c
nmake /F Makefile.watcom nmake /F Makefile.watcom
- name: make dist dir - name: make dist dir
shell: cmd shell: cmd

View File

@ -14,19 +14,16 @@ jobs:
- windows-2022 - windows-2022
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# - name: configure # - name: configure
# run: ./configure # run: ./configure
- name: set date - name: set date
run: | run: |
$NOW = Get-Date -Format "yyMMddHHmmss" $NOW = Get-Date -Format "yyMMddHHmmss"
echo "now: $NOW"
$RELEASE = Get-Content -Path "RELEASE" -Raw $RELEASE = Get-Content -Path "RELEASE" -Raw
echo "release: $RELEASE"
echo "NOW=$NOW" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "VERSION=VERSION=`"$RELEASE`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "VERSION=/D `"VERSION=\`"3proxy-$RELEASE\`"`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "BUILDDATE=BUILDDATE=`"$NOW`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "BUILDDATE=/D `"BUILDDATE=\`"$NOW\`"`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: install packages - name: install packages
run: vcpkg install pcre2:x86-windows-static openssl:x86-windows-static run: vcpkg install pcre2:x86-windows-static openssl:x86-windows-static
- name: Add msbuild to PATH - name: Add msbuild to PATH
@ -40,7 +37,7 @@ jobs:
cd "D:/a/3proxy/3proxy" cd "D:/a/3proxy/3proxy"
set "LIB=%LIB%;c:/vcpkg/installed/x86-windows-static/lib" set "LIB=%LIB%;c:/vcpkg/installed/x86-windows-static/lib"
set "INCLUDE=%INCLUDE%;c:/vcpkg/installed/x86-windows-static/include" set "INCLUDE=%INCLUDE%;c:/vcpkg/installed/x86-windows-static/include"
echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c
nmake /F Makefile.msvc nmake /F Makefile.msvc
- name: make dist dir - name: make dist dir
shell: cmd shell: cmd

View File

@ -14,19 +14,17 @@ jobs:
- windows-2022 - windows-2022
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# - name: configure # - name: configure
# run: ./configure # run: ./configure
- name: set date - name: set date
run: | run: |
$NOW = Get-Date -Format "yyMMddHHmmss" $NOW = Get-Date -Format "yyMMddHHmmss"
echo "now: $NOW"
$RELEASE = Get-Content -Path "RELEASE" -Raw $RELEASE = Get-Content -Path "RELEASE" -Raw
echo "release: $RELEASE"
echo "NOW=$NOW" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "NOW=$NOW" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "VERSION=VERSION=`"$RELEASE`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "VERSION=/D `"VERSION=\`"3proxy-$RELEASE\`"`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "BUILDDATE=BUILDDATE=`"$NOW`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "BUILDDATE=/D `"BUILDDATE=\`"$NOW\`"`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: install packages - name: install packages
run: vcpkg install pcre2:x64-windows-static openssl:x64-windows-static run: vcpkg install pcre2:x64-windows-static openssl:x64-windows-static
- name: Add msbuild to PATH - name: Add msbuild to PATH
@ -40,7 +38,8 @@ jobs:
cd "D:/a/3proxy/3proxy" cd "D:/a/3proxy/3proxy"
set "LIB=%LIB%;c:/vcpkg/installed/x64-windows-static/lib" set "LIB=%LIB%;c:/vcpkg/installed/x64-windows-static/lib"
set "INCLUDE=%INCLUDE%;c:/vcpkg/installed/x64-windows-static/include" set "INCLUDE=%INCLUDE%;c:/vcpkg/installed/x64-windows-static/include"
echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c
echo %NOW% / %RELEASE% / %BUILDDATE% / %VERSION%
nmake /F Makefile.msvc nmake /F Makefile.msvc
- name: make dist dir - name: make dist dir
shell: cmd shell: cmd

View File

@ -14,19 +14,16 @@ jobs:
- windows-2022 - windows-2022
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# - name: configure # - name: configure
# run: ./configure # run: ./configure
- name: set date - name: set date
run: | run: |
$NOW = Get-Date -Format "yyMMddHHmmss" $NOW = Get-Date -Format "yyMMddHHmmss"
echo "now: $NOW"
$RELEASE = Get-Content -Path "RELEASE" -Raw $RELEASE = Get-Content -Path "RELEASE" -Raw
echo "release: $RELEASE"
echo "NOW=$NOW" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "RELEASE=$RELEASE" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "VERSION=VERSION=`"$RELEASE`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "VERSION=/D `"VERSION=\`"3proxy-$RELEASE\`"`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "BUILDDATE=BUILDDATE=`"$NOW`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "BUILDDATE=/D `"BUILDDATE=\`"$NOW\`"`"" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: install packages - name: install packages
run: vcpkg install pcre2:arm64-windows-static openssl:arm64-windows-static run: vcpkg install pcre2:arm64-windows-static openssl:arm64-windows-static
- name: Add msbuild to PATH - name: Add msbuild to PATH
@ -40,7 +37,7 @@ jobs:
cd "D:/a/3proxy/3proxy" cd "D:/a/3proxy/3proxy"
set "LIB=%LIB%;c:/vcpkg/installed/arm64-windows-static/lib" set "LIB=%LIB%;c:/vcpkg/installed/arm64-windows-static/lib"
set "INCLUDE=%INCLUDE%;c:/vcpkg/installed/arm64-windows-static/include" set "INCLUDE=%INCLUDE%;c:/vcpkg/installed/arm64-windows-static/include"
echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c echo "volatile char VerSion[]=^"3APA3A-3proxy-Internal-Build: 3proxy-%RELEASE%-%NOW%\r\nCode certificate: https://3proxy.org/3proxy.cer\r\n^";" >>src/3proxy.c
nmake /F Makefile.msvc nmake /F Makefile.msvc
- name: make dist dir - name: make dist dir
shell: cmd shell: cmd

View File

@ -18,7 +18,7 @@ jobs:
- ubuntu-24.04-arm - ubuntu-24.04-arm
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# - name: configure # - name: configure
# run: ./configure # run: ./configure
- name: Linux libraries - name: Linux libraries

View File

@ -17,7 +17,7 @@ jobs:
- macos-15 - macos-15
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# - name: configure # - name: configure
# run: ./configure # run: ./configure
- name: Mac libraries - name: Mac libraries

View File

@ -17,7 +17,7 @@ jobs:
- windows-2022 - windows-2022
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- name: install Windows libraries - name: install Windows libraries
run: vcpkg install pcre2:x64-windows && c:\msys64\usr\bin\pacman.exe -S --noconfirm mingw-w64-x86_64-pcre2 mingw-w64-x86_64-openssl run: vcpkg install pcre2:x64-windows && c:\msys64\usr\bin\pacman.exe -S --noconfirm mingw-w64-x86_64-pcre2 mingw-w64-x86_64-openssl
- name: make Windows - name: make Windows

View File

@ -20,7 +20,7 @@ jobs:
- windows-2022 - windows-2022
runs-on: ${{ matrix.target }} runs-on: ${{ matrix.target }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
# - name: configure # - name: configure
# run: ./configure # run: ./configure
- name: Linux libraries - name: Linux libraries

View File

@ -6,13 +6,9 @@
BUILDDIR = ../bin/ BUILDDIR = ../bin/
CC = cl CC = cl
CFLAGS = /nologo /MT /W3 /Ox /GS /EHs- /GA /GF /D "MSVC" /D "WITH_WSAPOLL" /D "NDEBUG" /D "WIN32" /D "WITH_SSL" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /D "PRId64=\"I64d\"" /D "PRIu64=\"I64u\"" /D "SCNu64=\"I64u\"" /D "SCNx64=\"I64x\"" /D "SCNd64=\"I64d\"" /D "PRIx64=\"I64x\"" /Fp"proxy.pch" /FD /c VERSION = $(VERSION)
!IFDEF RELEASE BUILDDATE = $(BUILDDATE)
VERSION=/D VERSION=\"3proxy-$(RELEASE)\" CFLAGS = /nologo /MT /W3 /Ox /GS /EHs- /GA /GF /D "MSVC" /D "WITH_WSAPOLL" /D "NDEBUG" /D "WIN32" /D "WITH_SSL" /D "_CONSOLE" /D "_MBCS" /D "_WIN32" /Fp"proxy.pch" /FD /c $(BUILDDATE) $(VERSION)
!ENDIF
!IFDEF NOW
BUILDDATE=/D BUILDDATE=\"$(NOW)\"
!ENDIF
COUT = /Fo COUT = /Fo
LN = link LN = link
LDFLAGS = /nologo /subsystem:console /incremental:no LDFLAGS = /nologo /subsystem:console /incremental:no
@ -33,9 +29,7 @@ COMPATLIBS =
MAKEFILE = Makefile.msvc MAKEFILE = Makefile.msvc
PLUGINS = utf8tocp1251 WindowsAuthentication TrafficPlugin StringsPlugin FilePlugin SSLPlugin PCREPlugin PLUGINS = utf8tocp1251 WindowsAuthentication TrafficPlugin StringsPlugin FilePlugin SSLPlugin PCREPlugin
VERFILE = 3proxy.res $(VERFILE) VERFILE = 3proxy.res $(VERFILE)
VERSION = $(VERSION)
VERSIONDEP = 3proxy.res $(VERSIONDEP) VERSIONDEP = 3proxy.res $(VERSIONDEP)
BUILDDATE = $(BUILDDATE)
AFTERCLEAN = if exist src\*.res (del src\*.res) && if exist src\*.err (del src\*.err) AFTERCLEAN = if exist src\*.res (del src\*.res) && if exist src\*.err (del src\*.err)
include Makefile.inc include Makefile.inc

View File

@ -62,9 +62,3 @@ allplugins:
nmake nmake
del *.obj *.idb del *.obj *.idb
cd ../../ cd ../../
copy Makefile plugins\PCREPlugin
copy Makefile.var plugins\PCREPlugin
cd plugins\PCREPlugin
nmake
del *.obj *.idb
cd ../../

View File

@ -67,14 +67,10 @@
<ul> <ul>
<li><A NAME="MSVC">How to compile 3proxy with Visual C++</A> <li><A NAME="MSVC">How to compile 3proxy with Visual C++</A>
<p> <p>
Extract source code files from 3proxy.tgz (with WinZip or another utility). Extract source code files from 3proxy.tgz (with WinZip or another utility) or use git.
For 64-bit Windows use:
<pre> <pre>
nmake /f Makefile.msvc64 nmake /f Makefile.msvc
</pre>
For ARM64 Windows use:
<pre>
nmake /f Makefile.msvcARM64
</pre> </pre>
Binaries will be placed in the <code>bin/</code> directory. Binaries will be placed in the <code>bin/</code> directory.
</p> </p>

View File

@ -73,13 +73,10 @@
<ul> <ul>
<li><a name="MSVC"><i>Как скомпилировать 3proxy Visual C++</i></a> <li><a name="MSVC"><i>Как скомпилировать 3proxy Visual C++</i></a>
<p> <p>
Извлеките файлы из архива 3proxy.tgz (например, с помощью WinZip). Извлеките файлы из архива 3proxy.tgz (например, с помощью WinZip) или используйте git.
Для 64-битной Windows используйте:
<pre> <pre>
nmake /f Makefile.msvc64</pre> nmake /f Makefile.msvc
Для Windows ARM64 используйте: </pre>
<pre>
nmake /f Makefile.msvcARM64</pre>
Исполняемые файлы будут помещены в каталог <code>bin/</code>. Исполняемые файлы будут помещены в каталог <code>bin/</code>.
</p> </p>
<li><a name="CMAKE"><i>Как скомпилировать 3proxy с помощью CMake</i></a> <li><a name="CMAKE"><i>Как скомпилировать 3proxy с помощью CMake</i></a>