V2Ray完全使用教程

2Ray是一个优秀的开源网络代理工具,可以帮助你畅爽体验互联网,目前已经全平台支持Windows、Mac、Android、IOS、Linux等操作系统的使用。相对起Shadowsocks来说属于后起之秀,在混淆能力、兼容性、速度上有着独到的优点。在目前Shadowsocks、ShadowsocksR停止更新的情况下,多掌握一个活跃项目工具的使用是完全有必要的。本文最后一次更新时间为:2018-7-08

到目前为止,V2Ray项目的状况良好,衍生出一系列GUI客户端,而不再是原先单一的命令行工具。项目更名为Project V,而V2Ray则是Project V项目的内核,如果你对项目本身不感兴趣,依然可以按照原先的方式理解。

一、V2Ray(Project V)介绍

Project V 包含一系列工具,帮助你打造专属的定制网络体系。

项目至今仍旧活跃,相信在今后可以带来更多令人期待的新特性,使V2Ray的性能和安全性得到不断提升。对此感兴趣的可以去GitHub Star V2Ray-core 这个项目,也可以通过 捐助 鼓励开发者更积极的工作。

和Shadowsocks一样,V2Ray的运行需要服务端和客户端的相互支持,也就是说除了你正在使用的设备,你还需要配置一个境外远程服务器。这个过程并不是很简单,需要付出你的一点点努力才能完成,所以我在这里分享出我的使用经验,与君共勉。

1-2、和Shadowsocks有什么区别

V2ray 更像是一个集成工具,它集合了多种多样的协议和功能,对个人用户而言像是一个工具箱,可以使用各种各样的工具组合。对开发者而言像是一个脚手架,可以在此基础上开发扩充自己需要的功能而节省开发时间。

总而言之大体上的道理是相同的,你若是需要个性化的功能,那么需要更复杂的配置,若是需要最基本、普遍的功能,只需要在已有基础上稍作修改即可。

所需工具:

境外VPS:

地域选择

任何境外 VPS 都可以,一般而言香港、台湾、新加坡、韩国、日本等亚洲机房速度(延迟小)最快,但价格贵并且由于用的人多经常会被重点关照。无论如何,如果预算充足并追求速度可以选择这些机房。

美国VPS价格低廉宽带足,其中的洛杉矶(Los Angeles)、西海岸(Seattle)两个机房对中国物理距离最近,这两个机房为首选。

退一步说话,就目前的网络优化技术下(推荐BBR),延迟对实际感觉到的网速而言存在感并不够强烈,所以需要更注重掉包率。最差的情况下(网络优化前),延迟不应该高过350,掉包率不应该超过15%,这样就已经能满足大多数人的网络体验了。

所以选购VPS时,大多数人并不需要太过追求于日本、香港线路,追求各种CN2优化的极致速度,大多数VPS实际上就已经能满足需求了,前提是开启BBR优化,这一点很重要。

商家选择

点击图片进入官网注册账户

购买VPS推荐使用 Vultr ,支持支付宝付款(付款时选择Alipay),多地机房选择最低月付 2.5$起,按小时计费可随时删除创建多个 VPS(意味着实际上无流量限制,通过备份快照,删除再还原VPS的方式可以重置流量)。

购买VPS后,推荐安装Ubuntu系统,因为简单易用且教程丰富,遇到问题容易找到解决方法,接下来的服务端部署教程全部基于Ubuntu系统。

耐心+加油

若有 Linux 系统(如 Ubuntu) 使用经验,那么这个过程对你来说是轻而易举。即使你没有太多电脑基础也没有关系,跟着本文进行操作,遇到不懂的问题善于使用搜索,或者在本文下方的评论区留言求助,相信机智的你可以轻松搞定。

二、服务端搭建过程

开始讲解在VPS上部署V2Ray的过程。大多数情况下使用自动安装脚本是最简单的方法,当你无法使用脚本安装成功后,可以跟随2-2部分内容手动安装。

2-1自动安装脚本(推荐)

