Clarify parent config objects and example nesting

This commit is contained in:
Meow
2026-05-07 18:34:44 +08:00
parent e958e14c4c
commit b57f43be46
96 changed files with 256 additions and 82 deletions
+10 -6
View File
@@ -6,14 +6,18 @@
## GeodataObject
`GeodataObject` 对应配置文件的 `geodata` 项。
```json
{
"cron": "0 4 * * *",
"outbound": "proxy",
"assets": [
{ "url": "https://example.com/geoip.dat", "file": "geoip.dat" },
{ "url": "https://example.com/geosite.dat", "file": "geosite.dat" }
]
"geodata": {
"cron": "0 4 * * *",
"outbound": "proxy",
"assets": [
{ "url": "https://example.com/geoip.dat", "file": "geoip.dat" },
{ "url": "https://example.com/geosite.dat", "file": "geosite.dat" }
]
}
}
```
+2
View File
@@ -21,6 +21,8 @@ HTTP 协议。
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -6,6 +6,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -29,6 +29,8 @@ Shadowsocks 2022 新协议格式提升了性能并带有完整的重放保护,
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -10,6 +10,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@ Trojan 被设计工作在正确配置的加密 TLS 隧道
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -4,6 +4,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -4,6 +4,8 @@ Tunnel(隧道),旧称 dokodemo-door(任意门),可以监听数个本
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -6,6 +6,8 @@ VLESS 是一个无状态的轻量传输协议,它分为入站和出站两部
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@ VMess 依赖于系统时间,请确保使用 Xray 的系统 UTC 时间误差在
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@ User-space Wireguard 协议实现。
## InboundConfigurationObject
`InboundConfigurationObject` 对应 [`InboundObject`](../inbound.md) 中的 `settings` 项。
```json
{
"inbounds": [
+8 -6
View File
@@ -2,15 +2,17 @@
更直接(希望更好)的统计导出方式。
## 相关配置
## MetricsObject
在基础配置中增加 metrics
`MetricsObject` 对应配置文件的 `metrics` 项。
```json
"metrics": {
"tag": "Metrics",
"listen": "127.0.0.1:11111"
}
{
"metrics": {
"tag": "Metrics",
"listen": "127.0.0.1:11111"
}
}
```
> `tag`: string
+14 -6
View File
@@ -4,12 +4,16 @@
## ObservatoryObject
`ObservatoryObject` 对应配置文件的 `observatory` 项。
```json
{
"subjectSelector": ["outbound"],
"probeUrl": "https://www.google.com/generate_204",
"probeInterval": "10s",
"enableConcurrency": false
"observatory": {
"subjectSelector": ["outbound"],
"probeUrl": "https://www.google.com/generate_204",
"probeInterval": "10s",
"enableConcurrency": false
}
}
```
@@ -34,10 +38,14 @@
## BurstObservatoryObject
`BurstObservatoryObject` 对应配置文件的 `burstObservatory` 项。
```json
{
"subjectSelector": ["outbound"],
"pingConfig": {}
"burstObservatory": {
"subjectSelector": ["outbound"],
"pingConfig": {}
}
}
```
+2
View File
@@ -4,6 +4,8 @@ Blackhole(黑洞)是一个出站数据协议,它会阻碍所有数据的
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ DNS 是一个出站协议,用于接收由 routing 送入的 DNS 查询,并
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ Freedom 是一个出站协议,可以用来向任意网络发送(正常的)
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -12,6 +12,8 @@ HTTP 协议。
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -10,6 +10,8 @@ Hysteria 协议的客户端实现。
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -4,6 +4,8 @@ Loopback 是个出站数据协议,其作用为将经该出站传出的数据
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -29,6 +29,8 @@ Shadowsocks 2022 新协议格式提升了性能并带有完整的重放保护,
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ Trojan 被设计工作在正确配置的加密 TLS 隧道
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -6,6 +6,8 @@ VLESS 是一个无状态的轻量传输协议,它分为入站和出站两部
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ VMess 依赖于系统时间,请确保使用 Xray 的系统 UTC 时间误差在
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@
## OutboundConfigurationObject
`OutboundConfigurationObject` 对应 [`OutboundObject`](../outbound.md) 中的 `settings` 项。
```json
{
"outbounds": [
+1 -1
View File
@@ -6,7 +6,7 @@
## StreamSettingsObject
`StreamSettingsObject` 对应入站或出站中的 `streamSettings` 项。每一个入站或出站都可以分别配置不同的传输配置,都可以设置 `streamSettings` 来进行一些传输的配置。
`StreamSettingsObject` 对应 [`InboundObject`](./inbound.md) 或 [`OutboundObject`](./outbound.md) 中的 `streamSettings` 项。每一个入站或出站都可以分别配置不同的传输配置,都可以设置 `streamSettings` 来进行一些传输的配置。
```json
{
+1 -1
View File
@@ -35,7 +35,7 @@ gRPCHTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m
## GRPCObject
`GRPCObject` 对应传输配置`grpcSettings` 项。
`GRPCObject` 对应 [`StreamSettingsObject`](../transport.md#streamsettingsobject) 中`grpcSettings` 项。
```json
{
+1 -1
View File
@@ -9,7 +9,7 @@
## HttpUpgradeObject
`HttpUpgradeObject` 对应传输配置`httpupgradeSettings` 项。
`HttpUpgradeObject` 对应 [`StreamSettingsObject`](../transport.md#streamsettingsobject) 中`httpupgradeSettings` 项。
```json
{
+1 -1
View File
@@ -4,7 +4,7 @@ Hysteria2 的底层 QUIC 传输的 Xray 实现,通常搭配 hysteria[出站](.
## HysteriaObject
`HysteriaObject` 对应传输配置`hysteriaSettings` 项。
`HysteriaObject` 对应 [`StreamSettingsObject`](../transport.md#streamsettingsobject) 中`hysteriaSettings` 项。
```json
{
+1 -1
View File
@@ -10,7 +10,7 @@ mKCP 牺牲带宽来降低延迟。传输同样的内容,mKCP 一般比 TCP
## KcpObject
`KcpObject` 对应传输配置`kcpSettings` 项。
`KcpObject` 对应 [`StreamSettingsObject`](../transport.md#streamsettingsobject) 中`kcpSettings` 项。
```json
{
+1 -1
View File
@@ -6,7 +6,7 @@
## RawObject
`RawObject` 对应传输配置`rawSettings` 项。
`RawObject` 对应 [`StreamSettingsObject`](../transport.md#streamsettingsobject) 中`rawSettings` 项。
```json
{
+1 -1
View File
@@ -14,7 +14,7 @@ Websocket 会识别 HTTP 请求的 X-Forwarded-For 头来覆写流量的源地
## WebSocketObject
`WebSocketObject` 对应传输配置`wsSettings` 项。
`WebSocketObject` 对应 [`StreamSettingsObject`](../transport.md#streamsettingsobject) 中`wsSettings` 项。
```json
{
+10 -6
View File
@@ -6,14 +6,18 @@ Use with caution on low-memory devices.
## GeodataObject
`GeodataObject` corresponds to the `geodata` item in the configuration file.
```json
{
"cron": "0 4 * * *",
"outbound": "proxy",
"assets": [
{ "url": "https://example.com/geoip.dat", "file": "geoip.dat" },
{ "url": "https://example.com/geosite.dat", "file": "geosite.dat" }
]
"geodata": {
"cron": "0 4 * * *",
"outbound": "proxy",
"assets": [
{ "url": "https://example.com/geoip.dat", "file": "geoip.dat" },
{ "url": "https://example.com/geosite.dat", "file": "geosite.dat" }
]
}
}
```
+2
View File
@@ -21,6 +21,8 @@ Use the following environment variables in Linux to enable a global HTTP proxy f
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -6,6 +6,8 @@ The `hysteria protocol` itself has no authentication; `users` only take effect w
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -29,6 +29,8 @@ Under the "none" encryption method, traffic will be transmitted in plain text. T
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -10,6 +10,8 @@ A more meaningful usage of `Socks` inbound is to listen within a LAN or on the l
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@ Trojan is designed to work over correctly configured encrypted TLS tunnels.
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -4,6 +4,8 @@ Creates a TUN interface; traffic sent to this interface will be processed by Xra
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -4,6 +4,8 @@ Tunnel, formerly known as dokodemo-door (Arbitrary Door), can listen on multiple
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -6,6 +6,8 @@ Unlike [VMess](./vmess.md), VLESS does not depend on system time. The authentica
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@ VMess depends on system time. Please ensure that the system UTC time of the devi
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@ User-space WireGuard protocol implementation.
## InboundConfigurationObject
`InboundConfigurationObject` corresponds to the `settings` item in [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+8 -6
View File
@@ -2,15 +2,17 @@
A more direct (and hopefully better) way to export statistics.
## Relevant Configuration
## MetricsObject
Add `metrics` to the basic configuration:
`MetricsObject` corresponds to the `metrics` item in the configuration file.
```json
"metrics": {
"tag": "Metrics",
"listen": "127.0.0.1:11111"
}
{
"metrics": {
"tag": "Metrics",
"listen": "127.0.0.1:11111"
}
}
```
> `tag`: string
+14 -6
View File
@@ -4,12 +4,16 @@ The Observatory component uses HTTPing to probe the connection status of outboun
## ObservatoryObject
`ObservatoryObject` corresponds to the `observatory` item in the configuration file.
```json
{
"subjectSelector": ["outbound"],
"probeUrl": "https://www.google.com/generate_204",
"probeInterval": "10s",
"enableConcurrency": false
"observatory": {
"subjectSelector": ["outbound"],
"probeUrl": "https://www.google.com/generate_204",
"probeInterval": "10s",
"enableConcurrency": false
}
}
```
@@ -34,10 +38,14 @@ Note that since the request interval is fixed, periodic fixed requests might lea
## BurstObservatoryObject
`BurstObservatoryObject` corresponds to the `burstObservatory` item in the configuration file.
```json
{
"subjectSelector": ["outbound"],
"pingConfig": {}
"burstObservatory": {
"subjectSelector": ["outbound"],
"pingConfig": {}
}
}
```
+2
View File
@@ -4,6 +4,8 @@ Blackhole is an outbound data protocol that blocks all outbound data. When used
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ It can allow queries to the target DNS server, `hijack` them to the built-in [DN
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ This outbound has a default safety policy in server-side and reverse-proxy scena
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -12,6 +12,8 @@ HTTP protocol.
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -10,6 +10,8 @@ The `hysteria protocol` itself has no authentication. When using with a non `hys
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -4,6 +4,8 @@ Loopback is an outbound data protocol. Its function is to re-inject data sent th
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -29,6 +29,8 @@ Under the "none" encryption method, traffic will be transmitted in plain text. T
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ Standard Socks protocol implementation, compatible with Socks 5.
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ Trojan is designed to work over a correctly configured encrypted TLS tunnel.
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -6,6 +6,8 @@ Unlike [VMess](./vmess.md), VLESS does not depend on system time. The authentica
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ VMess depends on system time. Please ensure that the UTC time of the system runn
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ Standard Wireguard protocol implementation.
## OutboundConfigurationObject
`OutboundConfigurationObject` corresponds to the `settings` item in [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+1 -1
View File
@@ -6,7 +6,7 @@ Transport specifies a stable method for data transmission. Generally, both ends
## StreamSettingsObject
`StreamSettingsObject` corresponds to the `streamSettings` item in inbound or outbound configurations. Each inbound or outbound can be configured with different transport settings independently, and `streamSettings` can be set to perform some transport configurations.
`StreamSettingsObject` corresponds to the `streamSettings` item in [`InboundObject`](./inbound.md) or [`OutboundObject`](./outbound.md). Each inbound or outbound can be configured with different transport settings independently, and `streamSettings` can be set to perform some transport configurations.
```json
{
+1 -1
View File
@@ -35,7 +35,7 @@ If you are using fallback, please note the following:
## GRPCObject
`GRPCObject` corresponds to the `grpcSettings` item in the transport configuration.
`GRPCObject` corresponds to the `grpcSettings` item in [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -9,7 +9,7 @@ Its design is not recommended for standalone use; instead, it is intended to wor
## HttpUpgradeObject
`HttpUpgradeObject` corresponds to the `httpupgradeSettings` item in transport configuration.
`HttpUpgradeObject` corresponds to the `httpupgradeSettings` item in [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -4,7 +4,7 @@ Xray implementation of the underlying QUIC transport for Hysteria2, typically us
## HysteriaObject
`HysteriaObject` corresponds to the `hysteriaSettings` item in the transport configuration.
`HysteriaObject` corresponds to the `hysteriaSettings` item in [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -10,7 +10,7 @@ Please ensure that the firewall configuration on the host is correct.
## KcpObject
`KcpObject` corresponds to the `kcpSettings` item in the transport configuration.
`KcpObject` corresponds to the `kcpSettings` item in [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -6,7 +6,7 @@ It can be combined with various protocols in multiple modes.
## RawObject
`RawObject` corresponds to the `rawSettings` item in transport configuration.
`RawObject` corresponds to the `rawSettings` item in [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -14,7 +14,7 @@ WebSocket will recognize the `X-Forwarded-For` header in HTTP requests to overwr
## WebSocketObject
`WebSocketObject` corresponds to the `wsSettings` item in the transport configuration.
`WebSocketObject` corresponds to the `wsSettings` item in [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+10 -6
View File
@@ -6,14 +6,18 @@
## GeodataObject
`GeodataObject` соответствует элементу `geodata` в файле конфигурации.
```json
{
"cron": "0 4 * * *",
"outbound": "proxy",
"assets": [
{ "url": "https://example.com/geoip.dat", "file": "geoip.dat" },
{ "url": "https://example.com/geosite.dat", "file": "geosite.dat" }
]
"geodata": {
"cron": "0 4 * * *",
"outbound": "proxy",
"assets": [
{ "url": "https://example.com/geoip.dat", "file": "geoip.dat" },
{ "url": "https://example.com/geosite.dat", "file": "geosite.dat" }
]
}
}
```
+2
View File
@@ -21,6 +21,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -6,6 +6,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -29,6 +29,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -10,6 +10,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@ Trojan предназначен для работы в правильно нас
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -4,6 +4,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -4,6 +4,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -6,6 +6,8 @@ VLESS - это легкий транспортный протокол без с
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@ VMess полагается на системное время. Убедитес
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+2
View File
@@ -8,6 +8,8 @@
## InboundConfigurationObject
`InboundConfigurationObject` соответствует элементу `settings` в [`InboundObject`](../inbound.md).
```json
{
"inbounds": [
+8 -6
View File
@@ -2,15 +2,17 @@
Более простой (и, надеемся, лучший) способ экспорта статистики.
## Соответствующая конфигурация
## MetricsObject
Добавьте метрики в основную конфигурацию:
`MetricsObject` соответствует элементу `metrics` в файле конфигурации.
```json
"metrics": {
"tag": "Metrics",
"listen": "127.0.0.1:11111"
}
{
"metrics": {
"tag": "Metrics",
"listen": "127.0.0.1:11111"
}
}
```
> `tag`: string
+21 -13
View File
@@ -1,23 +1,27 @@
# Мониторинг подключений
Компонент мониторинга подключений использует HTTP-пинги для проверки состояния подключения исходящих прокси. Результаты мониторинга могут использоваться другими компонентами, например, балансировщиком нагрузки.
В настоящее время доступны два режима: [observatory](#observatoryobject) (фоновый мониторинг подключений) и [burstObservatory](#burstobservatoryobject) (мониторинг параллельных подключений).
Компонент мониторинга подключений использует HTTP-пинги для проверки состояния подключения исходящих прокси. Результаты мониторинга могут использоваться другими компонентами, например, балансировщиком нагрузки.
В настоящее время доступны два режима: [observatory](#observatoryobject) (фоновый мониторинг подключений) и [burstObservatory](#burstobservatoryobject) (мониторинг параллельных подключений).
Выберите один из них в соответствии с вашими потребностями.
## ObservatoryObject
`ObservatoryObject` соответствует элементу `observatory` в файле конфигурации.
```json
{
"subjectSelector": ["outbound"],
"probeUrl": "https://www.google.com/generate_204",
"probeInterval": "10s",
"enableConcurrency": false
"observatory": {
"subjectSelector": ["outbound"],
"probeUrl": "https://www.google.com/generate_204",
"probeInterval": "10s",
"enableConcurrency": false
}
}
```
> `subjectSelector`: \[ string \]
Массив строк, каждый элемент которого будет использоваться для сопоставления с префиксом тега исходящего подключения.
Массив строк, каждый элемент которого будет использоваться для сопоставления с префиксом тега исходящего подключения.
Например, для следующих тегов исходящих подключений: `[ "a", "ab", "c", "ba" ]`, `"subjectSelector": ["a"]` будет соответствовать `[ "a", "ab" ]`.
> `probeUrl`: string
@@ -26,8 +30,8 @@ URL-адрес, используемый для проверки состоян
> `probeInterval`: string
Интервал между проверками.
Формат времени: число + единица измерения, например `"10s"`, `"2h45m"`.
Интервал между проверками.
Формат времени: число + единица измерения, например `"10s"`, `"2h45m"`.
Поддерживаемые единицы измерения: `ns`, `us`, `ms`, `s`, `m`, `h` (наносекунды, микросекунды, миллисекунды, секунды, минуты, часы).
> `enableConcurrency`: true | false
@@ -37,16 +41,20 @@ URL-адрес, используемый для проверки состоян
## BurstObservatoryObject
`BurstObservatoryObject` соответствует элементу `burstObservatory` в файле конфигурации.
```json
{
"subjectSelector": ["outbound"],
"pingConfig": {}
"burstObservatory": {
"subjectSelector": ["outbound"],
"pingConfig": {}
}
}
```
> `subjectSelector`: \[ string \]
Массив строк, каждый элемент которого будет использоваться для сопоставления с префиксом тега исходящего подключения.
Массив строк, каждый элемент которого будет использоваться для сопоставления с префиксом тега исходящего подключения.
Например, для следующих тегов исходящих подключений: `[ "a", "ab", "c", "ba" ]`, `"subjectSelector": ["a"]` будет соответствовать `[ "a", "ab" ]`.
> `pingConfig`: [PingConfigObject](#pingconfigobject)
@@ -72,7 +80,7 @@ URL-адрес, используемый для проверки состоян
> `connectivity`: string
URL-адрес, используемый для проверки подключения к локальной сети.
URL-адрес, используемый для проверки подключения к локальной сети.
Пустая строка означает, что проверка подключения к локальной сети не выполняется.
> `interval`: string
+2
View File
@@ -4,6 +4,8 @@ Blackhole - это протокол исходящих данных, котор
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ DNS — это исходящий протокол, который приним
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ Freedom — это исходящий протокол, который можн
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -12,6 +12,8 @@
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -10,6 +10,8 @@
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -4,6 +4,8 @@ Loopback - это исходящий протокол данных, которы
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -29,6 +29,8 @@
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ Trojan предназначен для работы в правильно нас
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -6,6 +6,8 @@ VLESS - это легкий транспортный протокол без с
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@ VMess полагается на системное время. Убедитес
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+2
View File
@@ -8,6 +8,8 @@
## OutboundConfigurationObject
`OutboundConfigurationObject` соответствует элементу `settings` в [`OutboundObject`](../outbound.md).
```json
{
"outbounds": [
+1 -1
View File
@@ -7,7 +7,7 @@
## StreamSettingsObject
`StreamSettingsObject` соответствует элементу `streamSettings` во входящем или исходящем подключении. Для каждого входящего или исходящего подключения можно настроить различные параметры передачи, и можно использовать `streamSettings` для настройки некоторых параметров передачи.
`StreamSettingsObject` соответствует элементу `streamSettings` в [`InboundObject`](./inbound.md) или [`OutboundObject`](./outbound.md).
```json
{
+1 -1
View File
@@ -34,7 +34,7 @@ gRPC (HTTP/2) имеет встроенное мультиплексирован
## GRPCObject
`GRPCObject` соответствует элементу `grpcSettings` конфигурации передачи.
`GRPCObject` соответствует элементу `grpcSettings` в [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -10,7 +10,7 @@
## HttpUpgradeObject
`HttpUpgradeObject` соответствует пункту `httpupgradeSettings` в настройках передачи.
`HttpUpgradeObject` соответствует элементу `httpupgradeSettings` в [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -4,7 +4,7 @@
## HysteriaObject
`HysteriaObject` соответствует пункту `hysteriaSettings` в конфигурации транспорта.
`HysteriaObject` соответствует элементу `hysteriaSettings` в [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -10,7 +10,7 @@ mKCP жертвует пропускной способностью ради у
## KcpObject
`KcpObject` соответствует параметрам передачи `kcpSettings`.
`KcpObject` соответствует элементу `kcpSettings` в [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -6,7 +6,7 @@
## RawObject
`RawObject` соответствует элементу `rawSettings` в конфигурации транспорта.
`RawObject` соответствует элементу `rawSettings` в [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{
+1 -1
View File
@@ -14,7 +14,7 @@ WebSocket распознает заголовок X-Forwarded-For в HTTP-зап
## WebSocketObject
`WebSocketObject` соответствует элементу `wsSettings` в конфигурации транспорта.
`WebSocketObject` соответствует элементу `wsSettings` в [`StreamSettingsObject`](../transport.md#streamsettingsobject).
```json
{