mirror of
https://github.com/3proxy/3proxy.git
synced 2026-04-12 16:00:11 +08:00
Documentation update
Some checks are pending
RPM/DEB build aarch64 / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
RPM/DEB build armhf / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
RPM/DEB build x86-64 / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
Build Win32 3proxy-lite with Watcom / ${{ matrix.target }} (windows-2022) (push) Waiting to run
Build Win32 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Waiting to run
Build Win64 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Waiting to run
Build Win-arm64 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Waiting to run
Some checks are pending
RPM/DEB build aarch64 / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
RPM/DEB build armhf / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
RPM/DEB build x86-64 / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
Build Win32 3proxy-lite with Watcom / ${{ matrix.target }} (windows-2022) (push) Waiting to run
Build Win32 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Waiting to run
Build Win64 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Waiting to run
Build Win-arm64 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Waiting to run
This commit is contained in:
parent
a2641cb103
commit
77b0dc3397
@ -49,6 +49,8 @@
|
||||
<li><a href="#NSCACHING">How to configure name resolution and DNS caching</a>
|
||||
<li><a href="#IPV6">How to use IPv6</a>
|
||||
<li><a href="#CONNBACK">How to use connect back</a>
|
||||
<li><a href="#HAPROXY">How to use HAProxy PROXY protocol</a>
|
||||
<li><a href="#MAXSEG">How to set TCP maximum segment size (MSS)</a>
|
||||
</ul>
|
||||
<li><A HREF="#CLIENT">Client configuration</A>
|
||||
<li><A HREF="#ADMIN">Administering and information analysis</A>
|
||||
@ -1278,7 +1280,54 @@ allowed traffic in megabytes (MB). nocountin allows you to set exclusions.
|
||||
allow * * 1.1.1.1
|
||||
tcppm -R0.0.0.0:1234 3128 1.1.1.1 3128</pre>
|
||||
For browser settings, the proxy is host.dyndns.example.org:3128.
|
||||
</p>
|
||||
</p>
|
||||
<li><a name="HAPROXY"><i>How to use HAProxy PROXY protocol</i></a>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<p>
|
||||
<b>Receiving PROXY protocol header:</b>
|
||||
<br>Use the <code>-H</code> 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:
|
||||
</p><pre>
|
||||
proxy -H -p3128
|
||||
socks -H -p1080
|
||||
</pre>
|
||||
<p>
|
||||
The PROXY protocol header must be sent before any protocol-specific data.
|
||||
</p>
|
||||
<p>
|
||||
<b>Sending PROXY protocol header to parent proxy:</b>
|
||||
<br>Use the <code>ha</code> parent type to send a PROXY protocol v1 header to
|
||||
the parent proxy. This must be the last parent in the chain:
|
||||
</p><pre>
|
||||
allow *
|
||||
parent 1000 ha
|
||||
parent 1000 socks5 parent.example.com 1080
|
||||
socks
|
||||
</pre>
|
||||
<p>
|
||||
This configuration sends the client IP information to the SOCKS5 parent proxy
|
||||
via the PROXY protocol.
|
||||
</p>
|
||||
<li><a name="MAXSEG"><i>How to set TCP maximum segment size (MSS)</i></a>
|
||||
<p>
|
||||
Use the <code>maxseg</code> 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:
|
||||
</p><pre>
|
||||
maxseg 1400
|
||||
proxy -p3128 -OcTCP_NODELAY,TCP_MAXSEG -OsTCP_NODELAY,TCP_MAXSEG
|
||||
</pre>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -48,6 +48,8 @@
|
||||
<li><a href="#NSCACHING">Как управлять разрешением имен и кэшированием DNS</a>
|
||||
<li><a href="#IPV6">Как использовать IPv6</a>
|
||||
<li><a href="#CONNBACK">Как использовать connect back</a>
|
||||
<li><a href="#HAPROXY">Как использовать протокол HAProxy PROXY</a>
|
||||
<li><a href="#MAXSEG">Как установить максимальный размер сегмента TCP (MSS)</a>
|
||||
</ul>
|
||||
<li><a href="#CLIENT">Конфигурация и настройка клиентов</a>
|
||||
<ul>
|
||||
@ -1335,7 +1337,55 @@ openssl pkcs12 -export -out client.p12 -passout pass: \
|
||||
allow * * 1.1.1.1
|
||||
tcppm -R0.0.0.0:1234 3128 1.1.1.1 3128</pre>
|
||||
В настройках браузера указывается host.dyndns.example.org:3128.
|
||||
</p>
|
||||
</p>
|
||||
<li><a name="HAPROXY"><i>Как использовать протокол HAProxy PROXY</i></a>
|
||||
<p>
|
||||
3proxy поддерживает протокол HAProxy PROXY v1 как для приёма, так и для
|
||||
отправки информации об IP-адресе клиента. Это полезно, когда 3proxy находится
|
||||
за балансировщиком нагрузки или при передаче информации о клиенте родительскому прокси.
|
||||
</p>
|
||||
<p>
|
||||
<b>Приём заголовка PROXY протокола:</b>
|
||||
<br>Используйте опцию <code>-H</code>, чтобы 3proxy ожидал заголовок PROXY протокола v1
|
||||
на входящих соединениях. Это позволяет 3proxy получать реальный IP-адрес клиента
|
||||
от HAProxy или другого балансировщика нагрузки:
|
||||
</p><pre>
|
||||
proxy -H -p3128
|
||||
socks -H -p1080
|
||||
</pre>
|
||||
<p>
|
||||
Заголовок PROXY протокола должен быть отправлен до любых протокольных данных.
|
||||
</p>
|
||||
<p>
|
||||
<b>Отправка заголовка PROXY протокола родительскому прокси:</b>
|
||||
<br>Используйте тип родительского прокси <code>ha</code> для отправки заголовка
|
||||
PROXY протокола v1 родительскому прокси. Это должен быть последний родитель в цепочке:
|
||||
</p><pre>
|
||||
allow *
|
||||
parent 1000 ha
|
||||
parent 1000 socks5 parent.example.com 1080
|
||||
socks
|
||||
</pre>
|
||||
<p>
|
||||
Эта конфигурация отправляет информацию об IP-адресе клиента SOCKS5 родительскому
|
||||
прокси через PROXY протокол.
|
||||
</p>
|
||||
<li><a name="MAXSEG"><i>Как установить максимальный размер сегмента TCP (MSS)</i></a>
|
||||
<p>
|
||||
Используйте команду <code>maxseg</code> для установки максимального размера
|
||||
сегмента TCP (MSS) для исходящих соединений. Это может быть полезно для обхода
|
||||
проблем с Path MTU Discovery или для оптимизации трафика в специфических
|
||||
сетевых условиях:
|
||||
</p><pre>
|
||||
maxseg 1400
|
||||
proxy -p3128 -OcTCP_NODELAY,TCP_MAXSEG -OsTCP_NODELAY,TCP_MAXSEG
|
||||
</pre>
|
||||
<p>
|
||||
Значение указывается в байтах. Эта настройка использует опцию сокета TCP_MAXSEG
|
||||
и может не поддерживаться на всех платформах. Типичный случай использования -
|
||||
уменьшение MSS для избежания фрагментации в VPN туннелях или для обхода проблем
|
||||
с MTU на определённых сетевых путях.
|
||||
</p>
|
||||
</ul>
|
||||
<hr>
|
||||
<li><a name="CLIENT"><b>Конфигурация клиентов</b></a>
|
||||
|
||||
@ -176,7 +176,12 @@ accepted. <b><br>
|
||||
-N</b> (for socks) External NAT address 3proxy reports to
|
||||
client for BIND and UDPASSOC By default external address is
|
||||
reported. It’s only useful in the case of IP-IP NAT
|
||||
(will not work for PAT) <br>
|
||||
(will not work for PAT) <b><br>
|
||||
-H</b> (for all services) Expect HAProxy PROXY protocol v1
|
||||
header on incoming connection. This allows the proxy to
|
||||
receive real client IP address from HAProxy or other load
|
||||
balancer that supports the PROXY protocol. The header must
|
||||
be sent before any protocol-specific data. <br>
|
||||
Also, all options mentioned for <b>proxy</b>(8)
|
||||
<b>socks</b>(8) <b>pop3p</b>(8) <b>tcppm</b>(8)
|
||||
<b>udppm</b>(8) <b>ftppr</b>(8) <br>
|
||||
@ -677,6 +682,10 @@ useful). Never use this option unless you know exactly you
|
||||
need it. <br>
|
||||
admin redirect request to local ´admin´ service
|
||||
(with -s parameter). <br>
|
||||
ha send HAProxy PROXY protocol v1 header to parent proxy.
|
||||
Must be the last in the proxy chain. Useful for passing
|
||||
client IP information to the parent proxy. Example: parent
|
||||
1000 ha <br>
|
||||
Use "+" proxy only with "fakeresolve"
|
||||
option</p>
|
||||
|
||||
|
||||
@ -186,6 +186,12 @@ By default, connections to any interface are accepted.
|
||||
(for socks) External NAT address 3proxy reports to client for BIND and UDPASSOC
|
||||
By default external address is reported. It's only useful in the case
|
||||
of IP-IP NAT (will not work for PAT)
|
||||
.br
|
||||
.B -H
|
||||
(for all services) Expect HAProxy PROXY protocol v1 header on incoming connection.
|
||||
This allows the proxy to receive real client IP address from HAProxy or other
|
||||
load balancer that supports the PROXY protocol. The header must be sent before
|
||||
any protocol-specific data.
|
||||
.br
|
||||
Also, all options mentioned for
|
||||
.BR proxy (8)
|
||||
@ -776,7 +782,11 @@ unless you know exactly you need it.
|
||||
.br
|
||||
admin redirect request to local \'admin\' service (with -s parameter).
|
||||
.br
|
||||
Use "+" proxy only with "fakeresolve" option
|
||||
ha send HAProxy PROXY protocol v1 header to parent proxy. Must be the last
|
||||
in the proxy chain. Useful for passing client IP information to the parent proxy.
|
||||
Example: parent 1000 ha
|
||||
.br
|
||||
Use "+" proxy only with "fakeresolve" option
|
||||
.br
|
||||
|
||||
IP and port are ip addres and port of parent proxy server.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user