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="#NSCACHING">How to configure name resolution and DNS caching</a>
|
||||||
<li><a href="#IPV6">How to use IPv6</a>
|
<li><a href="#IPV6">How to use IPv6</a>
|
||||||
<li><a href="#CONNBACK">How to use connect back</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>
|
</ul>
|
||||||
<li><A HREF="#CLIENT">Client configuration</A>
|
<li><A HREF="#CLIENT">Client configuration</A>
|
||||||
<li><A HREF="#ADMIN">Administering and information analysis</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
|
allow * * 1.1.1.1
|
||||||
tcppm -R0.0.0.0:1234 3128 1.1.1.1 3128</pre>
|
tcppm -R0.0.0.0:1234 3128 1.1.1.1 3128</pre>
|
||||||
For browser settings, the proxy is host.dyndns.example.org:3128.
|
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>
|
</ul>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
@ -48,6 +48,8 @@
|
|||||||
<li><a href="#NSCACHING">Как управлять разрешением имен и кэшированием DNS</a>
|
<li><a href="#NSCACHING">Как управлять разрешением имен и кэшированием DNS</a>
|
||||||
<li><a href="#IPV6">Как использовать IPv6</a>
|
<li><a href="#IPV6">Как использовать IPv6</a>
|
||||||
<li><a href="#CONNBACK">Как использовать connect back</a>
|
<li><a href="#CONNBACK">Как использовать connect back</a>
|
||||||
|
<li><a href="#HAPROXY">Как использовать протокол HAProxy PROXY</a>
|
||||||
|
<li><a href="#MAXSEG">Как установить максимальный размер сегмента TCP (MSS)</a>
|
||||||
</ul>
|
</ul>
|
||||||
<li><a href="#CLIENT">Конфигурация и настройка клиентов</a>
|
<li><a href="#CLIENT">Конфигурация и настройка клиентов</a>
|
||||||
<ul>
|
<ul>
|
||||||
@ -1335,7 +1337,55 @@ openssl pkcs12 -export -out client.p12 -passout pass: \
|
|||||||
allow * * 1.1.1.1
|
allow * * 1.1.1.1
|
||||||
tcppm -R0.0.0.0:1234 3128 1.1.1.1 3128</pre>
|
tcppm -R0.0.0.0:1234 3128 1.1.1.1 3128</pre>
|
||||||
В настройках браузера указывается host.dyndns.example.org:3128.
|
В настройках браузера указывается 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>
|
</ul>
|
||||||
<hr>
|
<hr>
|
||||||
<li><a name="CLIENT"><b>Конфигурация клиентов</b></a>
|
<li><a name="CLIENT"><b>Конфигурация клиентов</b></a>
|
||||||
|
|||||||
@ -176,7 +176,12 @@ accepted. <b><br>
|
|||||||
-N</b> (for socks) External NAT address 3proxy reports to
|
-N</b> (for socks) External NAT address 3proxy reports to
|
||||||
client for BIND and UDPASSOC By default external address is
|
client for BIND and UDPASSOC By default external address is
|
||||||
reported. It’s only useful in the case of IP-IP NAT
|
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)
|
Also, all options mentioned for <b>proxy</b>(8)
|
||||||
<b>socks</b>(8) <b>pop3p</b>(8) <b>tcppm</b>(8)
|
<b>socks</b>(8) <b>pop3p</b>(8) <b>tcppm</b>(8)
|
||||||
<b>udppm</b>(8) <b>ftppr</b>(8) <br>
|
<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>
|
need it. <br>
|
||||||
admin redirect request to local ´admin´ service
|
admin redirect request to local ´admin´ service
|
||||||
(with -s parameter). <br>
|
(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"
|
Use "+" proxy only with "fakeresolve"
|
||||||
option</p>
|
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
|
(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
|
By default external address is reported. It's only useful in the case
|
||||||
of IP-IP NAT (will not work for PAT)
|
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
|
.br
|
||||||
Also, all options mentioned for
|
Also, all options mentioned for
|
||||||
.BR proxy (8)
|
.BR proxy (8)
|
||||||
@ -776,7 +782,11 @@ unless you know exactly you need it.
|
|||||||
.br
|
.br
|
||||||
admin redirect request to local \'admin\' service (with -s parameter).
|
admin redirect request to local \'admin\' service (with -s parameter).
|
||||||
.br
|
.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
|
.br
|
||||||
|
|
||||||
IP and port are ip addres and port of parent proxy server.
|
IP and port are ip addres and port of parent proxy server.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user