V2Ray

V2Ray是近几年兴起的科学上网技术,采用新的协议,因功能强大,能有效抵抗墙的干扰而广受好评。V2Ray安装部署及流量伪装请参考:V2Ray教程 和 V2Ray高级技巧:流量伪装。

V2Ray 是 Project V 下的一个工具。Project V 是一个包含一系列构建特定网络环境工具的项目,而 V2Ray 属于最核心的一个。官方中介绍Project V 提供了单一的内核和多种界面操作方式。内核(V2Ray)用于实际的网络交互、路由等针对网络数据的处理,而外围的用户界面程序提供了方便直接的操作流程。不过从时间上来说,先有 V2Ray 才有 Project V。 如果还是不理解,那么简单地说,V2Ray 是一个与 Shadowsocks 类似的代理软件,可以用来科学上网(翻墙)学习国外先进科学技术。

SSR也有V2Ray插件

V2Ray优势:

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

V2Ray缺点:

  • 配置复杂
  • 产业链不成熟

安装V2Ray

本次安装是在Ubuntu 16.04环境下

1
root@vultr:/etc/v2ray# bash <(curl -sL https://install.direct/go.sh)

安装脚本用官方的就行,如果报错可能是ssl的问题,在 curl 上加个-k的参数,忽略ssl验证

安装过程很简单,全程自动化,不用操作

端口和用户密码会初始化,如果不更改就直接用

修改配置

安装好后配置文件在/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
{
"log": {
"loglevel": "info",
"access": "/var/log/v2ray/access.log",
"error": "/var/log/v2ray/error.log"
},
"inbounds": [{
"port": 1080,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "0e879ceb-c1ce-4a48-a119-6b5beebd178a",
"level": 1,
"alterId": 87
}
]
}
}],
"outbounds": [{
"protocol": "freedom",
"settings": {}
},{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
}],
"routing": {
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "blocked"
}
]
}
}

id:"0e879ceb-c1ce-4a48-a119-6b5beebd178a"就是密码,alterIdlevel不是必须的

修改好保存,重启V2Ray服务

1
root@vultr:/etc/v2ray# systemctl restart v2ray

多用户配置

同端口下多用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
//省略...
"inbounds": [{
"port": 1080,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "0e879ceb-c1ce-4a48-a119-6b5beebd178a",
"level": 1,
"alterId": 87
},
{
"id": "790bfc89-8317-405c-bf0d-ebe471cce7cd",
"level": 1,
"alterId": 87
}
]
}
}],
//省略...
}

不同端口多用户

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
{
//省略...
"inbounds": [{
"port": 1080,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "0e879ceb-c1ce-4a48-a119-6b5beebd178a",
"level": 1,
"alterId": 87
}
]
}
},
{
"port": 1081,
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "790bfc89-8317-405c-bf0d-ebe471cce7cd",
"level": 1,
"alterId": 58
}
]
}
}],
//省略...
}

也可以两者相结合

Windows客户端配置

  • V2RayN客户端

V2RayN客户端

地址、端口、用户ID、额外ID按照服务器配置填好,其他不用动,点击确定就可以翻墙了

除了V2RayN还有其他V2Ray客户端,V2RayWV2RayS

待续

V2Ray还可以伪装成https流量,需要nginx+tls