From d27afd05cda8313fa0fef031f7d75b8d395a6c30 Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Sun, 5 Apr 2026 00:31:45 +0300 Subject: [PATCH] Howto update --- doc/html/howtoe.html | 174 ++++++++++++++++++++++++++--------------- doc/html/howtor.html | 179 +++++++++++++++++++++++++------------------ 2 files changed, 216 insertions(+), 137 deletions(-) diff --git a/doc/html/howtoe.html b/doc/html/howtoe.html index 6cd0969..cc1d077 100644 --- a/doc/html/howtoe.html +++ b/doc/html/howtoe.html @@ -5,15 +5,14 @@
Extract source code files from 3proxy.tgz (with WinZip or another utility). -Use nmake /f Makefile.msvc command +For 64-bit Windows use: +
+nmake /f Makefile.msvc64 ++For ARM64 Windows use: +
+nmake /f Makefile.msvcARM64 ++Binaries will be placed in the
bin/ directory.
- -See How to compile 3proxy with Visual C++ -Use Makefile.intl instead of Makefile.msvc -
-
-Extract source files from 3proxy.tgz (for example with tar -xzf 3proxy.tgz command if you have tar installed)
-Use make -f Makefile.win command.
-If you want to use POSIX emulation Cygwin library (normally you shouldn't) - use make -f Makefile.unix instead.
-Windows specific things (like installing as service) will not be available if compiled with Cygwin emulation.
+CMake provides a cross-platform build system. It works on Windows (MSVC, MinGW), Linux, macOS, and BSD.
+
Basic build steps:
+
+mkdir build +cd build +cmake .. +cmake --build . ++On Windows with Visual Studio, you can also generate a solution file: +
+cmake -G "Visual Studio 17 2022" -A x64 .. +cmake --build . --config Release ++Optional features can be controlled with cmake options: +
+cmake -D3PROXY_USE_OPENSSL=ON -D3PROXY_USE_PCRE2=ON .. ++Available options: 3PROXY_USE_OPENSSL, 3PROXY_USE_PCRE2, 3PROXY_USE_PAM, 3PROXY_USE_ODBC. +
build/bin/ directory.
-Use +For Linux, use:
-make -f Makefile.Linux +ln -sf Makefile.Linux Makefile +make-for Linux or Cygwin, Makefile.Solaris* (depending on compiler version) for Solaris -and Makefile.unix for different Unix-like OSes. On BSD-derived systems, make +For FreeBSD, use: +
+ln -sf Makefile.FreeBSD Makefile +make ++For other Unix-like systems, use Makefile.unix. On BSD-derived systems, make sure to use GNU make; sometimes it's called gmake instead of make. -
bin/ directory.
-service --string into 3proxy.cfg. Now, start a command prompt (cmd.exe). +Now, start a command prompt (cmd.exe). Change to the 3proxy installation directory and run 3proxy.exe --install:
D:\>C: @@ -118,8 +134,7 @@ C:\>cd C:\Program Files\3proxy C:\Program Files\3proxy>3proxy.exe --installNow, you should have the 3proxy service installed and running. If the service is not -started, remove the "service" string from 3proxy.cfg, run 3proxy.exe manually -and correct all errors. +started, run 3proxy.exe manually and correct all errors.
To remove 3proxy, run 3proxy --remove:
@@ -129,40 +144,75 @@ C:\Program Files\3proxy>net stop 3proxy C:\Program Files\3proxy>3proxy.exe --removeNow you can simply remove the 3proxy installation directory. - -
-Unpack 3proxy.zip to any directory, for example -c:\Program Files\3proxy. If needed, create a directory for storing log files, -ODBC sources, etc. Create 3proxy.cfg in the 3proxy installation directory (see Server configuration). -Remove the string -
-service --from 3proxy.cfg and add -
-daemon --if you want 3proxy to run in the background. -Create a shortcut for 3proxy.exe and place it in the autostart folder or add -it to the registry with regedit.exe: -
-Compile 3proxy (see Compilation). Copy
-executables to any appropriate location (for example, /usr/local/3proxy/sbin
-for servers and /usr/local/3proxy/bin for utilities).
-Create /usr/local/etc/3proxy.cfg.
-(see Server configuration).
-You can change the default configuration file location by specifying the configuration file
-in the 3proxy command line.
-Add 3proxy to the system startup scripts.
+Using Makefile:
+
Compile 3proxy (see Compilation) then run:
+
+sudo make install ++This installs binaries to
/usr/local/3proxy/sbin/, configuration to /etc/3proxy/,
+and sets up chroot directories. Default configuration file is /etc/3proxy/3proxy.cfg.
+
++Using CMake: +
+mkdir build && cd build +cmake .. +cmake --build . +sudo cmake --install . ++ +
+Using pre-built packages from GitHub:
+
Download .deb or .rpm packages from GitHub Releases.
+
For Debian/Ubuntu:
+
+sudo dpkg -i 3proxy_*.deb ++For RHEL/CentOS/Fedora: +
+sudo rpm -i 3proxy-*.rpm ++ +
+Add 3proxy to the system startup scripts or use systemd: +
+sudo systemctl enable 3proxy +sudo systemctl start 3proxy ++ +
+Using pre-built images from GitHub Container Registry: +
+docker pull ghcr.io/3proxy/3proxy:latest ++ +
+Building Docker images:
+
Two Dockerfiles are provided:
+
Dockerfile.minimal - minimal static build, no plugins, configuration from stdin:
++docker build -f Dockerfile.minimal -t 3proxy.minimal . +docker run -i -p 3129:3129 --name 3proxy 3proxy.minimal ++Then enter configuration followed by "end" command. +
Dockerfile.full - full build with plugins (SSL, PCRE, Transparent):
++docker build -f Dockerfile.full -t 3proxy.full . +docker run -p 3129:3129 -v /path/to/config:/usr/local/3proxy/conf 3proxy.full ++The configuration file must be placed at
/path/to/config/3proxy.cfg.
+
+By default, 3proxy runs in chroot environment with uid/gid 65535. Use nserver in config for DNS resolution in chroot.
+For non-chroot execution, mount config to /etc/3proxy.
Извлеките файлы из архива 3proxy.tgz (например, с помощью WinZip). - Используйте команду nmake /f Makefile.msvc. + Для 64-битной Windows используйте: +
+ nmake /f Makefile.msvc64+ Для Windows ARM64 используйте: +
+ nmake /f Makefile.msvcARM64+ Исполняемые файлы будут помещены в каталог
bin/.
- - См. Как скомпилировать 3proxy Visual C++. - Используйте Makefile.intl вместо Makefile.msvc -
-
- Извлеките файлы из архива 3proxy.tgz (например, с помощью WinZip или, при наличии
- Cygwin, tar -xzf 3proxy.tgz).
- Используйте команду make -f Makefile.win. Если по каким-то причинам вы хотите использовать
- библиотеку POSIX-эмуляции CygWin - используйте make -f Makefile.unix.
- При использовании CygWin, функции, специфичные для Windows (такие, как запуск в
- качестве службы) будут недоступны.
+ CMake предоставляет кроссплатформенную систему сборки. Работает на Windows (MSVC, MinGW), Linux, macOS и BSD.
+
Базовые шаги сборки:
+
+ mkdir build + cd build + cmake .. + cmake --build .+ На Windows с Visual Studio можно также сгенерировать файл решения: +
+ cmake -G "Visual Studio 17 2022" -A x64 .. + cmake --build . --config Release+ Опциональные функции можно включить через параметры cmake: +
+ cmake -D3PROXY_USE_OPENSSL=ON -D3PROXY_USE_PCRE2=ON ..+ Доступные опции: 3PROXY_USE_OPENSSL, 3PROXY_USE_PCRE2, 3PROXY_USE_PAM, 3PROXY_USE_ODBC. +
build/bin/.
- Используйте make -f Makefile.unix. Должен использоваться GNU make, на - некоторых системах необходимо использовать gmake вместо make. Под Linux - необходимо использовать Makefile.Linux, под Solaris - Makefile.Solaris-* (в - зависимости от используемого компилятора). Компиляция проверена в FreeBSD/i386, - OpenBSD/i386, NetBSD/i386, RH Linux/Alpha, Debian/i386, Gentoo/i386, Gentoo/PPC, - Solaris 10, но должно собираться в любых версиях *BSD/Linux/Solaris. - В других системах может потребоваться модификация make-файла и/или исходных текстов. - Для компиляции с поддержкой ODBC необходимо убрать -DNOODBC из флагов - компиляции и добавить -lodbc (или другую ODBC-библиотеку) к флагам линковщика. -
-- Используйте make -f Makefile.ccc. Компиляция проверена в RH Linux 7.1/Alpha. - В других системах может потребоваться модификация файла и/или исходных текстов. + Для Linux используйте: +
+ ln -sf Makefile.Linux Makefile + make+ Для FreeBSD используйте: +
+ ln -sf Makefile.FreeBSD Makefile + make+ Для других Unix-подобных систем используйте Makefile.unix. На BSD-производных системах + убедитесь, что используете GNU make; иногда он называется gmake вместо make. +
bin/.
- Извлеките файлы из архива 3proxy.zip в любой каталог + Извлеките файлы из архива 3proxy.zip в любой каталог (например, c:\Program Files\3proxy). Если необходимо, создайте каталог для хранения файлов журналов. Создайте файл конфигурации 3proxy.cfg в каталоге 3proxy (см. раздел Конфигурация сервера). - Если используется версия более ранняя, чем 0.6, добавьте строку -
- service- в файл 3proxy.cfg. Откройте командную строку (cmd.exe). + Откройте командную строку (cmd.exe). Перейдите в каталог с 3proxy и дайте команду 3proxy.exe --install:
D:\>C: C:\>cd C:\Program Files\3proxy C:\Program Files\3proxy>3proxy.exe --installСервис должен быть установлен и запущен. Если сервис не запускается, - проверьте содержимое файла журнала, - попробуйте удалить строку service из 3proxy.cfg, запустить 3proxy.exe вручную - и проанализировать сообщения об ошибках. + попробуйте запустить 3proxy.exe вручную и проанализировать сообщения об ошибках.
Для удаления 3proxy необходимо остановить сервис и дать команду 3proxy.exe --remove: @@ -139,43 +143,68 @@ C:\Program Files\3proxy>net stop 3proxy C:\Program Files\3proxy>3proxy.exe --remove после чего каталог 3proxy можно удалить. -
- Установка в качестве системной службы под Windows 9x поддерживается с версии 0.5 -
-- Извлеките файлы из архива 3proxy.zip в любой каталог - (например, c:\Program Files\3proxy). Если необходимо, создайте каталог для - хранения файлов журналов. Создайте файл конфигурации 3proxy.cfg в - каталоге 3proxy (См. раздел Конфигурация сервера). - В файле конфигурации удалите строку -
- service- и добавьте строку -
- daemon- Создайте ярлык для 3proxy.exe и поместите его в автозагрузку либо с помощью - редактора реестра regedit.exe добавьте в разделе -
- Скомпилируйте 3proxy (см. раздел Компиляция). Скопируйте
- исполняемые файлы в подходящий каталог (например, /usr/local/3proxy/sbin для
- серверных приложений или /usr/local/3proxy/bin для клиентских утилит).
- Создайте файл /usr/local/etc/3proxy.cfg.
- (См. раздел Конфигурация сервера).
- Изменить расположение файла конфигурации можно, задав параметр при вызове
- 3proxy или изменив путь в файле 3proxy.c до компиляции.
- Добавьте вызов 3proxy в скрипты начальной инициализации.
+ С помощью Makefile:
+
Скомпилируйте 3proxy (см. раздел Компиляция), затем выполните:
+
+ sudo make install+ Это установит исполняемые файлы в
/usr/local/3proxy/sbin/,
+ конфигурацию в /etc/3proxy/ и настроит chroot-каталоги.
+ Файл конфигурации по умолчанию: /etc/3proxy/3proxy.cfg.
+
+ + С помощью CMake: +
+ mkdir build && cd build + cmake .. + cmake --build . + sudo cmake --install .+ +
+ С помощью готовых пакетов из GitHub:
+
Скачайте .deb или .rpm пакеты со страницы GitHub Releases.
+
Для Debian/Ubuntu:
+
+ sudo dpkg -i 3proxy_*.deb+ Для RHEL/CentOS/Fedora: +
+ sudo rpm -i 3proxy-*.rpm+ +
+ Добавьте 3proxy в скрипты автозапуска или используйте systemd: +
+ sudo systemctl enable 3proxy + sudo systemctl start 3proxy+ +
+ Использование готовых образов из GitHub Container Registry: +
+ docker pull ghcr.io/3proxy/3proxy:latest+ +
+ Сборка Docker-образов:
+
Предоставляются два Dockerfile:
+
Dockerfile.minimal - минимальная статическая сборка без плагинов, конфигурация из stdin:
+ + docker build -f Dockerfile.minimal -t 3proxy.minimal . + docker run -i -p 3129:3129 --name 3proxy 3proxy.minimal+ Затем введите конфигурацию, завершив командой "end". +
Dockerfile.full - полная сборка с плагинами (SSL, PCRE, Transparent):
+ + docker build -f Dockerfile.full -t 3proxy.full . + docker run -p 3129:3129 -v /path/to/config:/usr/local/3proxy/conf 3proxy.full+ Файл конфигурации должен находиться по пути
/path/to/config/3proxy.cfg.
+
+ По умолчанию 3proxy работает в chroot-окружении с uid/gid 65535. Используйте nserver в конфигурации для DNS-разрешения в chroot.
+ Для запуска без chroot монтируйте конфигурацию в /etc/3proxy.