简繁转换

小巧工具 V2Ray

2015 年 12 月 11 日

新出炉小巧工具 V2Ray,V2Ray 支持加密网络流量,抗干扰强,支持多自定义功能。并且官方提供服务器做测试。支持平台 Windows、Linux、Mac,未来还会支持 iOS 和 Android(准备开始了),这玩意不用多介绍就知道是用来干嘛的。

刚开始上手可能会感到一阵稀里糊涂,建议把官方维科从头到尾看一遍就有个大概(我不会告诉你官档乱乱的)。当初初始版本上手快,后发觉功能变多了,基本信息其实就是:服务器端配置 + 客户端配置。协议和白名单等多种配置稍微复杂另讲,属于进阶阶段!基本配置搞好就能正常使用,本文需从头到尾看一遍,不操作。

环境

测试环境:Debian 7 x64

服务器安装

apt-get update
apt-get install unzip curl -y
curl -L -s https://raw.githubusercontent.com/v2ray/v2ray-core/master/release/install-release.sh | bash
或
bash <(curl -L -s https://install.direct/go.sh)

# 老版本 status
service v2ray status                    # 查看状态
                                           ↓
[OK] v2ray is running.                  # 已运行
[FAIL] v2ray is not running ... failed! # 未运行就执行 service v2ray start

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# 新版本 status
service v2ray status                    # 查看状态
                                           ↓
● v2ray.service - V2Ray Service         # 已运行
   Loaded: loaded (/lib/systemd/system/v2ray.service; enabled)
   Active: active (running) since Fri 2016-xx-xx 04:39:39 EST; 12s ago
 Main PID: 2542 (v2ray)
   CGroup: /system.slice/v2ray.service
           └─2542 /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json

Dec 09 04:39:39 alpharacks systemd[1]: Started V2Ray Service.
Dec 09 04:39:39 alpharacks v2ray[2542]: V2Ray v2.9 (One for all) 20161204
Dec 09 04:39:39 alpharacks v2ray[2542]: An unified platform for anti-censorship.
Hint: Some lines were ellipsized, use -l to show in full.

# 不出现这些信息,尝试执行 service v2ray start

2.命令service v2ray start|stop|status|reload|restart|force-reload

3.路径

日志:/var/log/v2ray/access.log
程序:/usr/bin/v2ray/v2ray
配置:/etc/v2ray/config.json
卸载:删除上述文件

4.配置基本格式

{
  "log": {},                    # 日志配置
  "dns": {},                    # DNS 配置
  "routing": {},                # 路由配置
  "inbound": {},                # 入口配置
  "outbound": {},               # 出口配置
  "inboundDetour": [],          # 额外入口配置
  "outboundDetour": [],         # 额外出口配置
  "transport": {}               # 底层传输配置
}

服务器配置

config.json

{
  "log" : {
    "access": "/var/log/v2ray/access.log",                  # 访问日志
    "error": "/var/log/v2ray/error.log",                    # 错误日志
    "loglevel": "warning"                                   # 级别:debug、info、warning、error、none
  },
  "inbound": {                                              # 入口配置
    "port": 21060,                                          # 端口
    "protocol": "vmess",                                    # vmess 默认。各种连接协议:Blackhole(数据传出协议)、Dokodemo-door(数据传入)、Freedom(数据传出)、HTTP(数据传入)、Shadowsocks(数据传出/入)、Socks(数据传入)、VMess(加密协议分传出/入)
    "settings": {                                           # 设置的具体内容
      "clients": [                                          # (重要)验证用户 ID,支持多用户,服务器和客户端 ID 需相同,下面有生成 ID 网站
        {
          "id": "872180d2-7a2a-411a-8f06-044ef00a4b32",     # 对应 User 1 客户端 ID
          "id": "23ff7dbb-0a3c-4eb2-9101-d2acaf424693",     # 对应 User 2 客户端 ID
          "level": 1,                                       # 用户等级,自用为 1,共享为 0,大于 0 时,将对该用户进行严格安全限制
          "alterId": 100                                    # 指定数量:推荐 100,默认 0,最大 65535。作用防止探测,在主 ID 上额外生成多个 ID
          "email": "this@mail.com"                          # 区分用户的流量
        }
      ]
    }
  },
  "outbound": {                                             # 出口配置
    "protocol": "freedom",                                  # freedom 默认。协议:Blackhole、Dokodemo-door、Freedom、HTTP、Shadowsocks、Socks、VMess
    "settings": {}                                          # 设置的具体内容,列出的才用到这部分:SOCKS 5 客户端、连接多服务器、端口映射、中转、静态路由
  },
  "outboundDetour": [                                        
    {
      "protocol": "blackhole",                              # 额外的出口协议:Blackhole、Dokodemo-door、Freedom、HTTP、Shadowsocks、Socks、VMess
      "settings": {},
      "tag": "blocked"                                      # 标示作用,用于在其它的配置中定位此连接,貌似在路由功能中用到。参数:blocked、direct
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "type": "field",                                  # 默认屏蔽所有局域网流量,规则列表:field、chinaip 、chinasites
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "blocked"                          # 出口协议 Freedom 的标签:blocked、direct
        }
      ]
    }
  },
  "transport": {                                            # 底层传输配置,指定 v2ray 使用基础哪些网络协议,具体看官方文档。
    "kcpSettings": {                                        # 当前连接的 KCP 配置,仅当此连接使用 KCP 时有效
      "uplinkCapacity": 5,                                  # 上行链路容量,即主机发出数据所用的最大带宽,单位 MB,默认值 5
      "downlinkCapacity": 20                                # 下行链路容量,即主机接收数据所用的最大带宽,单位 MB,默认值 20                    
    }
  }
}

