V2Ray,新一代科学上网神器

V2Ray,新一代科学上网神器 | 此心光明,亦复何言?

前两天,我的酸酸乳(SSR)服务器被墙了,于是我查询资料在VPS上搭建了V2Ray平台来科学上网。V2Ray更像是一个工具箱,集成了多种多样的协议和功能:

  • 更完善的协议:V2Ray 使用了新的自行研发的 VMess 协议,改正了 Shadowsocks一些已有的缺点,更难被墙检测到;
  • 更强大的性能: 网络性能更好,具体数据可以看 V2Ray 官方博客
  • 更丰富的功能:以下是部分V2Ray的功能:
    • mKCP:KCP 协议在 V2Ray 上的实现,不必另行安装 kcptun
    • 动态端口:动态改变通信的端口,对抗对长时间大流量端口的限速封锁
    • 路由功能:可以随意设定指定数据包的流向,去广告、反跟踪都可以
    • 传出代理:看名字可能不太好理解,其实差不多可以称之为多重代理。类似于 Tor 的代理
    • 数据包伪装:类似于 Shadowsocks-rss 的混淆,另外对于 mKCP 的数据包也可伪装,伪装常见流量,令识别更困难
    • WebSocket 协议:可以 PaaS 平台搭建V2Ray,通过 WebSocket 代理。也可以通过它使用 CDN 中转,抗封锁效果更好
    • Mux:多路复用,进一步提高科学上网的并发性能

总述

我只是实现了V2Ray的一些简单功能,有:VMess协议,Shadowsocks协议,mKCP,Mux和国内直连。想要了解更多,可以参考:点我

配置V2Ray

概述

从软件上,V2Ray不区分服务器版和客户端版,也就是说客户端和服务器运行的V2Ray其实是一个软件,区别在于它们的配置文件不同,其实就是客户端的config.json和服务器的config.json里面的内容不同罢了。我这里客户端为PC(Windows),服务器端为Linux。

Linux版本

VPS系统建议选择Debian 8.x及以上或者Ubuntu 16.04及以上。我用的是Vultr + Debian 8 x64 + Los Angeles 。VPS服务器购买参见我的另一篇文章搭建SSR服务器附带锐速加速

客户端安装

这里下载V2Ray的Windows压缩包,根据电脑系统位数选择v2ray-windows-32.zipv2ray-windows-64.zip。下载解压,会有两个重要文件:
①config.json:它就是客户端配置文件,等会就是将它的内容进行改写。
②v2ray.exe:是一个命令行程序,启动后可以看到命令行界面。(相似的有:wv2ray.exe 是一个后台程序,没有界面,会在后台自动运行。)
至此,客户端安装好了,我们需要对config.json进行改写,我放在后面写。

服务器安装

脚本安装

现在有大神做的一键脚本:一键脚本,但我没用过,你可以试一试。我还是按官方提供的脚本安装的,通过XShell用SSH登录进你的VPS后,操作如下:
1.下载脚本

2.执行脚本安装V2Ray

当显示:

V2Ray v3.34(版本号) is installed.

表明安装成功。
在首次安装完成之后,V2Ray 不会自动启动,需要手动运行启动命令(你可以在修改完配置文件之后启动)。
V2ray的常用命令:

  • 启动V2Ray:

  • 停止V2Ray:

  • 重启V2Ray:

下面我们就该修改配置文件了:(注意:每次修改完配置文件都需要重启V2Ray服务)

1
vi /etc/v2ray/config.json

下面是我的服务器端配置和客户端配置。

服务器配置

config.json(服务器)

/etc/v2ray/config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{
"log": {
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log",
"loglevel": "warning"
},
"inbound": {
"port": 1234, //vmess协议的端口号,自己选择,但是客户端和服务器要相同
"protocol": "vmess",
"settings": {
"clients": [{
"id": "e685a7a0-8789-4595-9d17-f7b231f4abff", //相当于SSR中的密码,服务器和客户端要相同,通过(https://www.uuidgenerator.net/)生成
"alterId": 77 //自己选择,服务器和客户端相同
}]
},
"streamSettings":{ //mkcp加速
"network":"mkcp",
"kcpSettings":{
"mtu":1350,
"tti":20,
"uplinkCapacity":10,
"downlinkCapacity":100,
"congestion":false,
"readBufferSize":1,
"writeBufferSize":1,
"header":{
"type":"none"
}
}
}
},
"inboundDetour": [{ //shadowsocks协议部分,我这里部署了两个端口都是ss协议,你可以不部署
"protocol": "shadowsocks",
"port": 5555, //端口号自己选择
"settings": {
"method": "aes-256-gcm", //协议自己选择
"password": "????????", //密码自己设定
"udp":true
}
},{
"protocol": "shadowsocks",
"port": 6666, //端口号自己选择
"settings": {
"method": "chacha20-ietf", //协议自己选择
"password": "????????", //密码自己设定
"udp":true
}
}],
"outbound": {
"protocol": "freedom",
"settings": {}
}
}


然后检查一下:

