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

ShadowQUIC

proxies:
- name: shadowquic
  server: www.example.com
  port: 10443
  type: shadowquic
  username: username
  password: password
  # sni: example.com
  # alpn: [h3]
  # quic-versions: [v1] # поддерживает v1/v2, по умолчанию v1
  # udp-over-stream: false # UDP over stream, по умолчанию false
  # zero-rtt: false
  # keep-alive-interval: 10000
  # congestion-controller: cubic
  # up: 100 Mbps
  # down: 100 Mbps
  # cwnd: 32
  # bbr-profile: "standard"
  # max-datagram-frame-size: 1400
  # max-open-streams: 1024
  # recv-window-conn: 0
  # recv-window: 0
  # disable-mtu-discovery: false

Общие поля

Поля TLS

Tip

ShadowQUIC всегда включает JLS; отдельно настраивать jls-opts не требуется.

username

Обязательно, имя пользователя для аутентификации ShadowQUIC.

password

Обязательно, пароль для аутентификации ShadowQUIC.

sni

Необязательно, SNI для TLS-рукопожатия ShadowQUIC.

alpn

Необязательно, список согласования протоколов прикладного уровня. По умолчанию используется h3.

quic-versions

Необязательно, устанавливает поддерживаемые версии QUIC. Доступные значения: v1/v2. По умолчанию v1.

udp-over-stream

Необязательно, устанавливает, следует ли передавать UDP через поток (UDP over stream). По умолчанию false.

zero-rtt

Необязательно, устанавливает, следует ли включить рукопожатие QUIC 0-RTT (Zero Round Trip Time).

Warning

Путь 0-RTT официального сервера может считывать состояние пользователя до завершения аутентификации JLS (подтверждено влияние на v0.3.11); если вы столкнулись с отсутствием подключения или разрывами связи при использовании официального сервера, пожалуйста, отключите zero-rtt на стороне сервера.

keep-alive-interval

Необязательно, интервал времени между отправками пакетов проверки активности (heartbeat) для поддержания соединения, в миллисекундах.

congestion-controller

Необязательно, устанавливает алгоритм управления перегрузкой. Доступные значения: cubic/new_reno/bbr. По умолчанию cubic.

up

Необязательно, задаёт скорость отправки клиента и включает согласование Brutal через частное расширение mihomo. Если расширение не поддерживается, используется congestion-controller.

down

Необязательно, задаёт запрашиваемую клиентом скорость скачивания, ограниченную значением up Listener, и включает согласование Brutal через частное расширение mihomo. Если расширение не поддерживается, используется congestion-controller.

cwnd

Необязательно, устанавливает начальный размер окна перегрузки (Initial Congestion Window size). По умолчанию 32.

bbr-profile

Необязательно, устанавливает степень агрессивности алгоритма BBR. Доступные значения: standard/conservative/aggressive. Работает только в том случае, если для congestion-controller установлено значение bbr.

max-datagram-frame-size

Необязательно, устанавливает максимальный допустимый размер кадра датаграммы в байтах. По умолчанию 1400.

max-open-streams

Необязательно, устанавливает максимальное количество одновременно открытых параллельных потоков. По умолчанию 1024.

recv-window-conn

Необязательно, устанавливает размер окна приёма для отдельного потока. Если установлено значение 0, используется внутреннее значение по умолчанию.

recv-window

Необязательно, устанавливает размер окна приёма на уровне соединения. Если установлено значение 0, используется внутреннее значение по умолчанию.

disable-mtu-discovery

Необязательно, устанавливает, следует ли отключить обнаружение пути MTU (Path MTU Discovery). Если установлено значение true, будет использоваться фиксированный размер MTU.