Об HTTP/3
HTTP/3 на основе QUIC всё больше поддерживается множеством сайтов и крупных CDN. Однако, несмотря на то что сам Hysteria основан на QUIC, мы не рекомендуем использовать Hysteria для проксирования HTTP/3-трафика (когда есть возможность использовать HTTP/2 или ниже).
Почему
Hysteria разработан для передачи TCP-трафика через QUIC, используя модифицированный алгоритм управления перегрузкой для максимизации пропускной способности, а не минимизации потери пакетов. Хотя Hysteria поддерживает UDP, он не уменьшает потерю пакетов самого UDP. Проще говоря, вы не получите никакого эффекта «ускорения» при использовании Hysteria для проксирования протоколов на основе UDP, таких как HTTP/3. Скорость соединения в этом сценарии зависит исключительно от алгоритмов управления перегрузкой веб-сервера и собственной реализации QUIC браузера (обычно Cubic, Reno или BBR).
Та же дилемма применима практически к любому другому прокси-протоколу и не является проблемой проектирования или реализации, специфичной для Hysteria.
Кроме того, QUIC шифрует всю управляющую информацию передачи, такую как порядковые номера, подтверждения и т.д., которые традиционно передавались в открытом виде. Это шифрование делает невозможной реализацию чего-то концептуально похожего на прозрачный TCP-прокси для замены исходного управления перегрузкой на любом конце соединения.
Решение
В настоящее время все сайты и приложения используют QUIC только как опцию «обновления». Если сеть его не поддерживает (например, UDP заблокирован), происходит откат к HTTP/2 или ниже (использующему TCP).
Если вы используете Chrome или Firefox с HTTP/SOCKS5-прокси на ПК, браузер фактически самостоятельно отключил HTTP/3, поскольку HTTP-прокси не может поддерживать перенаправление UDP. Что касается SOCKS5, хотя он теоретически поддерживает UDP, это не реализовано в Chrome и Firefox.
Если вы используете VPN-клиент, такой как Shadowrocket, SagerNet на телефоне (или TUN на ПК), рекомендуется вручную отключить HTTP/3 одним из следующих методов.
- Chrome: Перейдите в
chrome://flags/, найдитеExperimental QUIC protocolи переключите вDisabled. - Firefox: Перейдите в
about:config, найдитеnetwork.http.http3.enableи переключите вfalse. - Заблокируйте UDP-порт 443 правилом ACL.
reject(all, udp/443)