目前自动安装脚本支持所有主流系统,只需一行命令即可完成安装,当你想要更新V2Ray的时候同样只需要运行下面一行命令即可。($ 符号表示这是 shell 命令,不属于命令的一部分,无须复制。下同)

$ bash <(curl -L -s https://install.direct/go.sh)

运行以上命令需要 root 权限,所以请切换到 root 账户下运行。该脚本会自动安装unzipdeamon,并安装以下四个文件:

  • /usr/bin/v2ray/v2ctl:V2Ray 工具;
  • /etc/v2ray/config.json:配置文件;
  • /usr/bin/v2ray/geoip.dat:IP 数据文件
  • /usr/bin/v2ray/geosite.dat:域名数据文件

脚本安装完成无误后,可以进行如下操作:

  1. 编辑 vim /etc/v2ray/config.json 文件来配置你需要的代理方式;
  2. 运行 systemctl v2ray start 来启动 V2Ray 进程;
  3. 之后可以使用 systemctl v2ray start|stop|status|reload|restart|force-reload 控制 V2Ray 的运行。

以上命令均需要 root 权限。对于第一步编辑配置文件,可以偷懒不进行改动,不过最好改动一下端口以及 ID,改动 ID 是为了安全不被盗用,改动端口为三位数或更少,对速度有所改善(最好改为80、443端口),这是一种玄学 : ) 。若需要配置Shadowscoks,则需要进一步配置,可以参考下面章节 2-2手动安装中的部分。

2-2手动安装

2-2-1下载与安装

如果你不能使用自动安装或者安装失败,那么可以尝试手动安装。首先 SSH 连接上自己的 VPS,然后到 Releases 找到适合自己 VPS 系统的版本,在下载链接上右键复制链接。

大多数情况下,VPS的CPU都是Inter架构,而系统位数则已经在购买VPS时就已经选择了,所以下列查询架构和运行模式的部分只在不确定的时候再进行。

那么如何判断 CPU 型号以及运行模式(32 还是 64)呢?可以通过命令很方便的查询,比如来查询 CPU 运行模式:

$ getconf LONG_BIT
32

返回的 32 表明运行模式为 32 位,查询 CPU 型号也只需要一行命令:

$ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
2 Intel(R) Xeon(R) CPU E5620 @ 2.40GHz

下列命令是主要过程,随后进行详细说明(这里的配置文件“vpoint_vmess_freedom.json”对应自动安装脚本中的/etc/v2ray/config.json,二者完全相同):

$ wget 下载链接
$ unzip v2ray*.zip
$ cd v2ray*
$ cp vpoint_vmess_freedom.json config.json
$ sudo mkdir -p /var/log/v2ray/
$ sudo ./v2ray

上面的命令含义依次为:

  1. 下载 V2ray
  2. 解压文件
  3. 进入解压后的文件目录,V2ray 的文件都在此目录中
  4. 复制一份配置文件命名为 config.json 以备我们使用
  5. 创建一个目录来让 V2ray 存放日志,这是默认存放日志路径,由于配置文件指定存放日志的路径不存在时V2ray不能自己创建,所以我们这里手动创建。存放目录位置可以自己指定,有需要的可以自行了解。
  6. 直接运行程序,v2ray 默认会在当前文件夹寻找名为 config.json 的配置文件并运行。

不出意外就能看到下面的界面:

2-3、配置 V2ray

2-3-1Vmess

vim config.json

现在可以开始编辑配置文件,其中的 ID 和端口如果图省事可以不换(不建议),如果想要换掉 ID 可以使用 Online UUID Generator 这个网站生成。注:服务端的ID需要和客户端保持一致。

接着修改端口号和 ID ,如下图所示:

2-3-2Shadowsocks

不过想要额外支持Shadownsocks,还需要再进行一点配置。顺便一提,Shadowsocks的端口配置支持1000-1010这种形式的多端口配置。

  "inboundDetour": [
    {
      "protocol": "shadowsocks",
      "port": 30001, // 监听 30001 端口
      "settings": {
        "method": "aes-256-cfb", 
        "password": "v2ray",     // 密码,必须和客户端相同
        "udp": false             // 是否开启 UDP 转发
      }
    }
  ],

