diff --git a/docs/ru/config/routing.md b/docs/ru/config/routing.md index 00cbd459..f179c800 100644 --- a/docs/ru/config/routing.md +++ b/docs/ru/config/routing.md @@ -63,6 +63,7 @@ "inboundTag": ["tag-vmess"], "protocol": ["http", "tls", "quic", "bittorrent"], "attrs": { ":method": "GET" }, + "process": ["curl"], "outboundTag": "direct", "balancerTag": "balancer", "ruleTag": "rule name" @@ -186,6 +187,25 @@ JSON-объект, где ключи и значения являются стр - Проверка HTTP Path: `{":path": "/test"}` - Проверка Content Type: `{"accept": "text/html"}` +> `process`: \[string\] + +Если соединение поступает с локальной машины, выполняется сопоставление по процессу. Если соединение не с локальной машины, сопоставление сразу считается неуспешным. Поддерживаются только Windows и Linux. + +Эта опция представляет собой массив, где каждый элемент имеет три режима сопоставления: + +1. Не содержит слешей: сопоставление по имени процесса. +2. Содержит слеш, но не заканчивается слешем: сопоставление по абсолютному пути. +3. Содержит слеш и заканчивается слешем: сопоставляется папка; все процессы в этой папке считаются совпавшими. + +Примечание: +- Все опции чувствительны к регистру. +- В Windows для обозначения путей используется обратный слеш `\`, но здесь унифицировано требование использовать прямой слеш `/`, например: `C:/Windows/System32/curl.exe`. Это связано с тем, что обратный слеш в JSON воспринимается как символ экранирования, что неудобно (если только вы не решите писать обратные слеши дважды — в таком случае они тоже будут распознаны корректно). +- При сопоставлении по имени процесса ядро автоматически удаляет суффикс `.exe`, поэтому `["curl"]` сработает для curl как в Linux, так и в Windows. Однако при использовании абсолютного пути суффикс `.exe` опускать нельзя. + +Специальный синтаксический сахар: +- `self/` используется для сопоставления с текущим процессом ядра, что очень полезно для предотвращения петель маршрутизации (routing loops). +- `xray/` будет заменено на абсолютный путь, где находится текущее ядро; это обеспечит совпадение со всеми процессами Xray, запущенными из этого бинарного файла. + > `outboundTag`: string Соответствует тегу исходящего канала.