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 时有效。配置内容与上面的全局配置相同。

results matching ""

    No results matching ""