From 77b0dc339779142eb6fc4b458ced71a8f1434df1 Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Sat, 11 Apr 2026 14:47:09 +0300 Subject: [PATCH] Documentation update --- doc/html/howtoe.html | 51 +++++++++++++++++++++++++++++++- doc/html/howtor.html | 52 ++++++++++++++++++++++++++++++++- doc/html/man3/3proxy.cfg.3.html | 11 ++++++- man/3proxy.cfg.3 | 12 +++++++- 4 files changed, 122 insertions(+), 4 deletions(-) diff --git a/doc/html/howtoe.html b/doc/html/howtoe.html index 84387cc..1b99e67 100644 --- a/doc/html/howtoe.html +++ b/doc/html/howtoe.html @@ -49,6 +49,8 @@
+ 3proxy supports HAProxy PROXY protocol v1 for both receiving and sending client + IP information. This is useful when 3proxy is behind a load balancer or when + passing client information to a parent proxy. +
+
+ Receiving PROXY protocol header:
+
Use the -H option to make 3proxy expect a PROXY protocol v1 header
+ on incoming connections. This allows 3proxy to receive the real client IP address
+ from HAProxy or another load balancer:
+
+proxy -H -p3128 +socks -H -p1080 ++
+ The PROXY protocol header must be sent before any protocol-specific data. +
+
+ Sending PROXY protocol header to parent proxy:
+
Use the ha parent type to send a PROXY protocol v1 header to
+ the parent proxy. This must be the last parent in the chain:
+
+allow * +parent 1000 ha +parent 1000 socks5 parent.example.com 1080 +socks ++
+ This configuration sends the client IP information to the SOCKS5 parent proxy + via the PROXY protocol. +
+
+ Use the maxseg command to set the TCP maximum segment size (MSS)
+ for outgoing connections. This can be useful to work around path MTU discovery
+ issues or to optimize traffic for specific network conditions:
+
+maxseg 1400 +proxy -p3128 -OcTCP_NODELAY,TCP_MAXSEG -OsTCP_NODELAY,TCP_MAXSEG ++
+ The value is specified in bytes. This setting uses the TCP_MAXSEG socket option + and may not be supported on all platforms. A typical use case is to reduce MSS + to avoid fragmentation in VPN tunnels or to work around MTU issues with certain + network paths. +
+ 3proxy поддерживает протокол HAProxy PROXY v1 как для приёма, так и для + отправки информации об IP-адресе клиента. Это полезно, когда 3proxy находится + за балансировщиком нагрузки или при передаче информации о клиенте родительскому прокси. +
+
+ Приём заголовка PROXY протокола:
+
Используйте опцию -H, чтобы 3proxy ожидал заголовок PROXY протокола v1
+ на входящих соединениях. Это позволяет 3proxy получать реальный IP-адрес клиента
+ от HAProxy или другого балансировщика нагрузки:
+
+proxy -H -p3128 +socks -H -p1080 ++
+ Заголовок PROXY протокола должен быть отправлен до любых протокольных данных. +
+
+ Отправка заголовка PROXY протокола родительскому прокси:
+
Используйте тип родительского прокси ha для отправки заголовка
+ PROXY протокола v1 родительскому прокси. Это должен быть последний родитель в цепочке:
+
+allow * +parent 1000 ha +parent 1000 socks5 parent.example.com 1080 +socks ++
+ Эта конфигурация отправляет информацию об IP-адресе клиента SOCKS5 родительскому + прокси через PROXY протокол. +
+
+ Используйте команду maxseg для установки максимального размера
+ сегмента TCP (MSS) для исходящих соединений. Это может быть полезно для обхода
+ проблем с Path MTU Discovery или для оптимизации трафика в специфических
+ сетевых условиях:
+
+maxseg 1400 +proxy -p3128 -OcTCP_NODELAY,TCP_MAXSEG -OsTCP_NODELAY,TCP_MAXSEG ++
+ Значение указывается в байтах. Эта настройка использует опцию сокета TCP_MAXSEG + и может не поддерживаться на всех платформах. Типичный случай использования - + уменьшение MSS для избежания фрагментации в VPN туннелях или для обхода проблем + с MTU на определённых сетевых путях. +