FakeDNS: Make JSON examples more user-friendly with parent context and focused snippets

This commit is contained in:
Meow
2026-05-07 19:58:31 +08:00
parent 90f358c032
commit e9e62ade55
3 changed files with 270 additions and 195 deletions
+90 -65
View File
@@ -12,24 +12,28 @@ FakeDNS 有可能会污染本地 DNS,导致 Xray 关闭后“无法访问网
```json
{
"ipPool": "198.18.0.0/16",
"poolSize": 65535
"fakedns": {
"ipPool": "198.18.0.0/16",
"poolSize": 65535
}
}
```
`FakeDnsObject` 亦可配置为一个包含多个 FakeIP Pool 的数组。当收到 DNS 查询请求时,FakeDNS 会返回一组同时由多个 FakeIP Pool 得到的一组 FakeIP。
```json
[
{
"ipPool": "198.18.0.0/15",
"poolSize": 65535
},
{
"ipPool": "fc00::/18",
"poolSize": 65535
}
]
{
"fakedns": [
{
"ipPool": "198.18.0.0/15",
"poolSize": 65535
},
{
"ipPool": "fc00::/18",
"poolSize": 65535
}
]
}
```
> `ipPool`: CIDR
@@ -50,24 +54,28 @@ FakeDNS 将使用此选项指定的 IP 块分配地址。
`queryStrategy` 为 `UseIP` 时,初始化的 FakeIP Pool 相当于
```json
[
{
"ipPool": "198.18.0.0/15",
"poolSize": 32768
},
{
"ipPool": "fc00::/18",
"poolSize": 32768
}
]
{
"fakedns": [
{
"ipPool": "198.18.0.0/15",
"poolSize": 32768
},
{
"ipPool": "fc00::/18",
"poolSize": 32768
}
]
}
```
`queryStrategy` 为 `UseIPv4` 时,初始化的 FakeIP Pool 相当于
```json
{
"ipPool": "198.18.0.0/15",
"poolSize": 65535
"fakedns": {
"ipPool": "198.18.0.0/15",
"poolSize": 65535
}
}
```
@@ -75,8 +83,10 @@ FakeDNS 将使用此选项指定的 IP 块分配地址。
```json
{
"ipPool": "fc00::/18",
"poolSize": 65535
"fakedns": {
"ipPool": "fc00::/18",
"poolSize": 65535
}
}
```
@@ -105,7 +115,7 @@ FakeDNS 本质上是一个 [DNS 服务器](./dns.md#serverobject),能够与任
"routing": {
"rules": [
{
"inboundTag": ["dns-in"], // 劫持来自 DNS 查询入口的 DNS 流量,或劫持来自透明代理入站的 DNS 流量。
"inboundTag": ["xxx"], // 劫持来自 DNS 查询入口的 DNS 流量,或劫持来自透明代理入站的 DNS 流量。
"port": 53,
"outboundTag": "dns-out"
}
@@ -119,10 +129,18 @@ FakeDNS 本质上是一个 [DNS 服务器](./dns.md#serverobject),能够与任
另外,你需要在**客户端**接收需代理流量的入站中开启 `Sniffing`,并使用 `fakedns` 目标地址重置。
```json
"sniffing": {
"enabled": true,
"destOverride": ["fakedns"], // 使用 "fakedns",或与其它 sniffer 搭配使用
"metadataOnly": false // 此项为 true 时 destOverride 仅可使用 fakedns
{
"inbounds": [
{
// ...
// [!code focus:5]
"sniffing": {
"enabled": true,
"destOverride": ["fakedns"], // 使用 "fakedns",或与其它 sniffer 搭配使用
"metadataOnly": false // 此项为 true 时 destOverride 仅可使用 fakedns
}
}
]
}
```
@@ -138,26 +156,29 @@ FakeDNS 本质上是一个 [DNS 服务器](./dns.md#serverobject),能够与任
```json
{
"servers": [
{
"address": "fakedns",
"domains": [
// 与下方分流所用的内容一致
"geosite:cn",
"domain:example.com"
]
},
{
"address": "1.2.3.4",
"domains": ["geosite:cn"],
"expectIPs": ["geoip:cn"]
},
{
"address": "1.1.1.1",
"domains": ["domain:example.com"]
},
"8.8.8.8"
]
"dns": {
"servers": [
// [!code focus:13]
{
"address": "fakedns",
"domains": [
// 与下方分流所用的内容一致
"geosite:cn",
"domain:example.com"
]
},
{
"address": "1.2.3.4",
"domains": ["geosite:cn"],
"expectIPs": ["geoip:cn"]
},
{
"address": "1.1.1.1",
"domains": ["domain:example.com"]
},
"8.8.8.8"
]
}
}
```
@@ -167,13 +188,15 @@ FakeDNS 本质上是一个 [DNS 服务器](./dns.md#serverobject),能够与任
```json
{
"servers": [
"fakedns",
{
"address": "1.2.3.4",
"domains": ["domain:do-not-use-fakedns.com"]
}
]
"dns": {
"servers": [
"fakedns",
{
"address": "1.2.3.4",
"domains": ["domain:do-not-use-fakedns.com"]
}
]
}
}
```
@@ -183,12 +206,14 @@ FakeDNS 本质上是一个 [DNS 服务器](./dns.md#serverobject),能够与任
```json
{
"servers": [
"1.2.3.4",
{
"address": "fakedns",
"domains": ["domain:only-this-use-fakedns.com"]
}
]
"dns": {
"servers": [
"1.2.3.4",
{
"address": "fakedns",
"domains": ["domain:only-this-use-fakedns.com"]
}
]
}
}
```