1
/usr/bin/v2ray/v2ray -test -config /etc/v2ray/config.json

如果显示:

1
2
An unified platform for anti-censorship.
Configuration OK.

表明配置文件没问题,启动(重启)v2ray服务。

客户端配置

客户端上的json文件你可以在Atom或者VSCode或其他编辑器上改写,提高效率,记事本真的不方便。

/v2ray-v3.34-windows-64/config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{
"log": {
"loglevel": "warning"
},
"inbound": {
"listen": "127.0.0.1",
"port": 1081, //监听端口
"protocol": "socks",
"domainOverride":["tls","http"],
"settings": {
"auth": "noauth",
"udp": true
}
},
"outbound": {
"protocol": "vmess",
"settings": {
"vnext":[
{
"address":"??.??.??.??", //你的VPS的ip
"port":"1234", //和服务器的端口号对应
"users":[
{
"id":"e685a7a0-8789-4595-9d17-f7b231f4abff", //和服务器的id要对应
"level":1,
"alterId":77 //和服务器的要对应
}
]
}
]
},
"streamSettings":{
"network":"mkcp",
"kcpSettings":{
"mtu":1350,
"tti":20,
"uplinkCapacity":10,
"downlinkCapacity":100,
"congesion":false,
"readBufferSize":1,
"writeBufferSize":1,
"header":{
"type":"none"
}
}
},
"mux": {"enabled": true}
},
"outboundDetour":[
{
"protocol": "freedom",
"settings": {},
"tag": "direct"
}
],
"routing": {
"strategy": "rules",
"settings": {
"rules": [
{
"type": "field",
"port": "54-79",
"outboundTag": "direct"
},
{
"type": "field",
"port": "81-442",
"outboundTag": "direct"
},
{
"type": "field",
"port": "444-65535",
"outboundTag": "direct"
},
{
"type": "field",
"domain": [
"gc.kis.scr.kaspersky-labs.com"
],
"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"
}
]
}
}
}

然后运行,v2ray.exe,如果出现:

1
2
3
V2Ray v3.34 (die Commanderin) 20180806
A unified platform for anti-censorship.
2018/08/10 02:21:29 [Warning] Core: V2Ray v3.34 started

表明配置成功,服务启动,你每次用的话都要启动该程序,且不能关闭,用最小化它在后台运行即可。

服务器端json上传

如果你在VPS上Vim编写服务器端的config.json文件不熟练,可以在Windows下写好后上传到VPS上。下面说下利用Linux自带的软件lrzsz上传文件。

lrzsz安装

1.CentOS

1
2
yum update -y
yum install lrzsz -y

2.Debian

1
2
apt-get update -y
apt-get install lrzsz -y

使用

1.上传

2.下载

具体操作(Debian8)

安装lrzsz

1
2
apt-get update -y
apt-get install lrzsz -y

上传config.json

将写好的config.json文件放在桌面,在VPS上输入命令:

选中该文件即可。

覆盖原始文件

输入

命令看是否下载成功,成功的话,输入命令

1
mv config.json /etc/v2ray/config.json

成功。当然了你也可以使用其他的方式,WinSCP,FTP,Http……

锐速加速

如果你部署了SS服务,可以使用锐速加速,Debian 8适配的内核是3.16.0-4-amd64,而vultr的默认版本是3.16.0-6-amd64,但是我们发现,它也存在3.16.0-4-amd64版本,我们所做的就是删除3.16.0-6-amd64版本的内核。但是如果你没有3.16.0-4-amd64版本的内核,就需要下载安装:

查看内核

1
dpkg -l|grep linux-image


我们发现存在两个版本的内核,3.16.0-4-amd64和3.16.0-6-amd64,我们删除掉3.16.0-6-amd64内核,直接看第三步;如果你没有3.16.0-4-amd64,看第二步。

安装内核

1.下载3.16.0.4-deb内核

2.安装3.16.0-4内核

1
dpkg -i linux-image-3.16.0-4*.deb

删除内核

1.先查看所有内核版本

1
dpkg -l|grep linux-image

2.删除掉所有非3.16.0.4版本的内核

通过上图我们发现我们需要删除的就一个3.16.0-6版本的内核,如果有其他的也删除掉。

1
apt-get -y remove linux-image-3.16.0-6-amd64

在删除时,会有个选项,询问你是否终止删除内核,选择No!

重启

安装锐速

重新连接VPS,输入

1
wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

客户端使用

Windows

可以使用自带客户端v2ray.exe + Chrome上的SwitchyOmega插件。具体步骤参考:SwitchyOmega+v2ray

V2RayN(推荐,很方便)

Mac

参考:(https://233blog.com/post/25/)

Android

BifrostV

Google Play 搜索“v2rayNG” (推荐)

IOS

美区:Shadowrocket,Kitsunebi(已下架),Pepi
IOS端目前没有很好用的app,唯一好用的kitsunebi下架了,shadowrocket支持vmess协议但却不支持kcp。

参考资料

详细教程
教程2
一键脚本
Chrome代理

————-本文结束感谢您的阅读————-