配置文件格式
V2Ray 的配置文件形式如下,客户端和服务器通用一种形式,只是实际的配置不一样。
{
"port": 1080,
"log": {},
"routing": {},
"inbound": {},
"outbound": {},
"inboundDetour": {},
"outboundDetour": {}
}
其中:
- port: V2Ray 进程的主端口,它的取值是一个正整数,可以根据实际情况选取;
- log: 日志配置,见下文;
- routing: 路由配置,见下文;
- inbound: 传入连接配置,见下文;
- outbound: 传出连接配置,见下文;
- inboundDetour: 额外的传入连接配置,见下文;
- outboundDetour: 额外的传出连接配置,见下文。
日志配置(log)
{
"access": "文件地址",
"error": "文件地址",
"loglevel": "warning"
}
其中:
- access: 访问日志的文件地址,比如 /tmp/v2ray_access.log (Linux)或者 C:\Temp\v2ray_access.log(Windows)。
- error: 错误日志的文件地址,比如 /tmp/v2ray_error.log (Linux)或者 C:\Temp\v2ray_error.log(Windows)。
- logleve: 错误日志的级别,可选的值为 debug、info、warning 和 error。其中 debug 记录的数据最多,error 记录的最少。默认值为 warning。
路由配置(routing)
{
"strategy": "rules",
"settings": {
"rules": [
{
"type": "field",
"domain": [
"baidu.com",
"qq.com"
],
"outboundTag": "direct"
},
{
"type": "field",
"ip": "0.0.0.0/8",
"outboundTag": "direct"
},
{
"type": "field",
"network": "udp",
"outboundTag": "blocked"
}
]
}
}
其中:
- strategy: 路由模式,目前只有"rules"一个值;
- settings: 具体内容详见路由配置;
传入和传出连接配置(inbound / outbound)
传入和传出的连接配置形式一样,只是所用到的具体协议及详细配置不同,可用的协议请见[[协议列表]]。
{
"protocol": "连接协议",
"settings": {}
}
其中:
- protocol: 连接协议名称,可选的值见协议列表。
- settings: 具体的配置内容,视协议不同而不同。
额外的传入连接配置(inbound detour)
此项是一个数组,可包含多个连接配置,每一个配置形如:
{
"protocol": "协议名称",
"port": "端口",
"tag": "标识",
"allocate": {
"strategy": "always",
"refresh": 5,
"concurrency": 3
},
"settings": {}
}
其中:
- protocol: 连接协议名称,可选的值见协议列表。
- port: 端口号,可以是一个数值,或者字符串形式的数值范围,比如 "5-10" 表示端口 5 到端口 10 这 6 个端口。
- tag (V2Ray 1.5+): 此传入连接的标识,用于在其它的配置中定位此连接。属性值必须在所有 tag 中唯一。
- allocate (V2Ray 1.5+): 分配设置:
- strategy: 分配策略,可选的值有 always 和 random 两个。always 表示总是分配所有已指定的端口,port 是指定了多少个端口,V2Ray 就会监听这些端口。random 表示随机开放端口,每隔 refresh 分钟在 port 范围中随机选取 concurrency 个端口来监听。
- refresh: 随机端口刷新间隔,单位为分钟。最小值为 2,建议值为 5。这个属性仅当 strategy = random 时有效。
- concurrency: 随机端口数量。最小值为 1,最大值为 port 范围的一半。建议值为 3。
- settings: 具体的配置内容,视协议不同而不同。
额外的传出连接配置(outbound detour)
此项是一个数组,可包含多个连接配置,每一个配置形如:
{
"protocol": "协议名称",
"tag": "标识",
"settings": {}
}
其中:
- protocol: 连接协议名称,可选的值见协议列表;
- tag: 当前的配置标识,当路由选择了此标识后,数据包会由此连接发出;
- settings: 具体的配置内容,视协议不同而不同。