From 435e1cbcd52d9d414e23c85ca76fda072ae23e3a Mon Sep 17 00:00:00 2001 From: Nikita Korotaev <104270279+iambabyninja@users.noreply.github.com> Date: Sat, 1 Feb 2025 21:15:53 +0500 Subject: [PATCH] RU Routing: Add QUIC protocol sniff and more desc --- docs/ru/config/routing.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/ru/config/routing.md b/docs/ru/config/routing.md index d08cbce..09dcf15 100644 --- a/docs/ru/config/routing.md +++ b/docs/ru/config/routing.md @@ -68,7 +68,7 @@ "source": ["10.0.0.1"], "user": ["love@xray.com"], "inboundTag": ["tag-vmess"], - "protocol": ["http", "tls", "bittorrent"], + "protocol": ["http", "tls", "quic", "bittorrent"], "attrs": { ":method": "GET" }, "outboundTag": "direct", "balancerTag": "balancer", @@ -159,9 +159,13 @@ Массив, каждый элемент которого является тегом. Правило вступает в силу, если какой-либо элемент соответствует тегу входящего протокола. -> `protocol`: \[ "http" | "tls" | "bittorrent" \] +> `protocol`: \[ "http" | "tls" | "quic" | "bittorrent" \] Массив, каждый элемент которого представляет собой протокол. Правило вступает в силу, если какой-либо протокол соответствует типу протокола текущего соединения. +`http` поддерживает только 1.0 и 1.1, h2 пока не поддерживается. (Трафик h2 в открытом виде также встречается очень редко) +`tls` TLS 1.0 ~ 1.3 +`quic` из-за сложности этого протокола, перехват может иногда не срабатывать. +`bittorrent` только самый базовый перехват, может не сработать для многих шифрований и обфускаций. ::: tip Необходимо включить опцию `sniffing` во входящем прокси, чтобы определить тип протокола, используемого соединением. @@ -169,7 +173,7 @@ > `attrs`: object -Объект json, ключи и значения которого являются строками, используется для проверки значений атрибутов трафика. Правило вступает в силу, если HTTP-заголовки содержат все указанные ключи, а значения содержат указанные подстроки. Регистр ключей не учитывается. Значения поддерживают использование регулярных выражений. +JSON-объект, где ключи и значения являются строками. Используется для проверки значений атрибутов HTTP-трафика (по очевидным причинам, поддерживаются только 1.0 и 1.1). Правило срабатывает, если HTTP-заголовки содержат все указанные ключи, и значения содержат указанную подстроку. Ключи не чувствительны к регистру. Значения поддерживают использование регулярных выражений. Также поддерживаются псевдозаголовки h2, такие как `:method` и `:path`, для сопоставления метода и пути (хотя в HTTP/1.1 эти заголовки отсутствуют)