6.(进阶)常用配置:
SOCKS5 客户端单客户端连接多服务器黑名单模式Remote Desktop 端口映射VMess 服务器端
服务器端动态端口Shadowsocks 服务器端国内 VPS 中转静态路由广告拦截

客户端下载

下载:V2Ray(v2.9) / BT Sync

客户端配置

config.json

{
  "log": {
    "loglevel": "warning"
  },
  "inbound": {                                                # 入口协议
    "port": 1080,                                             # 监听端口
    "listen": "127.0.0.1",                                    # 入口协议
    "protocol": "socks",
    "settings": {
      "auth": "noauth",                                       # 不认证
      "udp": false,                                           # 不开启 UDP 转发
      "ip": "127.0.0.1"
    }
  },
  "outbound": {
    "protocol": "vmess",                                      # 默认 vmess 出口协议
    "settings": {
      "vnext": [
        {
          "address": "v2ray.cool",                            #(重要)服务器 IP
          "port": 10086,                                      #(重要)对应服务器 V2Ray 端口
          "users": [                                          #(重要)验证用户 ID
            {
              "id": "872180d2-7a2a-411a-8f06-044ef00a4b32",
              "alterId": 100                                  # 对应服务器端参数
            }
          ]
        }
      ]
    }
  },
  "outboundDetour": [
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "direct"
    }
  ],
  "dns": {
    "servers": [
      "8.8.8.8",
      "8.8.4.4",
      "localhost"
    ]
  },
  "routing": {
    "strategy": "rules",
    "settings": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "type": "field",
          "port": "1-52",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "port": "54-79",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "port": "81-442",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "port": "444-65535",
          "outboundTag": "direct"
        },
        {
          "type": "chinasites",
          "outboundTag": "direct"
        },
        {
          "type": "field",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "direct"
        },
        {
          "type": "chinaip",
          "outboundTag": "direct"
        }
      ]
    }
  },
  "transport": {
    "kcpSettings": {
      "uplinkCapacity": 1,
      "downlinkCapacity": 10
    }
  }
}

2.运行 v2ray.exe

3.SwitchyOmega 插件

情景名称:    AQ
代理服务器:  127.0.0.1
代理端口:    1080
代理协议:    socks5

最后开启情景模式 AQ 完成操作,v2yar.exe 实时窗口显示图:

一键脚本目前只适用于 SysV 模式,不支持 systemd,并建议服务器端与客户端 config.json 的随机 ID 自己动手生成,点击生成UUID

V2ray 需要配置 Chrome 安装 SwitchyOmega 来达到浏览目的网页。做了简单测试受服务器影响,V2Ray 速度和 SS 差距不大,等待 V2Ray 下一步更新更多功能。

无论服务器端还是客户端服务器修改配置,安装好和下载的配置中只需要修改 IP、Port、UUID 然后注意主机和本地时间差、插件设置好,基本就能使用,设置协议属于进阶阶段。

问题集

1.正常安装不能使用:
a.客户端和服务器端的用户 ID 不匹配;
b.客户端和服务器端的用户 alterId 不匹配;
c.客户端与服务器的时间不匹配,误差不能超过两分钟; # 被这条卡过
d.浏览器插件未启用;
e.其它主机因素。

2.客户端错误信息:

[Warning]Internet|Listener: Failed to listen on 127.0.0.1:1080
[Error]Socks: failed to listen on 127.0.0.1:1080: listen tcp 127.0.0.1:1080: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

解决:关闭占用 1080 端口进程。

3.没有系统图标:下载 v2ray-taskbar 同目录运行。

4.不成功的时候需要耐心,对照文档、各种协议参数、配置方式慢慢来测试,只能说这玩意确实有点复杂。

5.远程和本地时间解决

rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date

6.官方联系方式,以前还没有,发邮件都不会回复,现在:
Twitter:https://twitter.com/projectv2ray
Gitter:https://gitter.im/v2ray/v2ray-core
Telegram:https://telegram.me/projectv2ray
Google+: https://plus.google.com/communities/118329549804626583700

! 可能 超过 1 年没有更新,内容也许不会继续维护支持。时效性、细节和使用,本文不保证相应技术更新和实践操作性。