mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-09-30 19:08:10 +03:00
Bump vitepress-plugin-llms from 1.9.3 to 1.10.0 (#793)
* Bump vitepress-plugin-llms from 1.9.3 to 1.10.0 Bumps [vitepress-plugin-llms](https://github.com/okineadev/vitepress-plugin-llms) from 1.9.3 to 1.10.0. - [Release notes](https://github.com/okineadev/vitepress-plugin-llms/releases) - [Commits](https://github.com/okineadev/vitepress-plugin-llms/compare/v1.9.3...v1.10.0) --- updated-dependencies: - dependency-name: vitepress-plugin-llms dependency-version: 1.10.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Prettified Code! --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <dependabot[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
dependabot[bot]
parent
0cc75fa569
commit
b5781202c9
+21
-21
@@ -4,15 +4,15 @@
|
||||
|
||||
Встроенный модуль DNS в Xray имеет три основных назначения:
|
||||
|
||||
- На этапе маршрутизации (Routing): резолвинг доменов в IP и сопоставление правил на основе полученных IP для разделения трафика. Будет ли выполняться резолвинг и разделение трафика, зависит от значения `domainStrategy` в конфигурации модуля маршрутизации. Встроенный DNS-сервер используется для запросов только при установке следующих двух значений:
|
||||
- "IPIfNonMatch": при запросе домена сначала выполняется сопоставление по правилам `domain`. Если совпадений нет, выполняется запрос к встроенному DNS-серверу для получения IP, после чего снова выполняется сопоставление правил маршрутизации по IP.
|
||||
- "IPOnDemand": при обнаружении любого правила, основанного на IP, домен немедленно резолвится в IP для сопоставления.
|
||||
- На этапе маршрутизации (Routing): резолвинг доменов в IP и сопоставление правил на основе полученных IP для разделения трафика. Будет ли выполняться резолвинг и разделение трафика, зависит от значения `domainStrategy` в конфигурации модуля маршрутизации. Встроенный DNS-сервер используется для запросов только при установке следующих двух значений:
|
||||
- "IPIfNonMatch": при запросе домена сначала выполняется сопоставление по правилам `domain`. Если совпадений нет, выполняется запрос к встроенному DNS-серверу для получения IP, после чего снова выполняется сопоставление правил маршрутизации по IP.
|
||||
- "IPOnDemand": при обнаружении любого правила, основанного на IP, домен немедленно резолвится в IP для сопоставления.
|
||||
|
||||
- Резолвинг целевого адреса для подключения:
|
||||
- Например, в `freedom` Outbound, если `domainStrategy` установлен в `UseIP`, запрос, исходящий из этого Outbound, сначала будет разрешен в IP через встроенный сервер, а затем произойдет подключение.
|
||||
- Например, в `sockopt`, если `domainStrategy` установлен в `UseIP`, системное подключение, инициированное этим Outbound, сначала будет разрешено в IP встроенным сервером.
|
||||
- Резолвинг целевого адреса для подключения:
|
||||
- Например, в `freedom` Outbound, если `domainStrategy` установлен в `UseIP`, запрос, исходящий из этого Outbound, сначала будет разрешен в IP через встроенный сервер, а затем произойдет подключение.
|
||||
- Например, в `sockopt`, если `domainStrategy` установлен в `UseIP`, системное подключение, инициированное этим Outbound, сначала будет разрешено в IP встроенным сервером.
|
||||
|
||||
- Перехват DNS-трафика в режиме Transparent Proxy или работа в качестве рекурсивного DNS-сервера, открытого на порту 53.
|
||||
- Перехват DNS-трафика в режиме Transparent Proxy или работа в качестве рекурсивного DNS-сервера, открытого на порту 53.
|
||||
|
||||
::: tip TIP 1
|
||||
DNS-запросы, отправляемые встроенным DNS-сервером, автоматически перенаправляются в соответствии с конфигурацией маршрутизации (Routing).
|
||||
@@ -26,14 +26,14 @@ DNS-запросы, отправляемые встроенным DNS-серве
|
||||
|
||||
Если запрашиваемый домен:
|
||||
|
||||
- Попадает в маппинг «домен - IP» или «домен - массив IP» в `hosts`, то этот IP или массив возвращается как результат DNS-резолвинга.
|
||||
- Попадает в маппинг «домен - домен» в `hosts`, то значение (другой домен) становится текущим запрашиваемым доменом и снова проходит процесс обработки DNS, пока не будет получен IP или пустой ответ.
|
||||
- Не попал в `hosts`, но попал в список доменов `domains` одного (или нескольких) DNS-серверов, то запрос выполняется через эти серверы в порядке приоритета правил. Если запрос к выбранному серверу не удался или `expectedIPs` не совпали, используется следующий подходящий сервер; в противном случае возвращается полученный IP. Если все подходящие серверы не смогли выполнить запрос или `expectedIPs` не совпали, компонент DNS:
|
||||
- По умолчанию выполняет «DNS Fallback запрос»: последовательно опрашиваются серверы, которые «не использовались в предыдущем неудачном раунде и имеют `skipFallback` со значением по умолчанию `false`». Если запрос не удался или `expectedIPs` не совпали, возвращается пустой ответ; иначе — полученный IP.
|
||||
- Если `disableFallback` установлено в `true`, «DNS Fallback запрос» не выполняется.
|
||||
- Не попал ни в `hosts`, ни в списки `domains` DNS-серверов, то:
|
||||
- По умолчанию последовательно используются «серверы с `skipFallback` по умолчанию `false`». Если первый выбранный сервер не смог выполнить запрос или `expectedIPs` не совпали, используется следующий; иначе возвращается IP. Если все выбранные серверы потерпели неудачу, возвращается пустой ответ.
|
||||
- Если количество «серверов с `skipFallback` по умолчанию `false`» равно 0 или `disableFallback` установлено в `true`, используется первый DNS-сервер из конфигурации. При неудаче возвращается пустой ответ, при успехе — IP.
|
||||
- Попадает в маппинг «домен - IP» или «домен - массив IP» в `hosts`, то этот IP или массив возвращается как результат DNS-резолвинга.
|
||||
- Попадает в маппинг «домен - домен» в `hosts`, то значение (другой домен) становится текущим запрашиваемым доменом и снова проходит процесс обработки DNS, пока не будет получен IP или пустой ответ.
|
||||
- Не попал в `hosts`, но попал в список доменов `domains` одного (или нескольких) DNS-серверов, то запрос выполняется через эти серверы в порядке приоритета правил. Если запрос к выбранному серверу не удался или `expectedIPs` не совпали, используется следующий подходящий сервер; в противном случае возвращается полученный IP. Если все подходящие серверы не смогли выполнить запрос или `expectedIPs` не совпали, компонент DNS:
|
||||
- По умолчанию выполняет «DNS Fallback запрос»: последовательно опрашиваются серверы, которые «не использовались в предыдущем неудачном раунде и имеют `skipFallback` со значением по умолчанию `false`». Если запрос не удался или `expectedIPs` не совпали, возвращается пустой ответ; иначе — полученный IP.
|
||||
- Если `disableFallback` установлено в `true`, «DNS Fallback запрос» не выполняется.
|
||||
- Не попал ни в `hosts`, ни в списки `domains` DNS-серверов, то:
|
||||
- По умолчанию последовательно используются «серверы с `skipFallback` по умолчанию `false`». Если первый выбранный сервер не смог выполнить запрос или `expectedIPs` не совпали, используется следующий; иначе возвращается IP. Если все выбранные серверы потерпели неудачу, возвращается пустой ответ.
|
||||
- Если количество «серверов с `skipFallback` по умолчанию `false`» равно 0 или `disableFallback` установлено в `true`, используется первый DNS-сервер из конфигурации. При неудаче возвращается пустой ответ, при успехе — IP.
|
||||
|
||||
## DnsObject
|
||||
|
||||
@@ -89,11 +89,11 @@ DNS-запросы, отправляемые встроенным DNS-серве
|
||||
|
||||
Список статических IP. Значениями являются пары "домен": "адрес" или "домен": ["адрес 1","адрес 2"]. Адрес может быть IP или доменом. При резолвинге, если домен совпадает с записью в этом списке:
|
||||
|
||||
- Если адрес является IP, результатом будет этот IP.
|
||||
- Если адрес является доменом, для получения IP будет использоваться этот новый домен, а не исходный.
|
||||
- Если в адресе указано несколько IP и доменов, будет возвращен только первый домен, остальные IP и домены игнорируются.
|
||||
- Если первое значение адреса начинается с решетки и цифры (например, `#3`), при использовании DNS Outbound ядро вернет пустой ответ и соответствующий `rcode` (код отказа), чтобы отклонить запрос. Если запрос пришел из внутреннего источника, он будет считаться неудачным.
|
||||
- Если запрашиваемый домен совпадает с несколькими доменами в списке, возвращаются все связанные IP.
|
||||
- Если адрес является IP, результатом будет этот IP.
|
||||
- Если адрес является доменом, для получения IP будет использоваться этот новый домен, а не исходный.
|
||||
- Если в адресе указано несколько IP и доменов, будет возвращен только первый домен, остальные IP и домены игнорируются.
|
||||
- Если первое значение адреса начинается с решетки и цифры (например, `#3`), при использовании DNS Outbound ядро вернет пустой ответ и соответствующий `rcode` (код отказа), чтобы отклонить запрос. Если запрос пришел из внутреннего источника, он будет считаться неудачным.
|
||||
- Если запрашиваемый домен совпадает с несколькими доменами в списке, возвращаются все связанные IP.
|
||||
|
||||
Формат сопоставления (`domain:`, `full:` и т.д.) аналогичен `domain` в системе [маршрутизации](./routing.html#ruleobject). Отличие в том, что без префикса здесь по умолчанию используется `full:` (аналогично стандартному файлу hosts).
|
||||
|
||||
@@ -351,4 +351,4 @@ DNS-запросы, отправляемые модулем DNS, бывают д
|
||||
|
||||
> `serveStale`: true | false
|
||||
|
||||
> `serveExpiredTTL`: number
|
||||
> `serveExpiredTTL`: number
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
Перейдите по адресу `http://127.0.0.1:11111/debug/pprof/` или используйте `go tool pprof` для отладки.
|
||||
|
||||
Для сообщения о проблемах с высоким потреблением памяти или утечками памяти необходимо предоставить файлы `/debug/pprof/heap` и `/debug/pprof/goroutine`.
|
||||
|
||||
### expvars
|
||||
|
||||
Перейдите по адресу `http://127.0.0.1:11111/debug/vars`.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"streamSettings": {},
|
||||
"proxySettings": {
|
||||
"tag": "another-outbound-tag",
|
||||
"transportLayer": false
|
||||
"transportLayer": false
|
||||
},
|
||||
"mux": {}
|
||||
}
|
||||
@@ -79,8 +79,8 @@ Xray будет использовать случайный IP-адрес из
|
||||
|
||||
```json
|
||||
{
|
||||
"tag": "another-outbound-tag",
|
||||
"transportLayer": false
|
||||
"tag": "another-outbound-tag",
|
||||
"transportLayer": false
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -43,4 +43,5 @@ DNS — это исходящий протокол, который в основ
|
||||
Поскольку опция `nonIPQuery` по умолчанию отбрасывает (`drop`) все запросы, кроме A и AAAA, необходимо переключить её в режим `skip`, чтобы данная настройка могла вступить в силу (для типов, отличных от A/AAAA). Разумеется, можно не изменять `nonIPQuery` и использовать эту опцию исключительно для блокировки A или AAAA (отключение IPv4/IPv6), однако делать это **крайне не рекомендуется**. Для этих целей лучше использовать настройку `queryStrategy` во встроенном DNS.
|
||||
|
||||
Внимание: если вы используете `blockTypes` только для блокировки A или AAAA, и при этом `nonIPQuery` установлен в значение `reject`, то блокировка также будет осуществляться путем возврата ответа DNS reject, а не простым отбрасыванием пакета.
|
||||
|
||||
## Примеры конфигурации DNS <Badge text="В РАЗРАБОТКЕ" type="warning"/>
|
||||
|
||||
@@ -286,4 +286,4 @@ Cloudflare Warp от "кибер-филантропа" Cloudflare идеальн
|
||||
|
||||
Поэтому, если ваш клиент не умеет разделять трафик по приложениям (App split tunneling, доступно только на мобильных устройствах), любой метод обхода блокировок приведет к утечке вашего зарубежного IP.
|
||||
|
||||
В заключение хочу сказать: при обычных методах обхода блокировок утечка зарубежного IP практически неизбежна. Если вам требуется высокий уровень конфиденциальности, используйте Tor и подобные инструменты. Xray-core — это инструмент противодействия цензуре, ориентированный на пробивание "стен" (Firewall), а его возможности в области защиты приватности весьма ограничены.
|
||||
В заключение хочу сказать: при обычных методах обхода блокировок утечка зарубежного IP практически неизбежна. Если вам требуется высокий уровень конфиденциальности, используйте Tor и подобные инструменты. Xray-core — это инструмент противодействия цензуре, ориентированный на пробивание "стен" (Firewall), а его возможности в области защиты приватности весьма ограничены.
|
||||
|
||||
Reference in New Issue
Block a user