目录
什么是v2ray JSON配置文件
v2ray是一款功能强大的代理软件,它支持多种协议和丰富的配置选项。v2ray的配置文件采用JSON格式,可以灵活地定义各种代理场景。
JSON配置文件是v2ray的核心组成部分,它定义了v2ray的各种功能和行为。通过修改JSON配置文件,用户可以轻松地定制自己的v2ray服务,满足各种复杂的代理需求。
v2ray JSON配置文件结构
配置文件总体结构
v2ray的JSON配置文件主要包含以下几个顶级配置项:
log:日志相关配置api:API服务相关配置dns:DNS服务相关配置routing:路由规则配置policy:策略配置inbounds:入站连接配置outbounds:出站连接配置transport:底层传输配置stats:统计相关配置reverse:反向代理配置
配置项详解
各个配置项的具体含义如下:
log:定义日志相关设置,如日志级别、输出方式等。api:配置API服务,用于提供远程管理功能。dns:配置DNS服务,包括DNS服务器地址、DNS策略等。routing:定义路由规则,用于控制流量的流向。policy:配置访问策略,如速率限制、超时设置等。inbounds:定义入站连接的处理方式,如监听端口、协议类型等。outbounds:定义出站连接的处理方式,如代理服务器地址、协议类型等。transport:配置底层传输协议,如TLS、mKCP等。stats:配置流量统计相关设置。reverse:配置反向代理功能。
常见配置选项
inbounds
inbounds定义了v2ray接收入站连接的配置,包括监听端口、协议类型、用户认证等。常见的inbounds配置项有:
port:监听端口protocol:入站连接使用的协议,如Socks、HTTP、VMess等settings:协议相关的配置选项streamSettings:底层传输配置,如TLS、mKCP等
outbounds
outbounds定义了v2ray发起出站连接的配置,包括代理服务器地址、协议类型、路由策略等。常见的outbounds配置项有:
protocol:出站连接使用的协议,如Socks、HTTP、VMess等settings:协议相关的配置选项streamSettings:底层传输配置,如TLS、mKCP等proxySettings:代理服务器相关配置
routing
routing定义了v2ray的路由规则,用于控制流量的流向。常见的routing配置项有:
rules:路由规则列表,每条规则包含匹配条件和路由目标domainStrategy:域名解析策略balancers:负载均衡配置
dns
dns定义了v2ray的DNS服务配置,包括DNS服务器地址、DNS策略等。常见的dns配置项有:
servers:DNS服务器地址列表hosts:静态域名解析规则tag:DNS服务标签,用于路由
配置示例
简单的客户端配置
{ “inbounds”: [ { “port”: 1080, “protocol”: “socks”, “settings”: { “auth”: “noauth” } } ], “outbounds”: [ { “protocol”: “vmess”, “settings”: { “vnext”: [ { “address”: “server.example.com”, “port”: 443, “users”: [ { “id”: “b831381d-6324-4d53-ad4f-8cda48b30811”, “alterId”: 64 } ] } ] }, “streamSettings”: { “network”: “ws”, “security”: “tls” } } ]}
复杂的服务端配置
{ “log”: { “loglevel”: “warning” }, “inbounds”: [ { “port”: 443, “protocol”: “vmess”, “settings”: { “clients”: [ { “id”: “b831381d-6324-4d53-ad4f-8cda48b30811”, “alterId”: 64 }, { “id”: “c4b18d6a-cb80-41f9-8208-7a9c1a9a06a1”, “alterId”: 32 } ] }, “streamSettings”: { “network”: “ws”, “wsSettings”: { “path”: “/mypath” }, “security”: “tls”, “tlsSettings”: { “certificates”: [ { “certificateFile”: “/path/to/certificate.crt”, “keyFile”: “/path/to/private.key” } ] } } } ], “outbounds”: [ { “protocol”: “freedom”, “settings”: {} } ], “routing”: { “rules”: [ { “type”: “field”, “ip”: [“geoip:private”], “outboundTag”: “block” }, { “type”: “field”, “domain”: [“geosite:category-ads-all”], “outboundTag”: “block” } ] }, “dns”: { “servers”: [ “8.8.8.8”, “8.8.4.4” ] }}
FAQ
如何配置多用户?
在inbounds的settings.clients字段中添加多个用户配置即可。每个用户需要有唯一的id和alterId。
如何设置不同协议的入站和出站?
在inbounds和outbounds中分别配置不同的protocol即可,比如入站使用Socks协议,出站使用VMess协议。
如何配置动态端口?
在inbounds中设置port为0即可启用动态端口功能。同时需要在policy中配置相关的策略,如速率限制等。
如何设置DNS?
在dns部分配置servers和hosts即可。servers用于设置DNS服务器地址,hosts用于配置静态域名解析规则。
如何配置路由规则?
在routing部分的rules字段中添加路由规则。规则包括匹配条件(如域名、IP等)和路由目标(如direct、block、proxy等)。