V2ray的json配置文件支持 ///* */形式的注解,所以不需要删除注解也可以运行。接着把这段配置粘贴进配置文件中,端口(port)、密码(password)可以适当修改,修改后的配置文件如下:

修改后保存,可以通过 help 命令查看使用帮助,或是运行我们的配置文件。

./v2ray -help
sudo ./v2ray

目前 V2ray 支持的加密方式很多,以下只推荐两种:

  • aes-256-gcm:PC端推荐,安全
  • chacha20-ietf:移动端推荐,更省电,更快速,良好的加密性

2-3-1、永久运行

目前流行新版本 Linux 系统大多使用 Systemd 来管理系统的程序启动,当你的系统使用 Systemd 时,可以按照下面的方法配置。

Systemd 启动方式

不确认自己系统是否使用 Systemd?不妨使用  systemctl –version 命令,若是正确显示版本号,则已安装,若是提示找不到命令,那么则不支持。

sudo vim /etc/systemd/system/v2ray.service

编辑写入下列内容:

[Unit]
Description=V2Ray Service
After=network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/home/username/project/v2ray/v2ray -config /path/to/your_config.json
Restart=on-failure

[Install]
WantedBy=multi-user.target

修改路径为你的程序位置,注意此处需要绝对路径,接着执行下面命令来启用:

sudo systemctl enable v2ray
sudo systemctl start v2ray

OK,大功告成,你可以通过下列命令停止或重新运行 V2ray:

sudo systemctl stop v2ray
sudo systemctl restart v2ray

三、客户端的使用

3-1Windows

这里主要就是从之前的下载V2Ray服务端的网站,下载Windows抑或是其他适合自己目前系统的客户端(客户端和服务端是一体的),你也可以下载使用带有图形化界面的第三方客户端。在配置中如果没其他变动,配置文件中也就改个IP就能用了,原本IP也需要相同,但是如果服务端没有修改是默认的,那么客户端也无需修改。之后在浏览器也需要个扩展插件配合,Chrome的扩展Omega或者Firefox的Proxy SwitchyOmega ,其中配置成socks 127.0.0.1:1080就好了。如果在服务端配置中还加上了Shadowsocks的支持,那么也可以直接使用Shadowsocks的客户端。

GFWList 是一个有用的东西,可以帮助代理仅仅被屏蔽的内容,我们可以结合OmegaGFWList 来配置自动代理,甚至可以使用 Omega 生成 PAC 文件来设定系统级别的自动代理。

3-2安卓Android

目前可用的客户端有v2rayNGBifrostVActinium。如果你对上述客户端没有了解,那么我推荐你使用BifrostV,它的UI界面相对更加完善,整体布局设计模仿了安卓版Shadowsocks,当你使用过安卓版Shadowsocks时使用这个软件就不存在太多障碍。

同时支持 VMess、Shadowsocks、SOCKS 等协议,也就是说上述协议的连接只要一个客户端就可以搞定了。APP有少量广告(设置中有关闭广告选项,但需要Google Play的支持),希望用户可以理解开发者的劳动成果,包容那点广告或选择捐赠支持开发者。

BifrostV下载链接在此(适用于无法使用Google Play的用户)

上述APP都可以去Google Play下载安装。对于无法使用Google Play的人,强烈建议使用APKPure,是一个以Google Play中的安装包源为基础的软件商店,优点在于支持中文、可以下载干净的APK,无侵入式广告,可以无网络障碍的使用。

3-3Linux下客户端的使用

V2ray客户端和服务端的文件是一体的,你仍然可以复用上列在服务器端安装、运行V2ray的方法,唯一的不同之处在于配置文件。

