V2Ray 配置文件(config)说明
V2Ray config 配置文件说明:inbounds、outbounds、routing、dns 这几部分分别是做什么的,客户端界面里的设置和配置文件怎么对应,以及常用写法的示例。
config 的整体结构
一个最简化的 Xray 客户端配置(占位值),只保留主要部分:
{
"log": { "loglevel": "warning" },
"inbounds": [
{ "tag": "socks-in", "protocol": "socks", "listen": "127.0.0.1", "port": 10808 }
],
"outbounds": [
{
"tag": "proxy",
"protocol": "vless",
"settings": {
"vnext": [
{ "address": "[服务器地址]", "port": 443, "users": [ { "id": "your-uuid", "encryption": "none", "flow": "xtls-rprx-vision" } ] }
]
},
"streamSettings": { "network": "tcp", "security": "reality" }
},
{ "tag": "direct", "protocol": "freedom" },
{ "tag": "block", "protocol": "blackhole" }
],
"routing": {
"rules": [
{ "type": "field", "domain": ["geosite:cn"], "outboundTag": "direct" },
{ "type": "field", "ip": ["geoip:cn", "geoip:private"], "outboundTag": "direct" }
]
}
}
这只是用来看结构的示意,Reality 的公钥等字段省略了,不能直接使用。
| 部分 | 作用 |
|---|---|
log |
日志级别和日志文件位置 |
dns |
内置 DNS 服务器设置 |
inbounds |
入站:本地开哪些代理端口(SOCKS、HTTP 等),程序把流量发到这里 |
outbounds |
出站:代理节点(vless、vmess 等)、直连(freedom)、拦截(blackhole) |
routing |
路由规则:按域名、IP、端口等条件决定用哪个出站 |
客户端界面和 config 的对应
| v2rayN / v2rayNG 里的操作 | 对应 config 的部分 |
|---|---|
| 导入节点、设为活动 | outbounds 里的代理出站 |
| 本地端口设置 | inbounds 的端口 |
| 路由选「绕过大陆」 | routing 里 geosite:cn、geoip:cn 走直连的规则 |
| DNS 设置 | dns |
所以日常使用只需要在界面里操作,客户端会生成配置交给内核。路由规则的写法见 路由分流设置。
什么时候需要手写 config
- 自己搭建服务器(服务端配置);
- 需要客户端界面里没有的高级功能,例如复杂的分流、链式代理;
- 在路由器或服务器上直接运行 Xray 内核。
这时以 Xray 官方文档 为准,每个协议、传输方式的字段都有说明。VLESS 的字段见 VLESS 是什么,VMess 见 VMess 是什么。
v2rayN 的配置文件在哪里?
zip 便携版的数据都在解压出来的文件夹里。v2rayN 运行时会按你的设置生成内核用的配置文件,一般不需要手动修改;想用自己写的完整配置,可以在「配置项」菜单里「添加自定义配置」。
机场给的是 config.json,怎么导入?
在 v2rayN 的「配置项」菜单里选「添加自定义配置」,选择 JSON 文件。多数机场给的是订阅地址,按 导入订阅 操作更简单。
配置文件里的 tag 有什么用?
tag 是给入站、出站起的名字,routing 规则通过 inboundTag、outboundTag 引用它们,例如把国内网站交给 tag 为 direct 的出站。
改完配置连不上,怎么查错?
先检查 JSON 格式(逗号、引号、括号),再看内核日志里的报错。Xray 可以用 xray run -test -c config.json 测试配置是否能加载。