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"
}
]
}
```
### Предопределенные списки доменов
+6 -14
View File
@@ -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"]
}
]
},
+3 -3
View File
@@ -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"
},