update routing.md

pull/581/head
iambabyninja 2024-09-27 22:39:43 +05:00
parent 4520035d54
commit d38231b5fa
1 changed files with 90 additions and 139 deletions

View File

@ -1,15 +1,14 @@
# Маршрутизация # Маршрутизация
Модуль маршрутизации позволяет направлять входящие данные через разные исходящие подключения в соответствии с различными правилами, что позволяет реализовать проксирование по требованию. Модуль маршрутизации может отправлять входящие данные через разные исходящие соединения в соответствии с разными правилами для достижения цели проксирования по требованию.
Например, распространенным сценарием использования является разделение трафика на внутренний и внешний. Например, распространенным сценарием использования является разделение внутреннего и внешнего трафика. Xray может использовать внутренние механизмы для определения трафика из разных регионов, а затем отправлять его на разные исходящие прокси.
Xray может определять трафик из разных регионов с помощью внутренних механизмов и отправлять его через разные исходящие подключения.
Более подробное описание функции маршрутизации: [Введение в маршрутизацию (routing)](../document/level-1/routing-lv1-part1.md). Более подробный анализ функции маршрутизации: [Краткий анализ функции маршрутизации (routing)](../document/level-1/routing-lv1-part1.md).
## RoutingObject ## RoutingObject
`RoutingObject` соответствует полю `routing` в конфигурационном файле. `RoutingObject` соответствует элементу `routing` в файле конфигурации.
```json ```json
{ {
@ -24,40 +23,36 @@ Xray может определять трафик из разных регион
> `domainStrategy`: "AsIs" | "IPIfNonMatch" | "IPOnDemand" > `domainStrategy`: "AsIs" | "IPIfNonMatch" | "IPOnDemand"
Стратегия разрешения доменных имен. Стратегия разрешения доменных имен. Используются разные стратегии в зависимости от настройки.
- `"AsIs"`: использовать только доменные имена для выбора маршрута. - `"AsIs"`: для выбора маршрута используются только доменные имена. Значение по умолчанию.
Значение по умолчанию. - `"IPIfNonMatch"`: если доменное имя не соответствует ни одному правилу, доменное имя разрешается в IP-адрес (запись A или запись AAAA) для повторного сопоставления;
- `"IPIfNonMatch"`: если доменное имя не соответствует ни одному правилу, разрешить доменное имя в IP-адрес (запись A или AAAA) и снова выполнить сопоставление. - Если у доменного имени несколько записей A, предпринимается попытка сопоставить все записи A, пока одна из них не будет соответствовать какому-либо правилу;
- Если у домена есть несколько записей A, Xray попытается сопоставить все записи A, пока одна из них не совпадет с каким-либо правилом. - Разрешенный IP-адрес используется только при выборе маршрута, в пересылаемых пакетах данных по-прежнему используется исходное доменное имя;
- Разрешенный IP-адрес используется только для выбора маршрута, в пересылаемых пакетах данных по-прежнему используется исходное доменное имя. - `"IPOnDemand"`: если при сопоставлении встречается любое правило на основе IP-адреса, доменное имя немедленно разрешается в IP-адрес для сопоставления;
- `"IPOnDemand"`: при сопоставлении с любым правилом, основанным на IP-адресе, доменное имя немедленно разрешается в IP-адрес для сопоставления.
> `domainMatcher`: "hybrid" | "linear" > `domainMatcher`: "hybrid" | "linear"
Алгоритм сопоставления доменных имен. Алгоритм сопоставления доменных имен. Используются разные алгоритмы в зависимости от настройки. Этот параметр влияет на все `RuleObject`, для которых не указан отдельный алгоритм сопоставления.
Этот параметр влияет на все `RuleObject`, для которых не указан алгоритм сопоставления.
- `"hybrid"`: использовать новый алгоритм сопоставления доменных имен, который работает быстрее и занимает меньше памяти. - `"hybrid"`: используется новый алгоритм сопоставления доменных имен, который работает быстрее и занимает меньше места. Значение по умолчанию.
Значение по умолчанию. - `"linear"`: используется старый алгоритм сопоставления доменных имен.
- `"linear"`: использовать старый алгоритм сопоставления доменных имен.
> `rules`: \[[RuleObject](#ruleobject)\] > `rules`: \[[RuleObject](#ruleobject)\]
Массив, каждый элемент которого представляет собой правило. Соответствует массиву, каждый элемент которого является правилом.
Для каждого соединения маршрутизатор проверяет правила сверху вниз. Для каждого соединения маршрутизация будет выполняться в соответствии с этими правилами сверху вниз. Когда встречается первое действующее правило, это соединение перенаправляется на указанный им `outboundTag` или `balancerTag`.
Когда встречается первое подходящее правило, соединение перенаправляется на исходящее подключение, указанное в его `outboundTag` или `balancerTag`.
::: tip ::: tip
Если ни одно правило не подходит, трафик отправляется через первое исходящее подключение по умолчанию. Если ни одно правило не совпадает, трафик по умолчанию отправляется через первый исходящий канал.
::: :::
> `balancers`: \[ [BalancerObject](#balancerobject) \] > `balancers`: \[ [BalancerObject](#balancerobject) \]
Массив, каждый элемент которого представляет собой конфигурацию балансировщика нагрузки. Массив, каждый элемент которого является конфигурацией балансировщика нагрузки.
Если правило указывает на балансировщик нагрузки, Xray выбирает исходящее подключение через этот балансировщик нагрузки и перенаправляет трафик через него. Когда правило указывает на балансировщик нагрузки, Xray выбирает исходящий канал через этот балансировщик нагрузки, а затем перенаправляет трафик через него.
### RuleObject ### RuleObject
@ -76,162 +71,133 @@ Xray может определять трафик из разных регион
"protocol": ["http", "tls", "bittorrent"], "protocol": ["http", "tls", "bittorrent"],
"attrs": { ":method": "GET" }, "attrs": { ":method": "GET" },
"outboundTag": "direct", "outboundTag": "direct",
"balancerTag": "balancer" "balancerTag": "balancer",
"ruleTag": "rule name"
} }
``` ```
::: danger ::: danger
Если указано несколько атрибутов, правило применяется только в том случае, если **все** атрибуты совпадают. Если указано несколько атрибутов, они должны выполняться **одновременно**, чтобы текущее правило вступило в силу.
::: :::
> `domainMatcher`: "hybrid" | "linear" > `domainMatcher`: "hybrid" | "linear"
Алгоритм сопоставления доменных имен. Алгоритм сопоставления доменных имен. Используются разные алгоритмы в зависимости от настройки. Этот параметр имеет приоритет над `domainMatcher`, настроенным в `RoutingObject`.
Этот параметр имеет приоритет над параметром `domainMatcher` в `RoutingObject`.
- `"hybrid"`: использовать новый алгоритм сопоставления доменных имен, который работает быстрее и занимает меньше памяти. - `"hybrid"`: используется новый алгоритм сопоставления доменных имен, который работает быстрее и занимает меньше места. Значение по умолчанию.
Значение по умолчанию. - `"linear"`: используется старый алгоритм сопоставления доменных имен.
- `"linear"`: использовать старый алгоритм сопоставления доменных имен.
> `type`: "field" > `type`: "field"
В настоящее время поддерживается только значение `"field"`. В настоящее время поддерживается только опция `"field"`.
::: tip ::: tip
В Xray-core v1.8.7 и более поздних версиях эту строку можно опустить. Можно опустить эту строку в Xray-core v1.8.7 или более поздней версии.
::: :::
> `domain`: \[string\] > `domain`: \[string\]
Массив, каждый элемент которого представляет собой шаблон доменного имени. Массив, каждый элемент которого представляет собой сопоставление доменного имени. Возможны следующие форматы:
Доступны следующие форматы:
- Простая строка: правило применяется, если эта строка соответствует любой части целевого доменного имени. - Простая строка: правило вступает в силу, если эта строка соответствует любой части целевого доменного имени. Например, "sina.com" может соответствовать "sina.com", "sina.com.cn" и "www.sina.com", но не соответствует "sina.cn".
Например, "sina.com" соответствует "sina.com", "sina.com.cn" и "www.sina.com", но не соответствует "sina.cn". - Регулярное выражение: начинается с `"regexp:"`, остальная часть является регулярным выражением. Правило вступает в силу, если это регулярное выражение соответствует целевому доменному имени. Например, `"regexp:\\\\.goo.\*\\\\.com\$"` соответствует "www.google.com" или "fonts.googleapis.com", но не соответствует "google.com". (Обратите внимание, что в json обратная косая черта, часто используемая в регулярных выражениях, используется как escape-символ, поэтому обратная косая черта `\` в регулярном выражении должна быть заменена на `\\`)
- Регулярное выражение: начинается с `"regexp:"`, а остальная часть - это регулярное выражение. - Поддомен (рекомендуется): начинается с `"domain:"`, остальная часть является доменным именем. Правило вступает в силу, если это доменное имя является целевым доменным именем или его поддоменом. Например, "domain:xray.com" соответствует "www.xray.com", "xray.com", но не соответствует "wxray.com".
Правило применяется, если это регулярное выражение соответствует целевому доменному имени. - Полное совпадение: начинается с `"full:"`, остальная часть является доменным именем. Правило вступает в силу, если это доменное имя полностью соответствует целевому доменному имени. Например, "full:xray.com" соответствует "xray.com", но не соответствует "www.xray.com".
Например, "regexp:\\\\.goo.\*\\\\.com\$" соответствует "www.google.com" или "fonts.googleapis.com", но не соответствует "google.com". - Предопределенный список доменов: начинается с `"geosite:"`, остальная часть является именем, например, `geosite:google` или `geosite:cn`. Имена и списки доменов см. в разделе [Предопределенные списки доменов](#предопределенные-списки-доменов).
- Поддомен (рекомендуется): начинается с `"domain:"`, а остальная часть - это доменное имя. - Загрузка доменных имен из файла: имеет вид `"ext:файл:тег"`, должно начинаться с `ext:` (в нижнем регистре), за которым следует имя файла и тег, файл хранится в [каталоге ресурсов](./features/env.md#путь-к-файлу-ресурсов), формат файла такой же, как у `geosite.dat`, тег должен существовать в файле.
Правило применяется, если это доменное имя является целевым доменным именем или его поддоменом.
Например, "domain:xray.com" соответствует "www.xray.com" и "xray.com", но не соответствует "wxray.com".
- Полное совпадение: начинается с `"full:"`, а остальная часть - это доменное имя.
Правило применяется, если это доменное имя полностью совпадает с целевым доменным именем.
Например, "full:xray.com" соответствует "xray.com", но не соответствует "www.xray.com".
- Предопределенный список доменов: начинается с `"geosite:"`, а остальная часть - это имя, например `geosite:google` или `geosite:cn`.
Список имен и доменов см. в разделе [Предопределенные списки доменов](#предопределенные-списки-доменов).
- Загрузка доменов из файла: имеет вид `"ext:file:tag"`, где `ext:` (в нижнем регистре) - префикс, за которым следует имя файла и тег.
Файл должен находиться в [каталоге ресурсов](./features/env.md#пути-к-файлам-ресурсов).
Формат файла такой же, как у `geosite.dat`.
Тег должен присутствовать в файле.
::: tip ::: tip
`"ext:geoip.dat:cn"` эквивалентно `"geoip:cn"`. `"ext:geoip.dat:cn"` эквивалентно `"geoip:cn"`
::: :::
> `ip`: \[string\] > `ip`: \[string\]
Массив, каждый элемент которого представляет собой диапазон IP-адресов. Массив, каждый элемент которого представляет собой диапазон IP-адресов. Правило вступает в силу, если какой-либо элемент соответствует целевому IP-адресу. Возможны следующие форматы:
Правило применяется, если один из элементов соответствует целевому IP-адресу.
Доступны следующие форматы:
- IP-адрес: например, `"127.0.0.1"`. - IP-адрес: например, `"127.0.0.1"`.
- [CIDR](https://ru.wikipedia.org/wiki/Бесклассовая_адресация): например, `"10.0.0.0/8"`. - [CIDR](https://ru.wikipedia.org/wiki/Бесклассовая_междоменная_маршрутизация): например, `"10.0.0.0/8"`, также можно использовать `"0.0.0.0/0"` `"::/0"` для указания всех IPv4- или IPv6-адресов.
- Предопределенный список IP-адресов: этот список включен в каждый установочный пакет Xray и называется `geoip.dat`. - Предопределенный список IP-адресов: этот список встроен в каждый установочный пакет Xray, имя файла - `geoip.dat`. Формат использования: `"geoip:код_страны"`, должно начинаться с `geoip:` (в нижнем регистре), за которым следует двухбуквенный код страны, поддерживаются почти все страны с доступом в Интернет.
Используйте формат `"geoip:cn"`, где `geoip:` (в нижнем регистре) - префикс, за которым следует двухбуквенный код страны. - Специальное значение: `"geoip:private"`, включает в себя все частные адреса, например, `127.0.0.1`.
Поддерживаются практически все страны с доступом в Интернет. - Функция инверсии (!), `"geoip:!cn"` означает результаты, не входящие в `geoip:cn`.
- Специальное значение: `"geoip:private"`, включает все частные IP-адреса, например `127.0.0.1`. - Загрузка IP-адресов из файла: имеет вид `"ext:файл:тег"`, должно начинаться с `ext:` (в нижнем регистре), за которым следует имя файла и тег, файл хранится в [каталоге ресурсов](./features/env.md#путь-к-файлу-ресурсов), формат файла такой же, как у `geoip.dat`, тег должен существовать в файле.
- Инверсия (!): `"geoip:!cn"` означает все IP-адреса, кроме тех, что указаны в `geoip:cn`.
- Загрузка IP-адресов из файла: имеет вид `"ext:file:tag"`, где `ext:` (в нижнем регистре) - префикс, за которым следует имя файла и тег.
Файл должен находиться в [каталоге ресурсов](./features/env.md#пути-к-файлам-ресурсов).
Формат файла такой же, как у `geoip.dat`.
Тег должен присутствовать в файле.
> `port`: number | string > `port`: number | string
Диапазон портов назначения. Диапазон портов назначения, возможны три формата:
Доступны следующие форматы:
- `"a-b"`: `a` и `b` - положительные целые числа, меньшие 65536. - `"a-b"`: a и b являются положительными целыми числами, меньшими 65536. Этот диапазон является замкнутым интервалом, правило вступает в силу, если порт назначения попадает в этот диапазон.
Диапазон является замкнутым, правило применяется, если целевой порт находится в этом диапазоне. - `a`: a является положительным целым числом, меньшим 65536. Правило вступает в силу, если порт назначения равен a.
- `a`: `a` - положительное целое число, меньшее 65536. - Смесь двух вышеуказанных форматов, разделенных запятой ",". Например: `"53,443,1000-2000"`.
Правило применяется, если целевой порт равен `a`.
- Комбинация двух вышеуказанных форматов, разделенных запятыми ",".
Например: `"53,443,1000-2000"`.
> `sourcePort`: number | string > `sourcePort`: number | string
Порт источника. Порт источника, возможны три формата:
Доступны следующие форматы:
- `"a-b"`: `a` и `b` - положительные целые числа, меньшие 65536. - `"a-b"`: a и b являются положительными целыми числами, меньшими 65536. Этот диапазон является замкнутым интервалом, правило вступает в силу, если порт источника попадает в этот диапазон.
Диапазон является замкнутым, правило применяется, если порт источника находится в этом диапазоне. - `a`: a является положительным целым числом, меньшим 65536. Правило вступает в силу, если порт источника равен a.
- `a`: `a` - положительное целое число, меньшее 65536. - Смесь двух вышеуказанных форматов, разделенных запятой ",". Например: `"53,443,1000-2000"`.
Правило применяется, если порт источника равен `a`.
- Комбинация двух вышеуказанных форматов, разделенных запятыми ",".
Например: `"53,443,1000-2000"`.
> `network`: "tcp" | "udp" | "tcp,udp" > `network`: "tcp" | "udp" | "tcp,udp"
Допустимые значения: "tcp", "udp" или "tcp,udp". Допустимые значения: "tcp", "udp" или "tcp,udp". Правило вступает в силу, если тип соединения соответствует указанному.
Правило применяется, если тип сети соединения соответствует указанному значению.
> `source`: \[string\] > `source`: \[string\]
Массив, каждый элемент которого представляет собой диапазон IP-адресов. Массив, каждый элемент которого представляет собой диапазон IP-адресов. Возможные форматы: IP-адрес, CIDR, GeoIP и загрузка IP-адресов из файла. Правило вступает в силу, если какой-либо элемент соответствует IP-адресу источника.
Доступны следующие форматы: IP-адрес, CIDR, GeoIP и загрузка IP-адресов из файла.
Правило применяется, если один из элементов соответствует IP-адресу источника.
> `user`: \[string\] > `user`: \[string\]
Массив, каждый элемент которого представляет собой адрес электронной почты. Массив, каждый элемент которого является адресом электронной почты. Правило вступает в силу, если какой-либо элемент соответствует пользователю-источнику.
Правило применяется, если один из элементов соответствует пользователю источника.
Аналогично доменному имени, также поддерживается сопоставление с помощью регулярных выражений, начинающихся с `regexp:`. (Также необходимо заменить `\` на `\\`, см. объяснение в разделе `domain`)
> `inboundTag`: \[string\] > `inboundTag`: \[string\]
Массив, каждый элемент которого представляет собой тег. Массив, каждый элемент которого является тегом. Правило вступает в силу, если какой-либо элемент соответствует тегу входящего протокола.
Правило применяется, если один из элементов соответствует тегу входящего протокола.
> `protocol`: \[ "http" | "tls" | "bittorrent" \] > `protocol`: \[ "http" | "tls" | "bittorrent" \]
Массив, каждый элемент которого представляет собой протокол. Массив, каждый элемент которого представляет собой протокол. Правило вступает в силу, если какой-либо протокол соответствует типу протокола текущего соединения.
Правило применяется, если один из элементов соответствует типу протокола текущего соединения.
::: tip ::: tip
Для определения типа протокола соединения необходимо включить параметр `sniffing` во входящем подключении. Необходимо включить опцию `sniffing` во входящем прокси, чтобы определить тип протокола, используемого соединением.
::: :::
> `attrs`: object > `attrs`: object
Объект JSON, где ключи и значения являются строками, используемый для проверки атрибутов трафика. Объект json, ключи и значения которого являются строками, используется для проверки значений атрибутов трафика. Правило вступает в силу, если HTTP-заголовки содержат все указанные ключи, а значения содержат указанные подстроки. Регистр ключей не учитывается. Значения поддерживают использование регулярных выражений.
Правило применяется, если заголовки HTTP содержат все указанные ключи, а значения содержат указанные подстроки.
Ключи нечувствительны к регистру.
Значения могут быть регулярными выражениями.
В настоящее время этот атрибут устанавливается только входящим прокси HTTP. Также поддерживаются псевдозаголовки h2, такие как `:method` и `:path`, для сопоставления метода и пути (хотя в HTTP/1.1 эти заголовки отсутствуют)
Для метода, отличного от CONNECT, входящего HTTP-запроса, `attrs` можно получить напрямую, для других входящих запросов необходимо включить `sniffing`, чтобы получить эти значения для сопоставления.
Примеры: Примеры:
- Проверка метода HTTP GET: `{":method": "GET"}` - Проверка HTTP GET: `{":method": "GET"}`
- Проверка пути HTTP: `{":path": "/test"}"` - Проверка HTTP Path: `{":path": "/test"}`
- Проверка типа содержимого: `{"accept": "text/html"}"` - Проверка Content Type: `{"accept": "text/html"}`
> `outboundTag`: string > `outboundTag`: string
Тег исходящего подключения. Соответствует тегу исходящего канала.
> `balancerTag`: string > `balancerTag`: string
Тег балансировщика нагрузки. Соответствует тегу балансировщика нагрузки.
::: tip ::: tip
Необходимо указать либо `balancerTag`, либо `outboundTag`. Необходимо указать либо `balancerTag`, либо `outboundTag`. Если указаны оба, используется `outboundTag`.
Если указаны оба параметра, используется `outboundTag`.
::: :::
> `ruleTag`: string
Необязательно, не имеет фактического эффекта, используется только для идентификации имени этого правила.
Если установлено, при совпадении с этим правилом в журнал с уровнем Info будет выводиться соответствующая информация, используемая для отладки того, какое правило маршрутизации сработало.
### BalancerObject ### BalancerObject
Настройки балансировщика нагрузки. Конфигурация балансировщика нагрузки. Когда балансировщик нагрузки активен, он выбирает наиболее подходящий исходящий канал из указанных исходящих каналов в соответствии с конфигурацией и перенаправляет трафик через него.
Когда балансировщик нагрузки активируется, он выбирает наиболее подходящее исходящее подключение из указанных и перенаправляет трафик через него.
```json ```json
{ {
@ -244,18 +210,17 @@ Xray может определять трафик из разных регион
> `tag`: string > `tag`: string
Тег этого балансировщика нагрузки, используемый для сопоставления с `balancerTag` в `RuleObject`. Тег этого балансировщика нагрузки, используется для сопоставления с `balancerTag` в `RuleObject`.
> `selector`: \[ string \] > `selector`: \[ string \]
Массив строк, каждый элемент которого будет использоваться для сопоставления с префиксом тега исходящего подключения. Массив строк, каждая из которых будет использоваться для сопоставления с префиксом тега исходящего канала. Например, для следующих тегов исходящих каналов: `[ "a", "ab", "c", "ba" ]`, `"selector": ["a"]` будет соответствовать `[ "a", "ab" ]`.
Например, для следующих тегов исходящих подключений: `[ "a", "ab", "c", "ba" ]`, `"selector": ["a"]` будет соответствовать `[ "a", "ab" ]`.
Если найдено несколько совпадений, балансировщик нагрузки в настоящее время выбирает одно из них случайным образом. Если найдено несколько исходящих каналов, балансировщик нагрузки в настоящее время случайным образом выбирает один из них в качестве конечного исходящего канала.
> `fallbackTag`: string > `fallbackTag`: string
Исходящее подключение, которое будет использоваться, если балансировщик нагрузки не сможет выбрать подходящее исходящее подключение. Если балансировщик нагрузки не может выбрать подходящий исходящий канал, используется исходящий канал, указанный в этом параметре.
> `strategy`: [StrategyObject](#strategyobject) > `strategy`: [StrategyObject](#strategyobject)
@ -268,21 +233,17 @@ Xray может определять трафик из разных регион
``` ```
> `type` : "random" | "roundRobin" | "leastPing" | "leastLoad" > `type` : "random" | "roundRobin" | "leastPing" | "leastLoad"
- `random` (значение по умолчанию): случайный выбор из подходящих исходящих подключений. - `random`: значение по умолчанию. Случайным образом выбирает соответствующий исходящий прокси.
- `roundRobin`: последовательный выбор из подходящих исходящих подключений. - `roundRobin`: выбирает соответствующие исходящие прокси по очереди.
- `leastPing`: выбор исходящего подключения с наименьшей задержкой на основе результатов мониторинга подключений. - `leastPing`: выбирает соответствующий исходящий прокси с наименьшей задержкой на основе результатов наблюдений за соединением. Необходимо добавить параметр конфигурации [observatory](./observatory.md#observatoryobject).
Требуется настроить [observatory](./observatory.md#observatoryobject). - `leastLoad`: выбирает наиболее стабильный соответствующий исходящий прокси на основе результатов наблюдений за соединением. Необходимо добавить параметр конфигурации [burstObservatory](./observatory.md#burstobservatoryobject).
- `leastLoad`: выбор наиболее стабильного исходящего подключения на основе результатов мониторинга подключений.
Требуется настроить [burstObservatory](./observatory.md#burstobservatoryobject).
> `settings`: [StrategySettingsObject](#strategysettingsobject) > `settings`: [StrategySettingsObject](#strategysettingsobject)
##### StrategySettingsObject ##### StrategySettingsObject
Это необязательный параметр конфигурации, формат которого различается для разных стратегий балансировки нагрузки. В настоящее время этот параметр конфигурации можно добавить только для стратегии балансировки нагрузки `leastLoad`.
Это необязательный параметр. Формат настройки зависит от стратегии балансировки нагрузки. ### Примеры конфигурации балансировки нагрузки
В настоящее время этот параметр можно использовать только со стратегией `leastLoad`.
### Пример конфигурации балансировщика нагрузки
```json ```json
"routing": { "routing": {
@ -309,18 +270,15 @@ Xray может определять трафик из разных регион
"inbounds": [ "inbounds": [
{ {
// Настройки входящего подключения
"tag": "in" "tag": "in"
} }
] ]
"outbounds": [ "outbounds": [
{ {
// Настройки исходящего подключения
"tag": "out1" "tag": "out1"
}, },
{ {
// Настройки исходящего подключения
"tag": "out2" "tag": "out2"
} }
] ]
@ -328,14 +286,12 @@ Xray может определять трафик из разных регион
### Предопределенные списки доменов ### Предопределенные списки доменов
Этот список включен в каждый установочный пакет Xray и называется `geosite.dat`. Этот список встроен в каждый установочный пакет Xray, имя файла - `geosite.dat`. Этот файл содержит некоторые распространенные доменные имена. Формат использования: `geosite:имя_файла`, например, `geosite:google` означает фильтрацию маршрутизации или DNS для доменных имен, соответствующих `google` в файле.
Этот файл содержит некоторые распространенные доменные имена.
Формат использования: `geosite:filename`, например `geosite:google` означает сопоставление с доменными именами, указанными в файле в разделе `google`, для маршрутизации или фильтрации DNS.
Распространенные доменные имена: Распространенные доменные имена:
- `category-ads`: содержит доменные имена распространенных рекламных сервисов. - `category-ads`: содержит распространенные доменные имена рекламы.
- `category-ads-all`: содержит доменные имена распространенных рекламных сервисов, а также доменные имена поставщиков рекламы. - `category-ads-all`: содержит распространенные доменные имена рекламы, а также доменные имена поставщиков рекламы.
- `cn`: эквивалентно объединению `geolocation-cn` и `tld-cn`. - `cn`: эквивалентно объединению `geolocation-cn` и `tld-cn`.
- `apple`: содержит большинство доменных имен Apple. - `apple`: содержит большинство доменных имен Apple.
- `google`: содержит большинство доменных имен Google. - `google`: содержит большинство доменных имен Google.
@ -343,15 +299,10 @@ Xray может определять трафик из разных регион
- `facebook`: содержит большинство доменных имен Facebook. - `facebook`: содержит большинство доменных имен Facebook.
- `twitter`: содержит большинство доменных имен Twitter. - `twitter`: содержит большинство доменных имен Twitter.
- `telegram`: содержит большинство доменных имен Telegram. - `telegram`: содержит большинство доменных имен Telegram.
- `geolocation-cn`: содержит доменные имена распространенных сайтов, расположенных в Китае. - `geolocation-cn`: содержит распространенные доменные имена сайтов материкового Китая.
- `geolocation-!cn`: содержит доменные имена распространенных сайтов, расположенных за пределами Китая. - `geolocation-!cn`: содержит распространенные доменные имена сайтов, не относящихся к материковому Китаю.
- `tld-cn`: содержит доменные имена верхнего уровня, управляемые CNNIC и используемые в Китае, например, домены, оканчивающиеся на `.cn`, `.中国`. - `tld-cn`: содержит домены верхнего уровня, управляемые CNNIC для использования в материковом Китае, например, доменные имена, оканчивающиеся на `.cn`, `.中国`.
- `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).