V2ray基本配置方法
UUID 生成网站: https://www.uuidgenerator.net
"log": {}, # 日志文件
"api": {}, # 远程控制配置
"dns": {}, # DNS设置
"routing": {}, # 路由配置
"policy": {},
"inbound": {}, # 主传入设置
"outbound": {}, # 主传出设置
"inboundDetour": [], # 额外传入设置
"outboundDetour": [], # 额外传出设置
"transport": {}. # 底层传输配置
DNS配置
"dns": {
"hosts": {
"baidu.com": "127.0.0.1"
},
"servers": [
"8.8.8.8",
"8.8.4.4",
"localhost"
]
}
路由配置 routing
"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"
}
]
}
}
- type: 传输方法
- 传输范围
- domain
- ip: 监听地址,只允许 IP 地址,默认值为"0.0.0.0"。
- network
- outboundTag: 根据标签选择传出方式
主传入配置(客户端必须) inbound
"inbound": {
"port": 1080,
"listen": "127.0.0.1",
"protocol": "协议名称",
"settings": {},
"streamSettings": {},
"tag": "标识",
"domainOverride": ["http", "tls"]
}
- port: 端口。
- listen: 监听地址,只允许 IP 地址,默认值为"0.0.0.0"。
- protocol: 连接协议名称包括Blackhole、Dokodemo-door、Freedom、HTTP、Shadowsocks、Socks、VMess。
- settings: 具体的配置内容,视协议不同而不同。
- streamSettings: 底层传输配置。
- tag: 此传入连接的标识,用于在其它的配置中定位此连接。属性值必须在所有 tag 中唯一。
- domainOverride: 识别相应协议的流量,并根据流量内容重置所请求的目标。
- 接受一个字符串数组,默认值为空。
- 可选值为 "http" 和 "tls"。
vmess方式服务端配置参考下面例子:
"inboundDetour": [
{
"port": 16823,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "454af532-9d5b-4af6-8c1a-8974984947e9",
"alterId": 64
}
]
}
}
额外传入配置 inbound Detour
"inboundDetour":[
{
"protocol": "协议名称",
"port": "端口",
"tag": "标识",
"listen": "127.0.0.1",
"allocate": {
"strategy": "always",
"refresh": 5,
"concurrency": 3
},
"settings": {},
"streamSettings": {},
"domainOverride": ["http", "tls"]
}
]
- protocol: 连接协议名称,可选的值见协议列表。
- port: 端口号,可以是一个数值,或者字符串形式的数值范围,比如"5-10"表示端口 5 到端口 10 这 6 个端口。
- tag: 此传入连接的标识,用于在其它的配置中定位此连接。属性值必须在所有 tag 中唯一。
- listen: 监听地址,只允许 IP 地址,默认值为"0.0.0.0"。
- allocate: 分配设置:
- strategy: 分配策略,可选的值有"always"和"random"两个。"always"表示总是分配所有已指定的端口,port 是指定了多少个端口,V2Ray 就会监听这些端口。random 表示随机开放端口,每隔 refresh 分钟在 port 范围中随机选取 concurrency 个端口来监听。
- refresh: 随机端口刷新间隔,单位为分钟。最小值为2,建议值为5。这个属性仅当 strategy = random 时有效。
- concurrency: 随机端口数量。最小值为1,最大值为 port 范围的一半。建议值为3。
- settings: 具体的配置内容,视协议不同而不同。
- streamSettings: 底层传输配置。
- domainOverride (V2Ray 2.25+): 识别相应协议的流量,并根据流量内容重置所请求的目标。
- 接受一个字符串数组,默认值为空。
- 可选值为 "http" 和 "tls"。
主传出配置(客户端必须) outbound
"outbound": {
"sendThrough": "0.0.0.0",
"protocol": "协议名称",
"settings": {},
"tag": "标识",
"streamSettings": {},
"proxySettings": {
"tag": "another-outbound-tag"
},
"mux": {}
}
- protocol: 连接协议名称包括Blackhole、Dokodemo-door、Freedom、HTTP、Shadowsocks、Socks、VMess。
- sendThrough: 用于发送数据的 IP 地址,当主机有多个 IP 地址时有效,默认值为"0.0.0.0"。
- settings: 具体的配置内容,视协议不同而不同。
- tag: 此传出连接的标识,用于在其它的配置中定位此连接。属性值必须在所有 tag 中唯一。
- streamSettings: 底层传输配置。
- proxySettings: 传出代理配置。当传出代理生效时,此传出协议的streamSettings将不起作用。
- tag: 当指定另一个传出协议的标识时,此传出协议发出的数据,将被转发至所指定的传出协议发出。
- mux: Mux 配置。
vmess客户端访问参考下面例子:
"outbound": {
"protocol": "vmess", // 出口协议
"settings": {
"vnext": [
{
"address": "serveraddr.com", // 服务器地址,请修改为你自己的服务器 ip 或域名
"port": 16823, // 服务器端口
"users": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811", // 用户 ID,必须与服务器端配置相同
"alterId": 64 // 此处的值也应当与服务器相同
}
]
}
]
}
}
额外传出配置 outbound Detour
"outboundDetour": [
{
"sendThrough": "0.0.0.0",
"protocol": "协议名称",
"settings": {},
"tag": "标识",
"streamSettings": {},
"proxySettings": {
"tag": "another-outbound-tag"
},
"mux": {}
}
]
底层传输配置 transport
"transport": {
"network": "tcp",
"security": "none",
"tlsSettings": {
"serverName": "v2ray.com",
"allowInsecure": false,
"certificates": [
{
"certificateFile": "/path/to/certificate.crt",
"keyFile": "/path/to/key.key"
}
]
},
"tcpSettings": {},
"kcpSettings": {},
"wsSettings": {}
}
- network : 数据流所使用的网络,可选的值为 "tcp"、 "kcp" 或 "ws",默认值为 "tcp";
- security : 是否启入传输层加密,支持的选项有 "none" 表示不加密(默认值),"tls" 表示使用 TLS。
- tlsSettings : TLS 配置。TLS 由 Golang 提供,支持 TLS 1.2,不支持 DTLS。
- serverName : 指定服务器端证书的域名,在连接由 IP 建立时有用。
- allowInsecure : 是否允许不安全连接(用于客户端)。当值为 true 时,V2Ray 不会检查远端主机所提供的 TLS 证书的有效性。
- certificates : 证书列表(用于服务器端),其中每一项表示一个证书:
- certificateFile : 证书文件,如使用 OpenSSL 生成,后缀名为 .crt。
- keyFile : 密钥文件,如使用 OpenSSL 生成,后缀名为 .key。目前暂不支持需要密码的 key 文件。
- tcpSettings : 当前连接的 TCP 配置,仅当此连接使用 TCP 时有效。配置内容与上面的全局配置相同。
- kcpSettings : 当前连接的 mKCP 配置,仅当此连接使用 mKCP 时有效。配置内容与上面的全局配置相同。
- wsSettings : 当前连接的 WebSocket 配置,仅当此连接使用 WebSocket 时有效。配置内容与上面的全局配置相同。