V2Fly.orgV2Fly.org
快速开始
配置文档
配置文档 (v5, WIP)
工具列表
开发手册
新白话文指南
  • 简体中文
  • English
GitHub
快速开始
配置文档
配置文档 (v5, WIP)
工具列表
开发手册
新白话文指南
  • 简体中文
  • English
GitHub
  • 配置文件

    • 配置文件格式
    • 环境变量
    • DNS 域名解析
    • Routing 路由
    • Policy 本地策略
    • Inbounds
    • Outbounds
    • Transport
    • API 远程控制
    • Stats 统计信息
    • Reverse 反向代理
    • 多文件配置
    • FakeDNS
    • 浏览器转发模块
    • Observatory 连接观测
  • 协议列表

    • Blackhole
    • DNS
    • Dokodemo-door
    • Freedom
    • HTTP
    • Socks
      • OutboundConfigurationObject
        • ServerObject
        • UserObject
      • InboundConfigurationObject
        • AccountObject
    • VMess
    • Shadowsocks
    • Trojan
    • VLESS
    • Loopback
    • Hysteria2
  • 传输方式

    • TCP
    • mKCP
    • WebSocket
    • HTTP/2
    • QUIC
    • DomainSocket
    • gRPC
    • Hysteria2
  • 服务

    • Stats 统计信息
    • Policy 本地策略
    • 浏览器转发模块
    • 并发连接观测
    • 后台连接观测
    • Tun
    • 订阅管理器

Socks

  • 名称:socks
  • 类型:入站 / 出站

标准 Socks 协议实现,兼容 Socks 4、Socks 4a 和 Socks 5。

Socks 的配置分为两部分,InboundConfigurationObject 和 OutboundConfigurationObject,分别对应入站和出站协议配置中的 settings 项。

注意

如果你将 Socks5 代理在不安全的网络环境中分享给其他人使用,建议搭配防火墙使用。

Rfc: SOCKS 5 的认证在使用 UDP 时可被绕过

OutboundConfigurationObject

{
    "servers": [
        {
            "address": "127.0.0.1",
            "port": 1234,
            "users": [
                {
                    "user": "test user",
                    "pass": "test pass",
                    "level": 0
                }
            ]
        }
    ]
}

需要注意:虽然 Socks Outbound 可以作为对外访问的配置,但 Socks 协议没有对传输加密,不适宜经公网中传输。

Socks Outbound 更有意义的用法是在特殊情况下,只能使用 Socks Proxy 对外访问内部网络中,作为为其他协议连接代理服务器的前置代理使用(见 OutboundObject 的 ProxySettingsObject)。

servers: [ ServerObject ]

Socks 服务器列表,其中每一项是一个服务器配置。

version: "5" | "4a" | "4"

Socks 协议版本。 (v4.42.2+)

ServerObject

{
    "address": "127.0.0.1",
    "port": 1234,
    "users": [
        {
            "user": "test user",
            "pass": "test pass",
            "level": 0
        }
    ]
}

address: address

服务器地址。

port: number

服务器端口

users: [ UserObject ]

用户列表,其中每一项一个用户配置。当列表不为空时,Socks 客户端会使用此用户信息进行认证;如未指定,则不进行认证。

UserObject

{
    "user": "test user",
    "pass": "test pass",
    "level": 0
}

user: string

用户名

pass: string

密码

level: number

用户等级

InboundConfigurationObject

应该注意,虽然 socks inbound 可以公共服务端口,但 socks 协议没有对传输加密,不适宜经公网中传输。socks inbound 更有意义的用法是在局域网或本机环境下,为其他程序提供本地服务。

{
    "auth": "noauth",
    "accounts": [
        {
            "user": "my-username",
            "pass": "my-password"
        }
    ],
    "udp": false,
    "ip": "127.0.0.1",
    "userLevel": 0,
    "packetEncoding": "None"
}

auth: "noauth" | "password"

Socks 协议的认证方式,支持 "noauth" 匿名方式和 "password" 用户密码方式。默认值为 "noauth"。

accounts: [ AccountObject ]

一个数组,数组中每个元素为一个用户帐号。默认值为空。此选项仅当 auth 为 password 时有效。

udp: true | false

是否开启 UDP 协议的支持。默认值为 false。

ip: address

SOCKS5 通过 UDP ASSOCIATE 命令建立 UDP 会话。服务端在对客户端发来的该命令的回复中,指定客户端发包的目标地址。

  • v4.34.0+: 默认值为空,此时对于通过本地回环 IPv4/IPv6 连接的客户端,回复对应的回环 IPv4/IPv6 地址;对于非本机的客户端,回复当前入站的监听地址。
  • v4.33.0 及更早版本: 默认值 127.0.0.1。

你可以通过配置此项使 V2Ray 固定回复你配置的地址。如果你不知道此项的作用,留空即可。

userLevel: number

用户等级,所有连接使用这一等级。

packetEncoding: "None" | "Packet"

UDP 包编码方式,默认值为 None。 当该值为 None 时,UDP 将根据目标地址被映射 (Address and Port-Dependent Mapping)。 当该值为 Packet 时,UDP 将被端点独立映射 (Endpoint Independent Mapping),此 UDP 行为也被称为 FullCone 或 NAT1。

AccountObject

{
    "user": "my-username",
    "pass": "my-password"
}

user: string

用户名

pass: string

密码

在 GitHub 上编辑此页
上次更新:
贡献者: kslr, EpLiar, Kslr, database64128, Shelikhoo, 秋のかえで, mkmark
Prev
HTTP
Next
VMess