1. 修改【特性详解-多文件配置】中的错别字; 2. 润色一下文章,让小白也能看懂并达到手把手实操的程度。3. 增加idea编辑器应该忽略的文件夹 (#456)

* Fix typos and lubricate the article

* ignore idea and lubricate the article
pull/458/head
Aoleou Tubby 2024-01-20 16:50:31 -05:00 committed by GitHub
parent 8f33524a08
commit 362754555b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 33 additions and 9 deletions

1
.gitignore vendored
View File

@ -115,3 +115,4 @@ dist
.yarn/install-state.gz
.pnp.*
/docs/.vuepress/.temp/
.idea

View File

@ -54,12 +54,29 @@ $ xray run -confdir /etc/xray/confs
以多配置启动 Xray
```bash
# 路径 /etc/xray/confs 为多文件存放目录
$ xray run -confdir /etc/xray/confs
```
这两个配置文件的就等效于合成一起的整配置。当需要修改出口节点,只需要修改 `outbounds.json` 内容。
`base.json``outbounds.json` 这两个配置文件的效果之和等效于单文件配置的效果, 如下方所示:
如果需要改编日志 log 的级别,也不需要改 `base.json`,只需后续增加一个配置:
```json
{
"log": {},
"api": {},
"dns": {},
"stats": {},
"policy": {},
"transport": {},
"routing": {},
"inbounds": [],
"outbounds": []
}
```
当需要修改出口节点,只需要修改 `outbounds.json` 的内容。
如果需要改变日志 log 的级别,也不需要改 `base.json`,只需后续增加一个配置:
- debuglog.json
@ -71,22 +88,28 @@ $ xray run -confdir /etc/xray/confs
}
```
启动顺序放置在 base 后,即可输出 debug 级别的日志
启动顺序放置在 base 后,即可输出 debug 级别的日志。
::: tip
文件启动顺序是通过在每个文件名前面增加前缀数字的方式实现的,如 `00_文件名`, `01_文件名`。 数字越大排序越靠后。
:::
### 数组(`[]`
在 json 配置中的`inbounds`和`outbounds`是数组结构,他们有特殊的规则:
- 当配置中的数组元素有 2 或以上,覆盖前者的 inbounds/oubounds
- 当配置中的数组元素有 2 或以上,则后者覆盖前者的 inbounds/oubounds 的内容,详情看下方的【接近可用配置的例子】
- 当配置中的数组元素只有 1 个时,查找原有`tag`相同的元素进行覆盖;若无法找到:
- 对于 inbounds添加至最后inbounds 内元素顺序无关)
- 对于 outbounds添加至最前outbounds 默认首选出口);但如果文件名含有 tail大小写均可添加至最后。
借助多配置,可以很方便为原有的配置添加不同协议的 inbound而不必修改原有配置。
## 接近可用配置的例子
以下例子不是有效配置,只为展示上述规则。
- 000.json
- 00.json
```json
{
@ -100,7 +123,7 @@ $ xray run -confdir /etc/xray/confs
}
```
- 001.json
- 01.json
```json
{
@ -113,7 +136,7 @@ $ xray run -confdir /etc/xray/confs
}
```
- 002.json
- 02.json
```json
{
@ -127,7 +150,7 @@ $ xray run -confdir /etc/xray/confs
}
```
三个配置将会合为:
三个配置将会合为:
```json
{
@ -135,7 +158,7 @@ $ xray run -confdir /etc/xray/confs
{
"protocol": "socks",
"tag": "socks",
"port": 4321 // < 002000tagsocksinbound4321
"port": 4321 // < 02.json00.jsontagsocksinbound4321
},
{
"protocol": "http",