× Многие антивирусы определят 3proxy как потенциально нежелательную программу (PUA). Некоторые версии определяют отдельные компоненты 3proxy как Trojan.Daemonize, Backdoor.Daemonize и т.д. Это может приводить к предупреждению браузера на странице загрузки. 3proxy не имеет никакого функционала кроме заявленного. Объяснение такой классификации имеется, например, у Microsoft.

Транспарентное проксирование 3proxy (только для Linux/BSD)

Начиная с 1.0.1 транспарентное проксирование встроено в 3proxy. Раньше это был отдельный TransparentPlugin, и строка plugin, которой он загружался, больше не нужна: команды transparent и notransparent доступны всегда на тех платформах, где соединение можно перенаправить.

3proxy становится транспарентным прокси практически для любых TCP-соединений, причём весь остальной функционал работает как обычно - редиректоры, родительские прокси, ACLи, ограничения трафика и логирование. IP и порт назначения берутся у пакетного фильтра, перенаправившего соединение, и используются как адрес назначения проксируемого соединения.

log /path/to/log
auth iponly
allow * * * 80
parent 1000 http 0.0.0.0 0
allow *
parent 1000 socks5 SOCKS5_IP SOCKS5_PORT USER PASSWORD

transparent
tcppm -eLOCAL_IP 12345 127.0.0.1 11111
notransparent
proxy

Любой TCP-трафик, перенаправленный на порт 12345, пойдёт через родительский SOCKSv5 прокси и будет залогирован, URL веб-запросов видны в логе. Аргументы '127.0.0.1 11111' в этом случае не используются: они заменяются адресом, к которому обращался клиент.

В BSD адрес назначения ищется в pf через /dev/pf, в Linux запрашивается у ядра; если перенаправление оставляет адрес на сокете, используется он. Команда transparent принимает необязательный аргумент auto, netfilter, pf или socket, чтобы зафиксировать выбор.

Правила перенаправления не должны попадать на соединения, которые устанавливает сам 3proxy, иначе трафик возвращается в прокси и зацикливается. Задайте сервису адрес для исходящих соединений через -e и исключите его в правилах, либо запускайте 3proxy под отдельной учётной записью и исключайте её.

Правила перенаправления для iptables, nftables, firewalld, ufw и pf приведены в описании транспарентного проксирования, команды описаны в 3proxy.cfg(5).

© Vladimir Dubrovin, License: BSD style