3proxy/CHANGELOG.rus
2026-10-24 16:18:42 +03:00

23 lines
7.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

3proxy-1.1.0-pre1 Вышел 24 Октября 2026
! Исправление: служба обратного соединения (-r), заменённая при перезагрузке конфигурации, продолжала до 60 секунд ждать разрешения, занимая место и поток, и каждая перезагрузка оставляла ещё одно соединение в очереди другой стороны (-R); соединение, закрытое стороной -r, стоило стороне -R клиента
! Исправление: нумерованные счётчики трафика сбрасывались при перезагрузке конфигурации, если файл счётчиков не использовался
+ Перезагрузка конфигурации атомарна: конфигурация с ошибкой отвергается, и действующая продолжает работать; новая служба на том же адресе, в том же сетевом пространстве имён и на том же устройстве принимает слушающий сокет TCP или UDP старой службы, так что ни одно соединение не отвергается и не теряется, а сессии UDP продолжаются; соединения старых служб заново проходят аутентификацию по новой конфигурации (если не задан noforce) и закрываются, если их служба удалена или в ней нет свободного места; команды и соединения данных FTP авторизуются по действующим правилам
+ Службы одной конфигурации на одном адресе разделяют его слушающий сокет; страница служб admin показывает клиентов и трафик каждого слушающего сокета, сохраняемые при перезагрузке
+ Журналы: каждый журнал открывается один раз и используется всеми службами, которые в него пишут, остаётся открытым при перезагрузке, пока используется, и закрывается, когда больше не нужен; -l принимает те же аргументы, что и log; каждый журнал пишется отдельным потоком из очереди, так что клиент никогда не ждёт медленного журнала (ODBC, RADIUS, заполненный диск); запись, заставшая очередь заполненной, отбрасывается, об отброшенных записях и сбоях журнала сообщается
+ minlogqueue / maxlogqueue: сколько записей очередь журнала держит наготове и сколько вмещает самое большее (по умолчанию 64 и 4096)
+ Журнал ODBC: журнал называется только источником данных, имя пользователя и пароль — его параметры и никогда не выводятся в сообщениях; журнал с тем же источником данных и другими учётными данными переподключается с ними
+ threadpool <max_idle> [<idle_seconds>]: поток, соединение которого закончилось, вместо завершения ждёт следующего соединения любой службы, сохраняя свою память; по умолчанию до 32 потоков на каждую работающую службу; пул показывается на странице служб admin
+ defaultresolve / sysresolve / fakeresolve действуют на службы, запущенные после них: defaultresolve (по умолчанию) использует действующие серверы имён, sysresolve — системные функции (библиотеку C), как раньше без nserver
+ timeouts, filtermaxsize, parentretries, delimchar и maxseg действуют на службы, запущенные после них, так что у служб могут быть свои значения
+ ssl_ktls / ssl_noktls: TLS в ядре (Linux, FreeBSD) с OpenSSL 3.0 и новее, собранным с поддержкой TLS в ядре; splice() работает поверх TLS в ядре
+ -s:MIN,STREAK,SMALL настраивает, когда автоматический режим splice() включает splice() для направления и когда возвращается к копированию
+ filtermaxsize 0 снимает ограничение
+ Службы UDP (udppm, dnspr) работают каждая в одном потоке, без потока на клиента, в Linux через epoll; dnspr ждёт ответа серверов имён, не занимая поток
+ Буферы соединения выделяются вместе со структурой соединения; вместе с пулом потоков — меньше выделений памяти на соединение
+ Значения по умолчанию при сборке: -DLOGQUEUEMIN, -DLOGQUEUEMAX, -DDEFAULT_POOLMAX, -DPOOLPERSERVICE, -DDEFAULT_POOLTIMEOUT, -DDEFAULT_MAXCHILD
- Автоматический режим splice() включён по умолчанию в Linux (-s0 выключает его); служба с фильтрами данных, а также начинающая или завершающая TLS без TLS в ядре в обе стороны, splice() не использует
- -ni / -ne (сетевые пространства имён Linux): потоки остаются в пространстве имён, в котором запущен 3proxy, и входят в заданное только для создания сокета; -ni относится и к сокету, через который SOCKS UDP ASSOCIATE общается с клиентом, -ne — к SOCKS BIND, сокетам UDP в сторону назначения и сокетам обратного соединения; разрешение имён, журналы и RADIUS остаются в исходном пространстве имён; путь открывается при чтении строки службы, и путь, не являющийся сетевым пространством имён, не даёт службе запуститься
- Без nserver имена разрешаются собственным резолвером 3proxy с системными серверами имён (до 3 из /etc/resolv.conf, в Windows из реестра), имена из файла hosts отвечаются в первую очередь, вместо библиотеки C; оба проверяются на изменения каждые 5 секунд, nsrecord имеет приоритет над файлом hosts, и dnspr передаёт запросы этим серверам; библиотека C используется, если сервер имён не найден, или с sysresolve
- Набор номера по требованию (dial on demand) удалён: команда dialer принимается и игнорируется