现在对本章作个总结。
V2Ray 的配置文件格式就像这样:
{
"log": {},
"inbounds": [],
"outbounds": [],
"routing": {},
"transport": {},
"dns": {},
"reverse": {},
"policy": {},
"stats": {},
"api": {}
}
总的来说,V2Ray 的配置有 10 个字段,每个字段都可以进一步展开成具体的配置。这些配置字段当中,本章有涉及到前面 4 项,关于 dns
、transport
和 reverse
将在后文说明。而 api
、policy
和 stats
的内容我不考虑出,对这些感兴趣的仔细研究手册吧。
要理解 V2Ray 的工作模式,首先得抛开客户端和服务器的概念(教程中说客户端和服务器是习惯了),我们更应该以中转节点的概念来理解。 V2Ray 只是一个转发数据的软件,只要它从入口当中接收到数据包,不管 V2Ray 对这些数据包做了什么(加密、解密、协议转换等),到最后肯定是要把这些数据包从出口发出去。每一个运行的 V2Ray 都是一个节点,它从上一个节点接收数据,发送到下一个节点,在这样由多个节点组成的代理链中,首节点和末节点就是我们常说的客户端和服务器。更广义地说,每个节点对于上一个节点来说是服务器,对于下一个节点来说是客户端。
无论是出口还是入口,我们首先要明确的是协议,只有协议对了才能正常通信。
V2Ray 的传入协议有 HTTP、SOCKS、VMess、Shadowsocks、Dokodemo-door;传出协议有 VMess、Shadowsocks、Blackhole、Freedom、SOCKS。
在 inbounds 和 outbounds 当中,无论使用了什么协议,inbounds 或者 outbounds 的配置格式都是一样的,区别只在于不同的协议对应的 settings 内容不一样。
- 2018-04-05 补充
- 2018-11-09 跟进 v4.0+ 配置格式