mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-10-03 12:28:15 +03:00
Check json format in CI
This commit is contained in:
+34
-36
@@ -147,28 +147,26 @@ IP-адрес, используемый в расширении EDNS Client Subn
|
||||
`UseSystem` адаптируется к сетевой среде операционной системы. Перед запросом проверяется наличие шлюзов по умолчанию для IPv4 и IPv6, чтобы ограничить возможности серверов и установить тип запроса. В ОС с графическим интерфейсом проверка выполняется в реальном времени, в среде командной строки — только один раз.
|
||||
|
||||
```json
|
||||
"dns": {
|
||||
"servers": [
|
||||
"https://1.1.1.1/dns-query",
|
||||
{
|
||||
"address": "https://8.8.8.8/dns-query",
|
||||
"domains": [
|
||||
"geosite:netflix"
|
||||
],
|
||||
"skipFallback": true,
|
||||
"queryStrategy": "UseIPv4" // Для доменов netflix запрашивать A запись
|
||||
},
|
||||
{
|
||||
"address": "https://1.1.1.1/dns-query",
|
||||
"domains": [
|
||||
"geosite:openai"
|
||||
],
|
||||
"skipFallback": true,
|
||||
"queryStrategy": "UseIPv6" // Для доменов openai запрашивать AAAA запись
|
||||
}
|
||||
],
|
||||
"queryStrategy": "UseIP" // Глобально запрашивать одновременно A и AAAA записи
|
||||
}
|
||||
{
|
||||
"dns": {
|
||||
"servers": [
|
||||
"https://1.1.1.1/dns-query",
|
||||
{
|
||||
"address": "https://8.8.8.8/dns-query",
|
||||
"domains": ["geosite:netflix"],
|
||||
"skipFallback": true,
|
||||
"queryStrategy": "UseIPv4" // Для доменов netflix запрашивать A запись
|
||||
},
|
||||
{
|
||||
"address": "https://1.1.1.1/dns-query",
|
||||
"domains": ["geosite:openai"],
|
||||
"skipFallback": true,
|
||||
"queryStrategy": "UseIPv6" // Для доменов openai запрашивать AAAA запись
|
||||
}
|
||||
],
|
||||
"queryStrategy": "UseIP" // Глобально запрашивать одновременно A и AAAA записи
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
::: tip TIP 1
|
||||
@@ -186,20 +184,20 @@ IP-адрес, используемый в расширении EDNS Client Subn
|
||||
Глобальный `"queryStrategy": "UseIP"` и вложенный `"queryStrategy": "UseIPv4"` — не конфликтуют.
|
||||
|
||||
```json
|
||||
"dns": {
|
||||
"servers": [
|
||||
"https://1.1.1.1/dns-query",
|
||||
{
|
||||
"address": "https://8.8.8.8/dns-query",
|
||||
"domains": [
|
||||
"geosite:netflix"
|
||||
],
|
||||
"skipFallback": true,
|
||||
"queryStrategy": "UseIPv6" // Конфликт: глобальный "UseIPv4" и "UseIPv6" вложенного элемента
|
||||
}
|
||||
],
|
||||
"queryStrategy": "UseIPv4"
|
||||
}
|
||||
{
|
||||
"dns": {
|
||||
"servers": [
|
||||
"https://1.1.1.1/dns-query",
|
||||
{
|
||||
"address": "https://8.8.8.8/dns-query",
|
||||
"domains": ["geosite:netflix"],
|
||||
"skipFallback": true,
|
||||
"queryStrategy": "UseIPv6" // Конфликт: глобальный "UseIPv4" и "UseIPv6" вложенного элемента
|
||||
}
|
||||
],
|
||||
"queryStrategy": "UseIPv4"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Запрос домена Netflix получит пустой ответ из-за конфликта значений `"queryStrategy"`. Домен Netflix будет запрошен через `https://1.1.1.1/dns-query` и получит запись A.
|
||||
|
||||
@@ -11,11 +11,13 @@ Fallback также может разделять трафик различны
|
||||
## Настройка `fallbacks`
|
||||
|
||||
```json
|
||||
{
|
||||
"fallbacks": [
|
||||
{
|
||||
"dest": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
> `fallbacks`: \[ [FallbackObject](#fallbackobject) \]
|
||||
|
||||
@@ -106,20 +106,20 @@ MTU нижнего уровня tun в Wireguard.
|
||||
Примечание: В настройках `Freedom` доступны опции, такие как `UseIP`, которые здесь отсутствуют, так как Wireguard требует наличия действительного IP-адреса.
|
||||
|
||||
```json
|
||||
"dns": {
|
||||
"servers": [
|
||||
"https://1.1.1.1/dns-query",
|
||||
{
|
||||
"address": "https://1.1.1.1/dns-query",
|
||||
"domains": [
|
||||
"geosite:openai"
|
||||
],
|
||||
"skipFallback": true,
|
||||
"queryStrategy": "UseIPv6" // Запрос только AAAA-записей
|
||||
}
|
||||
],
|
||||
"queryStrategy": "UseIP" // Запрос A и AAAA одновременно. Если не указано, используется значение по умолчанию UseIP.
|
||||
}
|
||||
{
|
||||
"dns": {
|
||||
"servers": [
|
||||
"https://1.1.1.1/dns-query",
|
||||
{
|
||||
"address": "https://1.1.1.1/dns-query",
|
||||
"domains": ["geosite:openai"],
|
||||
"skipFallback": true,
|
||||
"queryStrategy": "UseIPv6" // Запрос только AAAA-записей
|
||||
}
|
||||
],
|
||||
"queryStrategy": "UseIP" // Запрос A и AAAA одновременно. Если не указано, используется значение по умолчанию UseIP.
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Peers
|
||||
|
||||
+31
-33
@@ -395,42 +395,40 @@ URL, по которому будет отправлено уведомлени
|
||||
### Примеры конфигурации балансировки нагрузки
|
||||
|
||||
```json
|
||||
"routing": {
|
||||
"rules": [
|
||||
{
|
||||
"inboundTag": [
|
||||
"in"
|
||||
],
|
||||
"balancerTag": "round"
|
||||
}
|
||||
],
|
||||
"balancers" : [
|
||||
{
|
||||
"selector": [
|
||||
"out"
|
||||
],
|
||||
"strategy": {
|
||||
"type":"roundRobin"
|
||||
},
|
||||
"tag": "round"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"inbounds": [
|
||||
{
|
||||
"tag": "in"
|
||||
}
|
||||
{
|
||||
"routing": {
|
||||
"rules": [
|
||||
{
|
||||
"inboundTag": ["in"],
|
||||
"balancerTag": "round"
|
||||
}
|
||||
],
|
||||
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "out1"
|
||||
"balancers": [
|
||||
{
|
||||
"selector": ["out"],
|
||||
"strategy": {
|
||||
"type": "roundRobin"
|
||||
},
|
||||
{
|
||||
"tag": "out2"
|
||||
}
|
||||
"tag": "round"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
"inbounds": [
|
||||
{
|
||||
"tag": "in"
|
||||
}
|
||||
],
|
||||
|
||||
"outbounds": [
|
||||
{
|
||||
"tag": "out1"
|
||||
},
|
||||
{
|
||||
"tag": "out2"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Предопределенные списки доменов
|
||||
|
||||
@@ -95,17 +95,13 @@ lsmod | grep wireguard
|
||||
```json
|
||||
{
|
||||
"api": {
|
||||
"services": [
|
||||
"HandlerService",
|
||||
"LoggerService",
|
||||
"StatsService"
|
||||
],
|
||||
"services": ["HandlerService", "LoggerService", "StatsService"],
|
||||
"tag": "api"
|
||||
},
|
||||
"inbounds": [
|
||||
{
|
||||
"listen": "127.0.0.1",
|
||||
"port": <port>,
|
||||
"port": 12345, // <port>
|
||||
"protocol": "dokodemo-door",
|
||||
"settings": {
|
||||
"rewriteAddress": "127.0.0.1"
|
||||
@@ -127,13 +123,13 @@ lsmod | grep wireguard
|
||||
"tag": "wg0",
|
||||
"streamSettings": {
|
||||
"sockopt": {
|
||||
"mark": <mark>
|
||||
"mark": 255 // <mark>
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"domainStrategy": "UseIPv6"
|
||||
}
|
||||
}, // Трафик с меткой fwmark, равной <mark>, будет направлен через UseIPv6/UseIPv4.
|
||||
}, // Трафик с меткой fwmark, равной <mark>, будет направлен через UseIPv6/UseIPv4.
|
||||
// <--Выберите один из вариантов--> Вариант 2: sendThrough
|
||||
{
|
||||
"tag": "wg0",
|
||||
@@ -174,9 +170,7 @@ lsmod | grep wireguard
|
||||
"routing": {
|
||||
"rules": [
|
||||
{
|
||||
"inboundTag": [
|
||||
"api"
|
||||
],
|
||||
"inboundTag": ["api"],
|
||||
"outboundTag": "api"
|
||||
},
|
||||
{
|
||||
@@ -189,9 +183,7 @@ lsmod | grep wireguard
|
||||
},
|
||||
{
|
||||
"outboundTag": "blocked",
|
||||
"protocol": [
|
||||
"bittorrent"
|
||||
]
|
||||
"protocol": ["bittorrent"]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -75,7 +75,7 @@ bash -c "$(curl -L wgcf-cli.vercel.app)"
|
||||
|
||||
2. Запустите `wgcf-cli register` для регистрации. Вывод:
|
||||
|
||||
```json
|
||||
```
|
||||
❯ wgcf-cli register
|
||||
{
|
||||
"endpoint": {
|
||||
@@ -157,7 +157,7 @@ bash -c "$(curl -L wgcf-cli.vercel.app)"
|
||||
|
||||
Добавьте следующие правила к существующим правилам маршрутизации:
|
||||
|
||||
```json
|
||||
```
|
||||
{
|
||||
"domain": [
|
||||
"geosite:cn"
|
||||
@@ -201,7 +201,7 @@ bash -c "$(curl -L wgcf-cli.vercel.app)"
|
||||
"protocol": "vmess",
|
||||
"settings": {
|
||||
"address": "IP-адрес",
|
||||
"port": Порт,
|
||||
"port": 12345, // Порт
|
||||
"id": "UUID",
|
||||
"security": "auto"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user