Перейти к содержанию

shadowsocks-rust v1.25.0: рефакторинг исходящих прокси, новый MSRV и изменения UDP

8.0/10

Вышел shadowsocks-rust v1.25.0 — стабильный релиз с ломающими изменениями. Архитектура исходящих прокси переработана в единый модуль net::outbound: вместо crate::net::outbound_proxy и ServiceContext::outbound_proxies() теперь используются OutboundProxyClient и outbound_client(). Минимальная версия Rust повышена до 1.91. Параметр UDP-фрагментации разделён: добавлен inbound_udp_allow_fragmentation, по умолчанию отключающий фрагментацию на входящих (listener) сокетах, тогда как outbound_udp_allow_fragmentation теперь управляет только исходящими сокетами. В релиз также вошли поддержка EIH, возможность цепочки ssserver к SOCKS5/HTTP/HTTPS-прокси, HTTP Basic auth в local-http и исправления уязвимостей из бюллетеней RUSTSEC.

Влияние

Для интеграторов crate это ломающий релиз: удалены crate::net::outbound_proxy, прежний crate::net::Socks5TcpClient и crate::local::net::tcp::outbound_proxy; код нужно переводить на OutboundProxyClient, OutboundProxyStream, Socks5Auth, HttpProxyAuth и трейт TcpDialer. HttpConnectClient перемещён в crate::net::HttpConnectClient и доступен только с feature local-http. Изменена сигнатура create_inbound_udp_socket — добавлен параметр allow_fragmentation. Операторам нужно учитывать, что входящие UDP-сокеты по умолчанию запрещают IP-фрагментацию, а ретрансляция UDP через цепочку работает только если все хопы — SOCKS5; при наличии HTTP/HTTPS-хопов UDP будет обходить цепочку с предупреждением при запуске. Для сборки требуется Rust 1.91 или новее; релиз также закрывает перечисленные RUSTSEC-2026-0258, RUSTSEC-2026-0204, RUSTSEC-2026-0185, RUSTSEC-2026-0119, RUSTSEC-2026-0104 и RUSTSEC-2026-0099.

Что отслеживать дальше

Стоит следить за последующими патч-релизами и сообщениями о совместимости EIH с другими реализациями Shadowsocks, а также за практическим поведением UDP-фрагментации на входящих сокетах в реальных сетях.

Покрытие источниками

Проверяются выбранные ключевые утверждения, а не истинность всей статьи целиком.

  1. Значение зафиксировано прямым источником

    shadowsocks-rust v1.25.0: рефакторинг исходящих прокси, новый MSRV и изменения UDP

    • github.com · подтверждает · первоисточник
  2. Значение зафиксировано прямым источником

    Минимальная версия Rust повышена до 1.91.

    • github.com · подтверждает · первоисточник
    • github.com · подтверждает · первоисточник