Check json format in CI

This commit is contained in:
Fangliding
2026-05-25 21:37:31 +08:00
parent a2c2c5494e
commit f6bb9a7bc6
22 changed files with 350 additions and 298 deletions
+34 -36
View File
@@ -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.
+2
View File
@@ -11,11 +11,13 @@ Fallback также может разделять трафик различны
## Настройка `fallbacks`
```json
{
"fallbacks": [
{
"dest": 80
}
]
}
```
> `fallbacks`: \[ [FallbackObject](#fallbackobject) \]
+14 -14
View File
@@ -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
View File
@@ -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"
}
]
}
```
### Предопределенные списки доменов