{
  "log": {
    "loglevel": "warn"
  },
  "inbound": {
    "port": 1080,
    "protocol": "socks",
    "domainOverride":["tls", "http"],
    "settings": {
      "auth": "noauth"
    }
  },
  "outbound": {
    "protocol": "shadowsocks",
    "settings": {
      "servers":[
        {
          "address": "156.155.156.26", //修改成你的VPS IP或者域名
          "port": 1234, //端口号
          "method": "aes-128-cfb", //加密方式
          "password": "yearliny", //密码
          "ota": false, // 可选配置
          "level": 0
        }
      ]
    }
  },
  "policy": {
    "levels": {
      "0": {"uplinkOnly": 0}
    }
  }
}

配置文件稍作修改,使用命令 ./v2ray -config config.json 运行即可。除此之外,你仍然可以使用上列的方法让V2Ray永久运行。

还有个问题就是,Windows客户端一般都有自动设置PAC系统代理,这种方式代理有个好处就是不需要浏览器插件就可以分网站使用代理,对于大多数系统应用都可以自动应用代理规则,实际上Linux也支持这种功能,只是缺少简单的方法去实现这个,要多费些功夫。

可以返回到上一节3-1Windows的内容,根据自己使用的浏览器安装我们需要的插件,实际上Firefox和Chrome的那两个插件是同一个,仅仅是名字有点出入。安装完毕后我们进入插件的配置页面,设定默认自带配置 Proxy 为 socks5 协议 127.0.0.1 地址 1080 端口,然后点击 Apply changes 使设定生效。

接着配置 auto switch,需要设置的仅有三点需要注意:

  1. Rule list rules 设定为proxy。意为符合规则的走我们设定的代理。
  2. Default 设定为 Direct。意为不符合规则的直接连接。
  3. Rule List URL 粘贴进去 https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt,然后点击Download Profile Now。

点击 Apply changes 使设定生效,然后点击右上角的 Export PAC 导出我们的代理规则。

最后设定PAC代理方面,不同的Linux桌面环境会有区别,可以自行搜索关键词:设置pac “系统名+版本号”。这里以Ubuntu18.04作为示范:

打开设置—Network—Network Proxy,选择Automatic模式,填入file://pac文件绝对路径,如果你的pac配置文件放到了/etc/v2ray/proxy.pac,那么就填入:file:///etc/v2ray/proxy.pac。


写在最后:如果你发现本文有错误或有任何疑问,请在下方评论区中指出以帮助作者改善文章。

“V2Ray完全使用教程”的16个回复

    1. 谢谢谢谢谢谢提醒!!!其实我早一阵子就发现了这个失误,一直到今天也没想起来改!

    1. 你的问题有些模糊,你是想把 V2Ray 的客户端部署在路由器上吗?这个目前并没有流行成熟的方案,但是网上是存在一些教程的,我并没有尝试过。如果你的意思是部署 SS 的客户端在路由器上,可以在网上搜索你的路由器和路由器系统寻求更加具体的帮助。

    1. 感谢反馈,将会接受建议更新Linux客户端的使用方法。建议访客留言使用真实邮箱,以保证及时获得回复(不会泄漏邮箱,不会发送任何垃圾邮件)。

    1. 如果你需要类似于VPN的全局代理,那么需要借助第三方工具Proxfixer来实现。如果你只是需要系统代理的全局代理功能,如Shadowsocks-win的全局代理功能,许多客户端都支持,或者你也可以手动设置。

  1. 请问运行v2ray后怎么让他后台执行呢?还有就是我怎么知道v2ray在不在后台运行呢?用ps a 命令吗?

    1. 当你使用自动安装脚本安装成功后,会自动配置使用Systemd管理程序的运行与启动,所以当你安装完毕后程序既是后台运行并且是永久运行的(程序崩溃和系统重启都会自动启动)。所以你可以使用systemctl v2ray status命令查看程序运行状态,使用systemctl v2ray restart重新启动程序,使用systemctl v2ray disable禁止开机自动启动。

      这些已经在文章中有描述过,如果你有更多疑问可以接着在下方留言,我会考虑对这一方面进行更加详尽的讲述。

发表评论

电子邮件地址不会被公开。 必填项已用*标注