目录
介绍
v2ray 是一个功能强大的代理软件,支持多种代理协议和传输方式。它的配置文件 config.json
可以自定义各种功能和参数,实现个性化的代理设置。本文将详细介绍 config.json
的各项配置项,帮助用户全面掌握 v2ray 的配置和使用。
配置文件结构
v2ray 的配置文件 config.json
采用 JSON 格式,整体结构如下:
{ “log”: {}, “api”: {}, “dns”: {}, “routing”: {}, “policy”: {}, “inbounds”: [], “outbounds”: [], “stats”: {}, “reverse”: {}}
各个配置项的作用如下:
log
: 日志相关配置api
: 控制 API 相关配置dns
: DNS 服务器和域名解析相关配置routing
: 路由规则配置policy
: 访问策略配置inbounds
: 入站连接配置outbounds
: 出站连接配置stats
: 统计信息配置reverse
: 反向代理配置
下面我们将逐一介绍这些配置项的具体用法。
核心配置项
inbounds
inbounds
配置入站连接,即客户端连接 v2ray 服务器的设置。常见的配置项有:
port
: 监听端口protocol
: 入站协议,如vmess
、socks
、http
等settings
: 协议特定配置streamSettings
: 传输配置
例如: “inbounds”: [ { “port”: 10086, “protocol”: “vmess”, “settings”: { “clients”: [ { “id”: “b831381d-6324-4d53-ad4f-8cda48b30811”, “alterId”: 64 } ] }, “streamSettings”: { “network”: “ws”, “wsSettings”: { “path”: “/v2ray” } } } ]
outbounds
outbounds
配置出站连接,即 v2ray 服务器连接目标服务器的设置。常见的配置项有:
protocol
: 出站协议,如vmess
、freedom
、blackhole
等settings
: 协议特定配置streamSettings
: 传输配置proxySettings
: 代理服务器配置
例如: “outbounds”: [ { “protocol”: “vmess”, “settings”: { “vnext”: [ { “address”: “remote-server.com”, “port”: 10086, “users”: [ { “id”: “b831381d-6324-4d53-ad4f-8cda48b30811”, “alterId”: 64 } ] } ] }, “streamSettings”: { “network”: “ws”, “wsSettings”: { “path”: “/v2ray” } } }, { “protocol”: “freedom”, “settings”: {} } ]
routing
routing
配置路由规则,可以根据不同的条件进行分流。常见的配置项有:
rules
: 路由规则列表domainStrategy
: 域名策略balancers
: 负载均衡配置
例如: “routing”: { “domainStrategy”: “AsIs”, “rules”: [ { “type”: “field”, “domain”: [“geosite:google”], “outboundTag”: “google” }, { “type”: “field”, “ip”: [“geoip:cn”], “outboundTag”: “direct” }, { “type”: “field”, “protocol”: [“bittorrent”], “outboundTag”: “torrent” } ]}
dns
dns
配置 DNS 服务器和域名解析相关设置。常见的配置项有:
servers
: DNS 服务器列表hosts
: 静态 DNS 映射clientIp
: 客户端 IP
例如: “dns”: { “servers”: [ “8.8.8.8”, “8.8.4.4”, { “address”: “1.1.1.1”, “port”: 53, “domains”: [“geosite:google”] } ]}
policy
policy
配置访问策略,可以针对不同的用户或情况设置不同的策略。常见的配置项有:
levels
: 针对不同用户等级的策略system
: 针对系统事件的策略
例如: “policy”: { “levels”: { “0”: { “handshake”: 4, “connIdle”: 300, “uplinkOnly”: 2, “downlinkOnly”: 5, “statsUserUplink”: false, “statsUserDownlink”: false } }, “system”: { “statsInboundUplink”: false, “statsInboundDownlink”: false }}
api
api
配置控制 API,用于实现 v2ray 的远程控制和管理。常见的配置项有:
tag
: API 服务标识services
: 开放的 API 服务列表
例如: “api”: { “tag”: “api”, “services”: [ “HandlerService”, “LoggerService”, “StatsService” ]}
stats
stats
配置统计信息,用于收集和输出 v2ray 的各种统计数据。
例如: “stats”: {}
reverse
reverse
配置反向代理,用于实现通过 v2ray 进行反向代理访问。常见的配置项有:
portals
: 反向代理入口列表bridges
: 反向代理出口列表
例如: “reverse”: { “portals”: [ { “tag”: “portal_inbound”, “domain”: “portal.example.com” } ], “bridges”: [ { “tag”: “bridge_outbound”, “domain”: “bridge.example.com” } ]}
进阶配置
除了上述核心配置项,v2ray 还支持一些进阶配置,可以实现更加复杂的功能。
负载均衡
在 outbounds
中可以配置多个出站代理服务器,并在 routing
中设置负载均衡规则,实现对出站连接的负载均衡。 “outbounds”: [ { “protocol”: “vmess”, “settings”: { “vnext”: [ { “address”: “server1.example.com”, “port”: 10086, “users”: [ { “id”: “user1-id” } ] }, { “address”: “server2.example.com”, “port”: 10086, “users”: [ { “id”: “user2-id” } ] } ] } } ],”routing”: { “balancers”: [ { “tag”: “balancer”, “selector”: [ “outbound-01”, “outbound-02” ] } ], “rules”: [ { “type”: “field”, “outboundTag”: “balancer” } ]}
动态端口
v2ray 支持动态分配端口,可以根据需求动态创建新的入站连接。 “inbounds”: [ { “port”: 0, “protocol”: “dokodemo-door”, “settings”: { “address”: “127.0.0.1”, “port”: 10000, “network”: “tcp,udp” }, “dynamicPort”: { “min”: 10001, “max”: 10010, “accountGenerator”: “table”, “balance”: “random” } } ]
传输协议
v2ray 支持多种传输协议,如 TCP、WebSocket、mKCP、HTTP/2 等,可以根据需求选择合适的协议。
例如 WebSocket 传输协议: “streamSettings”: { “network”: “ws”, “wsSettings”: { “path”: “/v2ray” }}
TLS 配置
v2ray 支持 TLS 加密传输,可以提高安全性。TLS 配置可以在 streamSettings
中设置。 “streamSettings”: { “security”: “tls”, “tlsSettings”: { “serverName”: “example.com”, “alpn”: [ “http/1.1” ] }}
FAQ
Q1: 如何配置多个入站连接?
A1: 在 inbounds
中添加多个入站连接配置即可,每个入站连接可以有不同的协议和端口。
Q2: 如何配置多个出站连接?
A2: 在 outbounds
中添加多个出站连接配置即可,每个出站连接可以有不同的协议和目标服务器。
Q3: 如何配置 DNS 服务器?
A3: 在 dns
中配置 DNS 服务器地址和相关设置。可以设置多个 DNS 服务器,并根据域名进行分流。
Q4: 如何配置访问策略?
A4: 在 policy
中配置针对不同用户等级或系统事件的访问策略,如限制连接时间、流量等。
Q5: 如何开启 API 服务?
A5: 在 api
中配置 API 服务,并在 routing
中添加相应的路由规则。API 服务可用于远程管理和控制 v2ray。