前言 前些日子我党开会,网络管制愈发严格,不少部署了SSR的 服务器 被封了IP;于是我把服务器的SSR替换为了V2Ray。 V2Ray是一个网络转发程序,支持 TCP、mKCP、WebSocket 这3种底层传输协议,支持HTTP、Socks、Shadowsocks、VMess这4种内容传输协议(HTTP只支持传入),并且有完整的TLS实现,是一个非常强大的平台。 本文主要介绍了基本的科学爱国配置、一些进阶设置和使用已有网站伪装成HTTPS流量的方法,默认读者有一台VPS和基本的知识,你也可以观看我的前一篇 教程 。 Project V你可以直接访问该项目的 官网 和 简单教程 。 Project V 包含一系列工具,帮助你打造专属的定制网络体系。 简单介绍Project V 提供了单一的内核和多种界面操作方式。内核(V2Ray)用于实际的网络交互、路由等针对网络数据的处理,而外围的用户界面程序提供了方便直接的操作流程。 V2Ray 的主要作用是根据用户的配置,对于传入的网络连接进行一定处理,然后发往指定的服务器。它是一个命令行程序,可以接受一个 JSON 格式的配置文件。 本站点主要介绍 V2Ray 本身的工作方式。其它相关程序的介绍由在左侧下方的链接进入。 主要特性多协议支持V2Ray 原生支持 Socks、HTTP、Shadowsocks、VMess 等协议。 - 在一个进程中可以配置不同的端口使用不同的协议进行通讯。
- 通过不同的传入和传出协议组合,灵活转换通讯格式。
可变传输载体上述协议均可使用 TLS、TCP、mKCP、WebSocket 等传输方式进行传输。 灵活的路由通过内置的路由功能,V2Ray 可以灵活地实现选择性转发、直连或是阻止部分连接。
基础配置基础配置教会你最快地开始使用V2Ray代理,你可以参照官网的说明来自定义。使用前须注意的是,V2Ray要求客户端与服务器的时间差不超过1分钟(与时区无关)。 服务端打开服务器终端,输入命令 bash <(curl -L -s https://install.direct/go.sh) ,等待安装完成的提示,记录下 PORT 和 UUID 。 如果提示缺少命令,你可以先执行 yum update 或者 apt-get update 再进行安装。 安装完成后,输入 service v2ray start 来立即运行程序,输入 service v2ray status 来查看状态,看到 running 的提示就可以完成了。 客户端Windows在 这里 下载适合你操作系统(Win32或Win64)的软件并解压到文件夹,打开并如下编辑 config.json 。 { "inbound": { "port": 1080, "listen": "127.0.0.1", "protocol": "socks", "settings": { "auth": "noauth" "udp": true } }, "outbound": { "protocol": "vmess", "settings": { "vnext": [ { "address": "207.148.26.103",//改为你VPS的IP地址 "port": 34609,//改为你记录的PORT "users": [ { "id": "939159db-cf5c-4b4e-bd64-430cde630d1b",//改为你记录的UUID "alterId": 64 } ] } ] } } }然后,打开 设置 – 网络和Internet – 代理 ,打开 使用代理服务器 ,地址填入 127.0.0.1 ,端口填入 1080 ,并保存。 最后,运行 v2ray.exe 即可使用代理。 AndroidAndroid推荐下载安装 BifrostV ,点击右上角,选择 手动设置 。 顶部选择 VMess ,主机(Host)填入VPS的IP地址,端口(Port)填入记录的PORT,用户ID(UserId)填入记录的UUID,其他保持默认,然后保存。 当然,你也可以选择 导入 – 从文件导入 – 选择编辑好的 config.json 。 配置好后,选择相应的配置,点击风车图标连接即可。 进阶配置绕过局域网和国内网站、IP地址Windows打开客户端的config.json,在最外的大括号里加入两节: "outboundDetour": [ { "protocol": "freedom", "settings": {}, "tag": "direct" } ], "routing": { "strategy": "rules", "settings": { "domainStrategy": "IPIfNonMatch", "rules": [ { "type": "geoip:private", "outboundTag": "direct" }, { "type": "geosite:cn", "outboundTag": "direct" }, { "type": "geoip:cn", "outboundTag": "direct" } } }保存并重新运行程序即可。 Android使用BifrostV,在 编辑 – 路由与域名服务器 中选择 绕过局域网和中国大陆地址与网站 。或者选择 自定义路由 ,然后在主界面选择 自定义路由 并添加上一节的规则。 开启mKCP和MuxmKCPmKCP是一个基于UDP的传输协议,由KCP改进而来,它以更多的流量为代价,降低了网络延迟。 要使用mKCP,请打开config.json(服务端的配置文件一般在/etc/v2ray/config.json),在客户端的outbound和服务端的inbound中加入同一段: "streamSettings": { "network": "kcp", "kcpSettings": { "mtu": 1350, "tti": 20, "uplinkCapacity": 12,//修改为你的实际下载速度或更大,单位为MB/s "downlinkCapacity": 1000, "congestion": false, "readBufferSize": 1, "writeBufferSize": 1, "header": { "type": "none" } } }uplinkCapacity 和 downlinkCapacity 中较小值决定了传输的速率,最好一个为较大的数字,另一个为你的实际下载速度。 修改 header 的 type 可以把流量包进行伪装。 "none" : 默认值,不进行伪装,发送的数据是没有特征的数据包。 "srtp" : 伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)。 "utp" : 伪装成 uTP 数据包,会被识别为 BT 下载数据。 "wechat-video" : 伪装成微信视频通话的数据包。 MuxMux是一种多路复用协议,有助于减少TCP连接数,提高性能。 开启Mux,只要在客户端配置文件的outbound加入一段,服务端会自动识别。 "mux": { "enabled": true, "concurrency": 8 }在已有的网站上伪装成HTTPS流量如果你按照我的 上篇教程 搭建了一个网站,那么你可以用 Nginx 和 V2Ray 配合达到更好的伪装效果。 服务端登录宝塔面板。 打开文件 /etc/v2ray/config.json,在inbound中加入一小段: "streamSettings": { "network": "ws", "wsSettings": { "path": "/myladder"//该路径可以自定义,但是要在Nginx、客户端中保持一致 } }打开 网站 – 设置 – 配置文件,在 server 中加入一小段: location /myladder //这里要与上面的路径一致 { proxy_redirect off; proxy_pass <a href="http://127.0.0.1:34609">http://127.0.0.1:34609</a>; //端口与上面一致 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; }修改完后,保存并重启Nginx和V2Ray。 客户端Windows 打开config.json,在outbound中加入一小段: "streamSettings": { "network": "ws", "security": "tls", "tlsSettings": { "serverName": "v2raytest.ml"//填入你网站的域名 }, "wsSettings": { "path": "/myladder"//与上面的路径一致 } }然后修改”settings” – “vnext” – “port”: 443 保存并重启V2Ray即可。 如果没有正常工作,在服务器终端里执行 setsebool -P httpd_can_network_connect 1 并重试。 Android 打开BifrostV的配置,依次修改 端口为 443 ,网络为 WebSocket ,加密方式为 tls ,服务器证书域名为 你的网站域名 ,WebSocket路径为 /myladder ,最后保存使用即可。 最后富强、民主、文明、和谐, 自由、平等、公正、法治, 爱国、敬业、诚信、友善。
|