Update routing.md

pull/619/head
An0nX 2024-12-13 22:08:04 +03:00 committed by GitHub
parent a6af837cb5
commit 40d4d7918e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 51 additions and 39 deletions

View File

@ -1,4 +1,4 @@
# Маршрутизация ### Маршрутизация
Модуль маршрутизации может отправлять входящие данные через разные исходящие соединения в соответствии с разными правилами для достижения цели проксирования по требованию. Модуль маршрутизации может отправлять входящие данные через разные исходящие соединения в соответствии с разными правилами для достижения цели проксирования по требованию.
@ -27,8 +27,8 @@
- `"AsIs"`: для выбора маршрута используются только доменные имена. Значение по умолчанию. - `"AsIs"`: для выбора маршрута используются только доменные имена. Значение по умолчанию.
- `"IPIfNonMatch"`: если доменное имя не соответствует ни одному правилу, доменное имя разрешается в IP-адрес (запись A или запись AAAA) для повторного сопоставления; - `"IPIfNonMatch"`: если доменное имя не соответствует ни одному правилу, доменное имя разрешается в IP-адрес (запись A или запись AAAA) для повторного сопоставления;
- Если у доменного имени несколько записей A, предпринимается попытка сопоставить все записи A, пока одна из них не будет соответствовать какому-либо правилу; - Если у доменного имени несколько записей A, предпринимается попытка сопоставить все записи A, пока одна из них не будет соответствовать какому-либо правилу;
- Разрешенный IP-адрес используется только при выборе маршрута, в пересылаемых пакетах данных по-прежнему используется исходное доменное имя; - Разрешенный IP-адрес используется только при выборе маршрута, в пересылаемых пакетах данных по-прежнему используется исходное доменное имя;
- `"IPOnDemand"`: если при сопоставлении встречается любое правило на основе IP-адреса, доменное имя немедленно разрешается в IP-адрес для сопоставления; - `"IPOnDemand"`: если при сопоставлении встречается любое правило на основе IP-адреса, доменное имя немедленно разрешается в IP-адрес для сопоставления;
> `domainMatcher`: "hybrid" | "linear" > `domainMatcher`: "hybrid" | "linear"
@ -117,8 +117,8 @@
- IP-адрес: например, `"127.0.0.1"`. - IP-адрес: например, `"127.0.0.1"`.
- [CIDR](https://ru.wikipedia.org/wiki/Бесклассовая_междоменная_маршрутизация): например, `"10.0.0.0/8"`, также можно использовать `"0.0.0.0/0"` `"::/0"` для указания всех IPv4- или IPv6-адресов. - [CIDR](https://ru.wikipedia.org/wiki/Бесклассовая_междоменная_маршрутизация): например, `"10.0.0.0/8"`, также можно использовать `"0.0.0.0/0"` `"::/0"` для указания всех IPv4- или IPv6-адресов.
- Предопределенный список IP-адресов: этот список встроен в каждый установочный пакет Xray, имя файла - `geoip.dat`. Формат использования: `"geoip:код_страны"`, должно начинаться с `geoip:` (в нижнем регистре), за которым следует двухбуквенный код страны, поддерживаются почти все страны с доступом в Интернет. - Предопределенный список IP-адресов: этот список встроен в каждый установочный пакет Xray, имя файла - `geoip.dat`. Формат использования: `"geoip:код_страны"`, должно начинаться с `geoip:` (в нижнем регистре), за которым следует двухбуквенный код страны, поддерживаются почти все страны с доступом в Интернет.
- Специальное значение: `"geoip:private"`, включает в себя все частные адреса, например, `127.0.0.1`. - Специальное значение: `"geoip:private"`, включает в себя все частные адреса, например, `127.0.0.1`.
- Функция инверсии (!), `"geoip:!cn"` означает результаты, не входящие в `geoip:cn`. - Функция инверсии (!), `"geoip:!cn"` означает результаты, не входящие в `geoip:cn`.
- Загрузка IP-адресов из файла: имеет вид `"ext:файл:тег"`, должно начинаться с `ext:` (в нижнем регистре), за которым следует имя файла и тег, файл хранится в [каталоге ресурсов](./features/env.md#путь-к-файлу-ресурсов), формат файла такой же, как у `geoip.dat`, тег должен существовать в файле. - Загрузка IP-адресов из файла: имеет вид `"ext:файл:тег"`, должно начинаться с `ext:` (в нижнем регистре), за которым следует имя файла и тег, файл хранится в [каталоге ресурсов](./features/env.md#путь-к-файлу-ресурсов), формат файла такой же, как у `geoip.dat`, тег должен существовать в файле.
> `port`: number | string > `port`: number | string
@ -229,12 +229,14 @@
> `strategy`: [StrategyObject](#strategyobject) > `strategy`: [StrategyObject](#strategyobject)
#### StrategyObject #### StrategyObject
```json ```json
{ {
"type": "roundRobin", "type": "roundRobin",
"settings": {} "settings": {}
} }
``` ```
> `type` : "random" | "roundRobin" | "leastPing" | "leastLoad" > `type` : "random" | "roundRobin" | "leastPing" | "leastLoad"
- `random`: значение по умолчанию. Случайным образом выбирает соответствующий исходящий прокси. - `random`: значение по умолчанию. Случайным образом выбирает соответствующий исходящий прокси.
@ -245,47 +247,58 @@
> `settings`: [StrategySettingsObject](#strategysettingsobject) > `settings`: [StrategySettingsObject](#strategysettingsobject)
##### StrategySettingsObject ##### StrategySettingsObject
Это необязательный параметр конфигурации, формат которого различается для разных стратегий балансировки нагрузки. В настоящее время этот параметр конфигурации можно добавить только для стратегии балансировки нагрузки `leastLoad`. Это необязательный параметр конфигурации, формат которого различается для разных стратегий балансировки нагрузки. В настоящее время этот параметр конфигурации можно добавить только для стратегии балансировки нагрузки `leastLoad`.
### Примеры конфигурации балансировки нагрузки ### Примеры конфигурации балансировки нагрузки
```json ```json
"routing": { {
"rules": [ "routing": {
{ "rules": [
"inboundTag": [ {
"in" "inboundTag": [
], "in"
"balancerTag": "round"
}
], ],
"balancers" : [ "balancerTag": "round"
{ }
"selector": [ ],
"out" "balancers" : [
], {
"strategy": { "selector": [
"type":"roundRobin" "out"
}, ],
"tag": "round" "strategy": {
} "type":"roundRobin"
]
}
"inbounds": [
{
"tag": "in"
}
]
"outbounds": [
{
"tag": "out1"
}, },
{ "tag": "round"
"tag": "out2" }
}
] ]
}
}
```
```json
{
"inbounds": [
{
"tag": "in"
}
]
}
```
```json
{
"outbounds": [
{
"tag": "out1"
},
{
"tag": "out2"
}
]
}
``` ```
### Предопределенные списки доменов ### Предопределенные списки доменов
@ -309,4 +322,3 @@
- `tld-!cn`: содержит домены верхнего уровня, не используемые в материковом Китае, например, доменные имена, оканчивающиеся на `.tw` (Тайвань), `.jp` (Япония), `.sg` (Сингапур), `.us` (США), `.ca` (Канада) и т.д. - `tld-!cn`: содержит домены верхнего уровня, не используемые в материковом Китае, например, доменные имена, оканчивающиеся на `.tw` (Тайвань), `.jp` (Япония), `.sg` (Сингапур), `.us` (США), `.ca` (Канада) и т.д.
Вы также можете просмотреть полный список доменов здесь: [Domain list community](https://github.com/v2fly/domain-list-community). Вы также можете просмотреть полный список доменов здесь: [Domain list community](https://github.com/v2fly/domain-list-community).