使用V2Ray实现科学爱国

2018年3月17日 0 条评论 5.95k 次阅读 7 人点赞

前言

前些日子我党开会,网络管制愈发严格,不少部署了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 即可使用代理。

Android

Android推荐下载安装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和Mux

mKCP

mKCP是一个基于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": 伪装成微信视频通话的数据包。

Mux

Mux是一种多路复用协议,有助于减少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 http://127.0.0.1:34609; //端口与上面一致
      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,最后保存使用即可。

 

最后

富强、民主、文明、和谐,

自由、平等、公正、法治,

爱国、敬业、诚信、友善。

Chrad

不忘初心

文章评论(0)

你必须 登录 才能发表评论