1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-11-17 09:56:18 -05:00
v2fly/spec/guide.md

96 lines
3.4 KiB
Markdown
Raw Normal View History

2015-09-15 06:04:18 -04:00
# V2Ray 简明教程
## 工作机制
2015-10-18 08:49:25 -04:00
你需要至少两个 V2Ray Server设为 A、B才可以正常穿墙。以网页浏览为例你的浏览器和 A 以 Socks 5 协议通信B 和目标网站之间以 HTTP 协议通信A 和 B 之间使用 V2Ray 的自有协议 [VMess](https://github.com/V2Ray/v2ray-core/blob/master/spec/vmess.md) 通信,如下图:
2015-09-15 06:04:18 -04:00
![](https://github.com/V2Ray/v2ray-core/blob/master/spec/v2ray.png)
2015-10-18 08:49:25 -04:00
通常 Server A 运行在你自己的电脑Server B 运行在一台海外的 VPS 中。
2015-09-15 06:04:18 -04:00
2015-10-18 08:49:25 -04:00
## 安装 V2Ray Server
2015-09-15 06:04:18 -04:00
[安装 V2Ray](https://github.com/V2Ray/v2ray-core/blob/master/spec/install.md)
2015-10-18 08:49:25 -04:00
## 配置 V2Ray Server
### Server A
2015-10-10 04:55:08 -04:00
示例配置保存于 [vpoint_socks_vmess.json](https://github.com/v2ray/v2ray-core/blob/master/release/config/vpoint_socks_vmess.json) 文件中,格式如下:
2015-09-15 06:04:18 -04:00
```javascript
{
"port": 1080, // 监听端口
2015-10-10 04:51:21 -04:00
"log" : {
"access": "" // 访问记录,目前只在服务器端有效,这里留空
},
2015-09-15 06:04:18 -04:00
"inbound": {
"protocol": "socks", // 传入数据所用协议
2015-10-06 17:11:08 -04:00
"settings": {
"auth": "noauth", // 认证方式,暂时只支持匿名
2015-10-19 04:33:11 -04:00
"udp": false, // 如果要使用 UDP 转发,请改成 true
"ip": "127.0.0.1" // 如果 Server A 不是运行在本地,请标明 Server A 的实际 IP 地址,否则 UDP 转发将无法进行。
2015-10-06 17:11:08 -04:00
}
2015-09-15 06:04:18 -04:00
},
"outbound": {
2015-10-06 17:11:08 -04:00
"protocol": "vmess", // 中继协议,暂时只有这个
"settings": {
"vnext": [
{
2015-10-18 08:49:25 -04:00
"address": "127.0.0.1", // Server B 的 IP 地址IPv4 或 IPv6不支持域名
"port": 27183, // Server B 的监听端口,请更换成其它的值
2015-10-06 17:11:08 -04:00
"users": [
2015-10-18 08:49:25 -04:00
// 用户 ID必须包含在 Server B 的配置文件中。此 ID 将被用于通信的认证,请自行更换随机的 ID可以使用 https://www.uuidgenerator.net/ 来生成新的 ID。
2015-10-06 17:11:08 -04:00
{"id": "ad937d9d-6e23-4a5a-ba23-bce5092a7c51"}
],
"network": "tcp" // 如果要使用 UDP 转发,请改成 "tcp,udp"
}
]
2015-09-15 06:04:18 -04:00
}
2015-10-06 17:11:08 -04:00
}
2015-09-15 06:04:18 -04:00
}
```
2015-10-18 08:49:25 -04:00
### Server B
2015-10-10 04:55:08 -04:00
示例配置保存于 [vpoint_vmess_freedom.json](https://github.com/v2ray/v2ray-core/blob/master/release/config/vpoint_vmess_freedom.json) 文件中,格式如下:
2015-09-15 06:04:18 -04:00
```javascript
{
2015-10-18 08:49:25 -04:00
"port": 27183, // 监听端口,必须和 Server A 中指定的一致
2015-10-10 04:51:21 -04:00
"log" : {
"access": "access.log" // 访问记录
},
2015-09-15 06:04:18 -04:00
"inbound": {
2015-09-19 05:55:59 -04:00
"protocol": "vmess", // 中继协议,不用改
2015-10-06 17:11:08 -04:00
"settings": {
"clients": [
2015-10-18 08:49:25 -04:00
// 认可的用户 ID必须包含 Server A 中的用户 ID
2015-10-06 17:11:08 -04:00
{"id": "ad937d9d-6e23-4a5a-ba23-bce5092a7c51"}
],
2015-10-19 04:30:58 -04:00
"udp": false // 如果要使用 UDP 转发,请改成 true
2015-10-06 17:11:08 -04:00
}
2015-09-15 06:04:18 -04:00
},
"outbound": {
2015-09-19 05:55:59 -04:00
"protocol": "freedom", // 出口协议,不用改
2015-10-06 17:11:08 -04:00
"settings": {} // 暂无配置
2015-09-15 06:04:18 -04:00
}
}
```
2015-09-18 13:54:01 -04:00
### 其它
2015-09-19 05:55:59 -04:00
* V2Ray 的用户验证基于时间,请确保 A 和 B 所在机器的系统时间误差在一分钟以内。
* json 配置文件实际上不支持注释(即“//”之后的部分,在使用时请务必删去)。
2015-09-18 13:54:01 -04:00
2015-09-15 06:04:18 -04:00
## 运行
2015-10-18 08:49:25 -04:00
Server A
2015-09-15 06:04:18 -04:00
./server --config="vpoint_socks_vmess.json 的绝对路径"
2015-10-18 08:49:25 -04:00
Server B
2015-09-15 06:04:18 -04:00
./server --config="vpoint_vmess_freedom.json 的绝对路径"
2015-09-24 06:54:10 -04:00
## 测试服务器可用性
2015-09-15 06:04:18 -04:00
curl -v --socks5-hostname 127.0.0.1:1080 https://www.google.com/
2015-09-24 06:54:10 -04:00
## 调试
使用过程中遇到任何问题,请参考[错误信息](https://github.com/V2Ray/v2ray-core/blob/master/spec/errors.md)。