v2ray config.json 配置详解

目录

  1. 介绍
  2. 配置文件结构
  3. 核心配置项
  4. 进阶配置
  5. FAQ

介绍

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: 入站协议,如 vmesssockshttp
  • 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: 出站协议,如 vmessfreedomblackhole
  • 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

正文完