Total Pageviews

Friday 4 January 2019

用v2ray + ws+ tls + nginx翻墙

由于近期TCP阻断频繁,于是部署基于WebSocket+TLS+nginx的v2ray,将代理流量通过TLS加密,以此达到通过V2Ray访问任何网络都显示访问一个HTTPS网站,隐蔽性更高,也更安全。当然,这本来就是完整、真正的TLS流量。

此法的速度没有“自建V2Ray+TLS翻墙“ 的速度快。

申请域名,

首先你要注册一个免费或付费域名,把此域名的a记录填写为服务器的公网ip.

服务端配置Nginx

安装Nginx

apt-get install nginx -y 或yum install -y nginx

编辑Nginx的配置文件

vi /etc/nginx/sites-available/default 或者 vi /etc/nginx/nginx.conf

修改配置如下:

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
server {
listen 80;
server_name urdomain.com;
rewrite ^(.*) https://$server_name$1 permanent;
}

server {
listen 448 ssl;
server_name urdomain.com;
ssl_certificate /etc/letsencrypt/live/urdomain.com/fullchain.pem; //证书路径.
ssl_certificate_key /etc/letsencrypt/live/urdomain.com/privkey.pem;
location /v2r {
proxy_pass http://127.0.0.1:10086;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}
}

用acme.sh申请免费SSL证书

注: 生成证书前请关闭服务器的Apache或Nginx,否则会生成失败。

看到这里是不是发现,俺在搭建一个完整的https网站,不错,到这一步你只要写一个html静态页面放在根目录下,这个站点就可以通过浏览器正常访问了。

V2Ray服务端配置

证书申请好了以后,配置好nginx后,就要安装v2ray和修改服务端的配置文件了。

安装v2ray:

1
2
3
4
5
// 下载脚本
$ wget https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh

// 安装v2ray
$ bash install-release.sh

修改v2ray配置如下:

nano /usr/local/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
{
"inbounds": [
{
"port": 10086, //同nginx上的环回地址端口保持一致
"listen":"127.0.0.1", //只监听 127.0.0.1,避免除本机外的机器探测到开放了 10086 端口
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/v2r" //同nginx上的路径一致
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }
],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}

因为使用tls加密,强烈建议alterId改成0,以节省cpu加快v2ray的速度.配置无误后,重启v2ray服务.

如何测试nginx与v2ray结合没有问题?打开浏览器,输入域名及其他路径,应该显示正常网页或者页面不存在,说明Nginx正常工作;输入域名加v2ray路径,例如https://urdomain.com/v2r,应该出现”Bad Request”,说明Nginx将流量转发给了v2ray,并且v2ray收到了请求。

重启Nginx,服务端也就全部完成,下面就是折腾客户端了。

V2Ray客户端设置

首先从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
{
"inbounds": [
{
"port": 2089,
"listen": "127.0.0.1",
"protocol": "socks",
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
},
"settings": {
"auth": "noauth",
"udp": false
}
}
],
"outbounds": [
{
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "urdomain.com",
"port": 448,
"users": [
{
"id": "b831381d-6324-4d53-ad4f-8cda48b30811",
"alterId": 0
}
]
}
]
},
"streamSettings": {
"network": "ws",
"security": "tls",
"wsSettings": {
"path": "/v2r"
}
}
}
]
}

到这也就全部完成了。有建站经验的网友应该很容易上手。提醒一下,用之前清理一下浏览器缓存。

然后设置浏览器的socks proxy为127.0.0.1,端口为2089 ,浏览器即可翻墙。

上面的urdomain.com是购买的付费域名,那么上面这么操作后,浏览器即可翻墙。

如果urdomain.com是你注册的免费的可解析的域名,那么此域名有可能已被gfw封锁,无法解析,导致用客户端命令连接不上服务器。解决办法:

sudo networksetup -setdnsservers "Wi-Fi" 127.0.0.1


运行某个ss客户端程序。


cd ~/dns-tcp-socks-proxy;sudo ./dns_proxy

(用法详见https://briteming.blogspot.com/2019/07/dns-tcp-socks-proxysocks-proxydns.html)


然后运行上面的客户端命令。

(如果你合拢了mac机器的机盖,需先运行

sudo networksetup -setdnsservers "Wi-Fi" 127.0.0.1 


sudo killall dns_proxy;cd ~/dns-tcp-socks-proxy;sudo ./dns_proxy

然后重新运行客户端命令

参考:

https://toutyrater.github.io/advanced/wss_and_web.html

https://guide.v2fly.org/advanced/advanced.html

https://serverfault.com/questions/765258/use-http-2-0-between-nginx-reverse-proxy-and-backend-webserver

我按照此文,成功翻墙。

--------------------------------------------

引用

步骤

  • v2ray 服务器端安装及配置
  • nginx 安装及配置
  • v2ray 客户端使用

v2ray 服务器端安装及配置

假设域名 test.v2ray.com 指向你的VPS ip地址

参考官方安装

Linux 安装脚本
V2Ray 提供了一个在 Linux 中的自动化安装脚本。这个脚本会自动检测有没有安装过 V2Ray,如果没有,则进行完整的安装和配置;如果之前安装过 V2Ray,则只更新 V2Ray 二进制程序而不更新配置。
以下指令假设已在 su 环境下,如果不是,请先运行 sudo su。
运行下面的指令下载并安装 V2Ray。当 yum 或 apt-get 可用的情况下,此脚本会自动安装 unzip 和 daemon。这两个组件是安装 V2Ray 的必要组件。如果你使用的系统不支持 yum 或 apt-get,请自行安装 unzip 和 daemon
bash <(curl -L -s https://install.direct/go.sh)
此脚本会自动安装以下文件:
  • /usr/bin/v2ray/v2ray:V2Ray 程序;
  • /usr/bin/v2ray/v2ctl:V2Ray 工具;
  • /etc/v2ray/config.json:配置文件;
  • /usr/bin/v2ray/geoip.dat:IP 数据文件
  • /usr/bin/v2ray/geosite.dat:域名数据文件 此脚本会配置自动运行脚本。自动运行脚本会在系统重启之后,自动运行 V2Ray。目前自动运行脚本只支持带有 Systemd 的系统,以及 Debian / Ubuntu 全系列。
运行脚本位于系统的以下位置:
  • /etc/systemd/system/v2ray.service: Systemd
  • /etc/init.d/v2ray: SysV 
    脚本运行完成后,你需要:
编辑 /etc/v2ray/config.json 文件来配置你需要的代理方式;
运行 service v2ray start 来启动 V2Ray 进程;
之后可以使用 service v2ray start|stop|status|reload|restart|force-reload 控制 V2Ray 的运行。

服务器v2ray配置文件

{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": 10000, //(此端口与nginx配置相关)
    "listen": "127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "461aad1f-687c-4188-9abc-80073a618ca3", //你的UUID, 此ID需与客户端保持一致
          "level": 1,
          "alterId": 64 //此ID也需与客户端保持一致
        }
      ]
    },
   "streamSettings":{
      "network": "ws",
      "wsSettings": {
           "path": "/ray" //与nginx配置相关
      }
   }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "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": "blocked"
        }
      ]
    }
  }
}
v2ray的JSON配置文件, 支持单行注释//, 和多行注释/* / * 
**上面的服务器配置文件也简单注释说明,关于nginx相关的后台会介绍

v2ray 客户端配置文件

{
  "log": {
    "loglevel": "warning"
  },
  "inbound": {
    "port": 1080,
    "listen": "127.0.0.1",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false
    }
  },
  "inboundDetour": [
    {
        "port": 8123,
        "listen": "127.0.0.1",
        "protocol": "http",
        "settings": {}
    }
  ],
  "outbound": {
    "protocol": "vmess",
    "settings": {
      "vnext": [{
        "address": "test.v2ray.com", // 服务器地址,请修改为你自己的服务器 ip 或域名
        "port": 443,  // 服务器端口
        "users": [{ 
            "id": "461aad1f-687c-4188-9abc-80073a618ca3", //你的UUID, 此ID需与服务端保持一致
            "level": 1,
            "alterId": 64,  //此ID也需与客户端保持一致
            "security": "aes-128-gcm"
        }]
      }]
    },
    "streamSettings":{
        "network": "ws",
        "security": "tls",
        "tlsSettings": {
            "serverName": "test.v2ray.com" //此域名是你服务器的域名
        },
        "wsSettings": {
            "path": "/ray" //与服务器配置及nginx配置相关
        }
    },
    "tag": "forgin"
  },
  "outboundDetour": [
    {
        "protocol": "freedom",
        "settings": {},
        "tag": "direct"
    }
  ],
  "routing": { //此路由配置是自动分流, 国内IP和网站直连
    "strategy": "rules",
    "settings": {
        "domainStrategy": "IPIfNonMatch",
        "rules": [
            {
                "type": "chinaip",
                "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"
            }
        ]
    }
  },
  "policy": {
    "levels": {
      "0": {"uplinkOnly": 0}
    }
  }
}

Nginx 配置

linux 下的nginx安装就不介绍了, 不清楚的, 可以google 一下
以下是nginx 部分配置, 当然此配置不影响你现在有nginx服务, 只是添加了一个 location /ray.
server {
    # SSL configuration
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    ssl_certificate /ssl.pem; #你的ssl证书, 如果第一次,可能还需要自签一下,
    ssl_certificate_key /ssl.key; #你的ssl key

    root /var/www/html;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name test.v2ray.com; #你的服务器域名

    location /ray { #/ray 路径需要和v2ray服务器端,客户端保持一致
        proxy_redirect off;
        proxy_pass http://127.0.0.1:10000; #此IP地址和端口需要和v2ray服务器保持一致,
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
    }
}
关于域名ssl 证书,使用certbot自动签一个let's encrypt证书就行了, 很简单,参考链接: https://certbot.eff.org/
成功后, 在crontab 中添加一条任务计划每三个月执行一次,因为let's encrypt证书三个月过期,
0 0 15 */3 * /root/certbot/certbot-auto renew  #在3,6,9,12月份的15号零点零分执行更新

v2ray 客户端的使用

v2ray 客户端主要还在windows上使用, 需要手动编辑config.json文件, 好像还不支持多服务器配置(好久没用了,不知道现在是否可以)
推荐使用界面化v2rayN https://github.com/2dust/v2rayN, 在release页面下载一个v2rayN.exe放在 v2ray客户端文件夹里就行了。
v2rayN使用websocket(ws)时一点需要注意,伪装域名/其选项,应该如下填写
/ray;test.v2ray.com  #请更换为自己的相关配置
其它配置请参考截图:

总结

v2ray 的配置相对于ss(ssr)还是复杂一点,其中还涉及到nginx的使用,及ssl证书管理等, 也许需要多一点时间和精力去了解一下, 多看看, 使用效果来说,基本和ss(ssr)差别不大,最主要还是跟服务器相关,相对来说更稳定一些,自从小鸡被放出来后, 就一直使用v2ray,还没有再被墙, 哈哈。
相关帖子:https://briteming.blogspot.com/2015/10/v2ray.html
-----------------------

v2ray+WebSocket+TLS+caddy

除了nginx可以做反向代理外,另一个webserver程序caddy也可做反向代理。

Caddy反代V2ray实现v2ray+WebSocket+TLS

安装caddy

这里只勾选hook.servicehook.servicecaddy的自启服务,开机实现自启,你需要其它插件就自己另外加,caddyGo语言的,以后升级、或者另外加插件,也是一样再一次运行命令即可,会自动替换。

  1. curl https://getcaddy.com | bash -s personal hook.service

让自启生效

Caddyfilecaddy的默认配置文档

  1. caddy -service install -agree -email abc@caddy.com -conf /usr/local/bin/Caddyfile

abc@caddy.com 改成自己的邮箱

路径/usr/local/bin可以按自己习惯更改

进入 caddy 安装目录

  1. cd /usr/local/bin

编辑Caddyfile

  1. nano Caddyfile

自动申请证书输入以下代码

  1. hostloc.xyz {
  2. tls abc@caddy.com
  3. proxy /ray 127.0.0.1:12345 {
  4. websocket
  5. header_upstream -Origin
  6. }
  7. }

hostloc.xyz改成自己的域名,域名提前解析好,不要打开CDN,也就是CF中的小黄云

abc@caddy.com 改成自己的邮箱

12345改成自己在V2ray设置的端口

/rayV2ray中设置的路径,改成自己设置的/path

如果有自己的SSL证书用以下代码

  1. hostloc.xyz {
  2. tls /etc/ssl/private/hostloc.xyz.crt /etc/ssl/private/hostloc.xyz.key
  3. proxy /ray 127.0.0.1:12345 {
  4. websocket
  5. header_upstream -Origin
  6. }
  7. }

/etc/ssl/private/hostloc.xyz.crt 路径改成自己的证书路径和证书名称

在当前目录下,也就是 /usr/local/bin ,

初次运行申请证书:

  1. ./caddy

初次运行一次,如果填写的邮箱会显示申请证书,没报错就是成功了。

需要查看caddy运行状态

  1. caddy -service status

其他命令

  1. caddy -service restart #重启
  2. caddy -service start #启动
  3. caddy -service stop #停止
---------------------------------------------------------------------------------------------------

完整记录v2ray折腾http2方式代理过程

这次想用http/2来翻墙,这次做个完整记录,方便以后搭建。
这次不打算套cloudflare的cdn,套了cdn后,速度下降严重.

解析域名
    不打算套cdn可以直接在namesilo里面解析域名ip,我这次也没打算套cdn,但为防止ip被封,还是想用cloudflare进行解析,一旦被封可以一键切换到cdn,又能复活vps。要用cloudflare解析ip,先解锁域名,选中域名前勾后点unlockdomains,然后提交即可;然后点切换域名服务器change nameserver,把原有的都删除,换成cloudflare的域名服务器:

Cloudflare解析ip
https://www.cloudflare.com注册一下,已经注册好的直接add a site增加一个域名,按提示操作。然后解析ip,在dns处添加A记录,输入你vps的ip地址。特别要注意在“status”点击为dns only状态,不然Caddy不能自动创建tls加密。等Caddy创建完成后可以改为cdn状态。以后一旦ip被封,点击一下此处切换到cdn,就可以复活你的vps了。用cdn还要在“cryto”处把ssl状态改为full。

 我们先安装bbr,由于 秋水逸冰的bbr脚本会自动换成最新内核,我测试下来秋水的bbr会比搬瓦工官方自带的bbr速度更快。
yum install wget net-tools -y
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
安装caddy一键脚本
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install
  安装结束后,我们用winscp软件登陆vps进行相关修改。进入/usr/local/caddy/ 下新建Caddyfile文件(注意大小写 )并写入配置文件。下面我用cloud.cctv.com域名、demo@cctv.com邮箱、/data路径为例,进行相关配置。请换成自己的。
https://cloud.cctv.com {
  root /var/www/
  tls demo@cctv.com
  proxy /data https://localhost:10000 {
    insecure_skip_verify
    header_upstream X-Forwarded-Proto "https"
    header_upstream Host "cloud.cctv.com"
  }
  header / {
    Strict-Transport-Security "max-age=31536000;"
    X-XSS-Protection "1; mode=block"
    X-Content-Type-Options "nosniff"
    X-Frame-Options "DENY"
  }
}
    保存后,启动Caddy。
/etc/init.d/caddy start
    启动后可以重启vps直接输入reboot命令。重启后看/temp/caddy.log启动是否正常,如果不正常,看相关提示操作。在winscp里面按ctrl+alt+H键,看是否有隐藏文件夹.caddy。
4、安装v2ray
bash <(curl -L -s https://install.direct/go.sh)
    winscp打开/etc/v2ray/config.json进行修改
{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },

  "inbound": {
    "port": 10000,
    "listen": "127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "8f9c704b-2cdc-4aae-b7f7-bd639f522016",
          "level": 1,
          "alterId": 64
        }
      ]
    },

    "streamSettings": {
      "network": "h2",
      "security": "tls",
      "httpSettings": {
        "path": "/data",
        "host": ["cloud.cctv.com"]
      },
      "tlsSettings": {
        "serverName": "cloud.cctv.com",
        "certificates": [
        {
          "certificateFile": "/etc/v2ray/v2ray.crt",
          "keyFile": "/etc/v2ray/v2ray.key"
        }
        ]
      }
    }
  },

  "outbound": {
    "protocol": "freedom",
    "settings": {}
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],

  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "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": "blocked"
        }
      ]
    }
  }
}
     其中cloud.cctv.com改为自己的,路径/data和Caddy中一致,"certificateFile": "/etc/v2ray/v2ray.crt","keyFile": "/etc/v2ray/v2ray.key"的路径要和/.caddy/acme/acme-v01.api.letsencrypt.org/sites/cloud.cctv.com/进行软链,不进行软链,则要输入完整Caddy生成的证书文件所在的位置.
ln -s /.caddy/acme/acme-v02.api.letsencrypt.org/sites/cloud.cctv.com/cloud.cctv.com.crt /etc/v2ray/v2ray.crt
ln -s /.caddy/acme/acme-v02.api.letsencrypt.org/sites/cloud.cctv.com/cloud.cctv.com.key /etc/v2ray/v2ray.key
    操作完成后,启动v2ray
service v2ray start
service v2ray status
    service v2ray查看v2ray是否正常启动。
    如一切正常,你就可以用http/2协议进行翻墙了。
windows电脑端用v2rayN进行翻墙,下载地址https://github.com/2dust/v2rayN/releases,相关设置:

直连tcp,速度最快,ws次之、http2的速度最慢。

注意点:1、caddy自动申请证书未成功前,cloudflare的dns解析不能为cdn状态。v2ray也不要启动,如v2ray已经启动了,执行service v2ray stop 命令。
              2、查看端口是否启动  firewall-cmd --query-port=443/tcp,返回为no说明未开放443端口。开放443端口,执行 firewall-cmd --add-port=443/tcp --permanent   提示  success 表示成功,再执行firewall-cmd --reload ,443端口即可开放成功。
              3、caddy创建证书不成功,可到tmp/caddy.log文件查看不成功原因。也可用 tail -f /tmp/caddy.log 命令查看。日志文件出现 Serving HTTPS on port 443  https://down.xxxxx.top(你的二级域名),即表示证书创建成功。
              4、caddy证书创建成功后,有效期是3个月,到期后会自动续期。但如果你是用cloudflare的cdn服务,到期后需要关闭cdn服务即设为dns only状态,再执行
service caddy restart命令才能正常续期。

--------------------------------------

V2ray+ws+tls+nginx一键安装脚本

V2Ray相比SS更加全能,有更多的传输协议和载体可供选择(Socks、HTTP、TLS、TCP、mKCP、WebSocket),这次教程内容是搭建基于websocket+tls的v2ray部署,将我们的代理流量通过tls加密,以此达到通过v2ray访问任何网络内容都显示为访问一个https网站,隐蔽性更高也更加安全。

如果你想搭建V2Ray+websocket+tls+web,先看以下几条是否符合你的需求:
  1. 想要把v2ray代理流量伪装成https;
  2. 手里的vps还想挂其他web服务使用80、443端口。
    如果你符合上面两条,强烈建议看这篇教程.
这个教程主要以脚本配置为主,已经非常简单了。文末我会贴上v2ray的一些原理图,帮助大家理解,方便大家以后可以脱离一键脚本自行搭建。
感谢wulabing大佬的脚本,脚本主页
通过ssh连接到vps(怎么连接不用细说了吧)
首先输入如下两行命令:


1
2
sudo apt-get install update  
sudo apt-get install upgrade

过程当中有[Y/N]选项,输入Y即可。然后输入命令:
git clone https://github.com/wulabing/V2Ray_ws-tls_bash_onekey V2Ray_ws-tls_bash_onekey-by-wulabing
cd V2Ray_ws-tls_bash_onekey-by-wulabing
chmod 755 install.sh && ./install.sh
耐心等待后,会要求输入我们的域名,输入我们刚刚申请好的www.mydomain.top
稍等片刻脚本会自动帮我们申请ssl证书,并且安装到v2ray,我们要做的仅仅是把最终生成的配置信息记下来:
V2ray+ws+tls 安装成功 
 V2ray 配置信息 
 地址(address): yourdomain.com
 端口(port): 443 
 用户id(UUID): 你的UUID
 额外id(alterId): 64
 加密方式(security): auto
 传输协议(network): ws 
 伪装类型(type): none 
 路径(不要落下/): /一串字符/ 
 底层传输安全: tls 
[OK]  Nginx 启动 完成 
[OK]  V2ray 启动 完成 
[OK]  cron 计划任务更新 完成 

配置客户端

至此所有工作都接近尾声了,在一键脚本的帮助下,我们省去了配置nginx,省去了申请ssl证书,真是太方便了。
在本地机器,新建配置文件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
115
116
117
{
    "log": {
        "error": "error.log",
        "loglevel": "warning"
    },
    "inbound": {
        "port": 2080,
        "listen": "127.0.0.1",
        "protocol": "socks",
        "settings": {
            "auth": "noauth",
            "udp": true,
            "ip": "127.0.0.1"
        }
    },
    "outbound": {
        "protocol": "vmess",
        "settings": {
            "vnext": [
                {
                    "address": "www.mydomain.top", 
                    "port": 443,
                    "users": [
                        {
                            "id": "************UUID**************",   \\此处修改UUID
                            "alterId": 64,
                            "security": "auto"
                        }
                    ]
                }
            ]
        },
        "streamSettings": {
            "network": "ws",
            "security": "tls",
            "tlsSettings": {
                "serverName": "www.mydomain.top"  
            },
            "wsSettings": {
                "path": "/一串字符/",       
                "headers": {
                    "Host": "www.mydomain.top"    
                }
            }
        },
        "mux": {
            "enabled": true
        }
    },
    "inboundDetour": [
        {
            "port": 6666,
            "listen": "127.0.0.1",
            "protocol": "http",
            "settings": {
                "auth": "noauth",
                "udp": true,
                "ip": "127.0.0.1"
            }
        }
    ],
    "outboundDetour": [
        {
            "protocol": "freedom",
            "settings": {},
            "tag": "direct"
        }
    ],
    "dns": {
        "servers": [
            "8.8.8.8",
            "8.8.4.4",
            "localhost"
        ]
    },
    "routing": {
        "strategy": "rules",
        "settings": {
            "domainStrategy": "IPIfNonMatch",
            "rules": [
                {
                    "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",
                        "geoip:cn"
                    ],
                    "domain": [
                        "geosite:cn"
                    ],
                    "outboundTag": "direct"
                },
                {
                    "type": "chinasites",
                    "outboundTag": "direct"
                },
                {
                    "type": "chinaip",
                    "outboundTag": "direct"
                }
            ]
        }
    }
}

运行v2ray -config config.json

然后,设置你的浏览器的socks5代理服务器为127.0.0.1 ,端口:2080 ,你的浏览器即可翻墙。

至此,我们走代理的上网行为在gfw眼里就是我们访问www.mydomain.top这个https网站这么简单,如果你好奇的话可以登陆www.mydomain.top访问查看,是一个科学计算器,简直天衣无缝。

我测试成功。
----------------

用Nginx反代+TLS+WebSocket+web隐藏/伪装v2ray


本次介绍一下将V2RAY隐藏到正常的网站背后,这样访问域名的时候,看到的是正常的网页,但是使用v2ray链接的话则可以实现梯子的功能。当然如果要实现访问域名出现一个正常网站的功能,你需要一个网站,然而自己建立一个网站也太麻烦了,我们可以反代一下别人的网站,这样访问你域名的时候则可以显示别人网站的页面,并且可以在微型小鸡上实现这样的功能。

准备

本次以debian/ubuntu系统为例,当然centos系统的配置差不了太多。
一个域名:可以申请免费域名,freenom.com,将域名A记录指向服务器。
一台服务器:64M内存就可以用了。服务器购买:Vultr,最低2.5刀一月,注册送10刀,支持支付宝。
一个欲反代的网站:选择一个简单点的网站,因为很多大网站会有安全措施,反代起来有点麻烦。

配置nginx

卸载apache。部分服务商提供的系统模版里面自带了apche,但是我们不需要它,并且它会影响到NGINX的使用,所以这里卸载它。
  1. service apache2 stop
  2. apt-get remove apche* -y
安装nginx
debian/ubuntu
  1. apt-get install nginx -y
创建dhparam.pem文件
  1. mkdir -p/etc/nginx/ssl
  2. openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
设置nginx配置文件,vi /etc/nginx/sites-enabled/你的域名.conf
  1. server
  2. {
  3. listen 80;
  4. #listen [::]:80;
  5. server_name 你的域名 ;
  6. #将http重定向到https
  7. return 301 https://你的域名$request_uri;
  8. }
  9. server
  10. {
  11. listen 443 ssl http2;
  12. #listen [::]:443 ssl http2;
  13. server_name 你的域名 ;
  14. ssl on;
  15. ssl_certificate /etc/nginx/ssl/你的域名/fullchain.cer;
  16. ssl_certificate_key /etc/nginx/ssl/你的域名/privkey.key;
  17. ssl_session_timeout 5m;
  18. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  19. ssl_prefer_server_ciphers on;
  20. ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
  21. ssl_session_cache builtin:1000 shared:SSL:10m;
  22. # openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
  23. ssl_dhparam /etc/nginx/ssl/dhparam.pem;
  24. access_log off;
  25. location / {
  26. #向后端传递访客IP
  27. proxy_set_header X-Real-IP $remote_addr;
  28. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  29. #设定需要反代的域名,可以加端口号
  30. proxy_pass http://148.251.3.246:22900/;
  31. #替换网站内容
  32. sub_filter '你反代的对象' '你的域名';
  33. # websocket设定,V2ray使用,这里的设置要和v2ray的设置一致。
  34. location /phpmyadmin/ {
  35. proxy_redirect off;
  36. #proxy_pass http://127.0.0.1:10000;
  37. proxy_http_version 1.1;
  38. proxy_set_header Upgrade $http_upgrade;
  39. proxy_set_header Connection "upgrade";
  40. proxy_set_header Host $http_host;
  41. proxy_intercept_errors on;
  42. if ($http_upgrade = "websocket" ){
  43. proxy_pass http://127.0.0.1:10000;
  44. }
  45. }
  46. }
  47. }
上面设定中的proxy_pass http://148.251.3.246:22900/;就是设定想要反代的域名的地方,148.251.3.246:22900是我挂的一个探针页面,以作测试用,当然你也可以改成其他的网站,比如https://github.com/,如果你反代的https://github.com那么sub_filter '你反代的对象' '你的域名';就是sub_filter 'github.com' 'yourdomain.com';

申请证书

安装acme.sh,一个自动化的Let’s Encrypt证书申请程序。
  1. apt-get install socat -y
  2. curl https://get.acme.sh | sh
以下命令都要在.acme.sh的目录内执行,root用户的在/root/.acme.sh,
这里用一种简单的方法,使用nginx方法来申请证书,使用nginx方法申请证书的话,需要先保证有关于这个域名的nginx配置在本例当中,就是上面那个配置文件。
申请证书
  1. acme.sh --issue --nginx -d 你的域名 -d 你的域名
acme.sh脚本可以一次申请多个域名证书,只需要多家-d参数。
创建目录存放证书。
  1. mkdir -p /etc/nginx/ssl/你的域名
将证书安装到nginx。不建议直接在nginx中使用~/.acme.sh/你的域名里面的证书,这个目录仅供内部使用,将来可能会改变结构。
  1. acme.sh --install-cert -d 你的域名 \
  2. --key-file /etc/nginx/ssl/你的域名/privkey.key \
  3. --fullchain-file /etc/nginx/ssl/你的域名/fullchain.cer \
  4. --reloadcmd "service nginx force-reload"
这个时候访问你的域名,你应该就能看到被你反代的网站了。

配置v2ray

安装v2ray
使用官方的安装脚本
  1. bash <(curl -L -s https://install.direct/go.sh)
如果提示:-bash: curl: command not found那么安装curl
  1. apt-get install curl -y
清空/etc/v2ray/config.json的内容,然后粘贴以下内容进去,vi /etc/v2ray/config.json
  1. {
  2. "log": {
  3. "access": "/var/log/v2ray/access.log",
  4. "error": "/var/log/v2ray/error.log",
  5. "loglevel": "info"
  6. },
  7. "inbound": {
  8. "port": 10000,
  9. "listen": "127.0.0.1",
  10. "protocol": "vmess",
  11. "allocate": {
  12. "strategy": "always"
  13. },
  14. "settings": {
  15. "clients": [{
  16. "id": "6d8a82b9-94d6-442e-a340-2b9cd5752c77",
  17. "level": 1,
  18. "alterId": 64,
  19. "security": "chacha20-poly1305"
  20. }]
  21. },
  22. "streamSettings": {
  23. "network": "ws",
  24. "wsSettings": {
  25. "connectionReuse": false,
  26. "path": "/phpmyadmin/"
  27. }
  28. }
  29. },
  30. "outbound": {
  31. "protocol": "freedom",
  32. "settings": {}
  33. },
  34. "outboundDetour": [{
  35. "protocol": "blackhole",
  36. "settings": {},
  37. "tag": "blocked"
  38. }],
  39. "routing": {
  40. "strategy": "rules",
  41. "settings": {
  42. "rules": [{
  43. "type": "field",
  44. "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"],
  45. "outboundTag": "blocked"
  46. }]
  47. }
  48. }
  49. }
上面"id": "6d8a82b9-94d6-442e-a340-2b9cd5752c77",里面的ID可以通过https://www.uuidgenerator.net/这里自助生成,强烈建议修改该值。

客户端的使用

https://github.com/v2ray/v2ray-core/releases查看并下载适合于自己系统的程序。
(注:V2RAY客户端和服务端一体,只是配置方式的不同,因此此处服务端和客户端在同一个地方下载,但是服务端和客户端的系统可能不同,因此应下载不同版本的程序。windows系统应下载:v2ray-windows-32.zip或者v2ray-windows-64.zip)
修改 config.json 配置为以下内容,注意 address (第25行)填写网站域名。
  1. {
  2. "log": {
  3. "access": "",
  4. "error": "",
  5. "loglevel": ""
  6. },
  7. "inbound": {
  8. "port": 1085,
  9. "listen": "0.0.0.0",
  10. "protocol": "socks",
  11. "settings": {
  12. "auth": "noauth",
  13. "udp": true,
  14. "ip": "127.0.0.1",
  15. "clients": null
  16. },
  17. "streamSettings": null
  18. },
  19. "outbound": {
  20. "tag": "agentout",
  21. "protocol": "vmess",
  22. "settings": {
  23. "vnext": [
  24. {
  25. "address": "网站域名",
  26. "port": 443,
  27. "users": [
  28. {
  29. "id": "6d8a82b9-94d6-442e-a340-2b9cd5752c77",
  30. "alterId": 64,
  31. "security": "chacha20-poly1305"
  32. }
  33. ]
  34. }
  35. ]
  36. },
  37. "streamSettings": {
  38. "network": "ws",
  39. "security": "tls",
  40. "tcpSettings": null,
  41. "kcpSettings": null,
  42. "wsSettings": {
  43. "connectionReuse": true,
  44. "path": "/phpmyadmin/",
  45. "headers": null
  46. }
  47. },
  48. "mux": {
  49. "enabled": true
  50. }
  51. },
  52. "inboundDetour": null,
  53. "outboundDetour": [
  54. {
  55. "protocol": "freedom",
  56. "settings": {
  57. "response": null
  58. },
  59. "tag": "direct"
  60. },
  61. {
  62. "protocol": "blackhole",
  63. "settings": {
  64. "response": {
  65. "type": "http"
  66. }
  67. },
  68. "tag": "blockout"
  69. }
  70. ],
  71. "dns": {
  72. "servers": [
  73. "8.8.8.8",
  74. "8.8.4.4",
  75. "localhost"
  76. ]
  77. },
  78. "routing": {
  79. "strategy": "rules",
  80. "settings": {
  81. "domainStrategy": "IPIfNonMatch",
  82. "rules": [
  83. {
  84. "type": "field",
  85. "port": null,
  86. "outboundTag": "direct",
  87. "ip": [
  88. "0.0.0.0/8",
  89. "10.0.0.0/8",
  90. "100.64.0.0/10",
  91. "127.0.0.0/8",
  92. "169.254.0.0/16",
  93. "172.16.0.0/12",
  94. "192.0.0.0/24",
  95. "192.0.2.0/24",
  96. "192.168.0.0/16",
  97. "198.18.0.0/15",
  98. "198.51.100.0/24",
  99. "203.0.113.0/24",
  100. "::1/128",
  101. "fc00::/7",
  102. "fe80::/10"
  103. ],
  104. "domain": null
  105. },
  106. {
  107. "type": "field",
  108. "port": null,
  109. "outboundTag": "direct",
  110. "ip": null,
  111. "domain": [
  112. "geosite:cn"
  113. ]
  114. },
  115. {
  116. "type": "field",
  117. "port": null,
  118. "outboundTag": "direct",
  119. "ip": [
  120. "geoip:cn"
  121. ],
  122. "domain": null
  123. }
  124. ]
  125. }
  126. }
  127. }
此时启用你的客户端,应该就可以实现利用CDN中转了。
客户端运行 v2ray 或 v2ray.exe,直接运行即可。
本地机器的socks代理为 127.0.0.1:1085
第三方客户端配置 address(网站域名)、port(443)、id(很长那串)、alterId(64)、security(chacha20-poly1305)、network(ws)、path(/v2ray/)、底层传输安全(tls)


ws+TLS+Nginx


这是v2ray一个稍微高级一点的玩法,折腾党可以试试。开始之前,你要准备一个域名解析到你的VPS。
更新系统:
yum -y update
这里为了简化步骤(偷懒)使用v2ray官方的一键安装脚本,先把v2ray装起来:
bash <(curl -L -s https://install.direct/go.sh)
设置开启启动:
systemctl enable v2ray
安装EPEL源,我这里是使用的搬瓦工的CentOS7X64,发现他这个系统模板应该是有点问题,EPEL源不知道怎么回事不能生效,解决办法是先卸载再重新装一遍,先查找:
rpm -qa | grep epel-release
然后卸载:
rpm -e epel-release-7-11.noarch
重新安装EPEL:
yum -y install epel-release
安装certbot用于签发SSL证书:
yum -y install certbot
这里就先把SSL证书申请好:
certbot certonly --standalone -d example.com
如果一切正常,你申请好的证书和私钥路径应该是类似这样子的:
/etc/letsencrypt/live/example.com/fullchain.pem
/etc/letsencrypt/live/example.com/privkey.pem
现在添加一个Nginx安装源:
vi /etc/yum.repos.d/nginx.repo
写入:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
安装Nginx:
yum -y install nginx
设置开机启动:
systemctl enable nginx
新建一个Nginx站点配置文件:
vi /etc/nginx/conf.d/v2ray.conf
写入:
server {
    listen       443 ssl;
    server_name  example.com;

    ssl_certificate    /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    error_page 497  https://$host$request_uri;

location /ray {
    proxy_pass       http://127.0.0.1:10000;
    proxy_redirect             off;
    proxy_http_version         1.1;
    proxy_set_header Upgrade   $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host      $http_host;
    }
}
然后我们备份一下v2ray的默认配置文件:
cp /etc/v2ray/config.json /etc/v2ray/config.jsonbak
清空配置文件的内容:
echo "" > /etc/v2ray/config.json
编辑配置文件:
vi /etc/v2ray/config.json
写入如下配置:
{
  "inbounds": [
    {
      "port": 10000,
      "listen":"127.0.0.1",
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "你的UUID",
            "alterId": 64
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "wsSettings": {
        "path": "/ray"
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}
注:
上面的配置内,UUID自行使用这个网站生成一个:https://www.uuidgenerator.net
全部完成之后,把系统防火墙关了:
systemctl stop firewalld.service
同时把SELinux也关了:
vi /etc/selinux/config
SELINUX=disabled
setenforce 0
现在启动v2ray和nginx:
systemctl start v2ray
systemctl start nginx
你应该使用如下命令查看这两个软件目前是否运行正常:
systemctl status v2ray
systemctl status nginx
至此,服务端这块我们就配置完成了。接下来是客户端的配置。
首先我们要下载两个软件:
1.https://github.com/v2ray/v2ray-core/releases
2.https://github.com/2dust/v2rayN
下载解压,把2复制到1内,接着打开这个v2rayN,点击服务器-添加VMess服务器,然后按照下图进行填写:

注:
图中的这个UUID(用户ID)要和你之前服务端配置的UUID一致(不要用这个界面上面的生成功能去生成),另外伪装域名这块我建议留空,因为我这边不知道为什么配置了这个伪装后,连接非常不稳定,去掉后就正常了。
还行吧,比SSR的速度慢一些.
参考文献:
https://www.v2ray.com/chapter_02/transport/websocket.html
----

V2RAY 基于 NGINX 的 VMESS+WS+TLS+nginx手工配置

  • 手工配置,安全可靠,可以对软件环境加深学习
  • 需要先申请域名,配置DNS,安装Nginx,申请证书

vim /etc/nginx/sites-enabled/https

server {
        listen 443 ssl http2;
        ssl_certificate         ssl.srgb888.ga.crt;
        ssl_certificate_key     ssl.srgb888.ga.key;
        ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers             HIGH:!aNULL:!MD5;
        server_name             ssl.srgb888.ga;
        root            /var/www/html;

        location / {
         proxy_redirect off;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
         proxy_set_header Host $http_host;
         if ($http_host = "www.baidu_bing.com" ) {
          proxy_pass http://127.0.0.1:8000;
         }
        }
}

server {
        listen 80;
        server_name ssl.srgb888.ga;
        return 301 https://ssl.srgb888.ga:443;
}
  • ssl.srgb888.ga.crt和ssl.srgb888.ga.key为域名的证书文件,保存目录为 /etc/nginx
  • nginx 反代原理: v2ray 访问服务器数据流里包含域名 www.baidu_bing.com,就代理到8000端口,而这个端口正好是v2ray的端口号

vim /etc/v2ray/config.json

{
  "inbound": {
        "port": 8000,
        "listen": "127.0.0.1",
        "protocol": "vmess",
        "settings": {
          "clients": [
                {
                  "id": "a0816b69-c87f-4085-95d2-d0feda21a588",
                  "alterId": 64
                }
          ]
        },
        "streamSettings": {
          "network": "ws",
          "wsSettings": {
          "path": "/",
          "headers": {
          "Host": "www.baidu_bing.com"
          }
          }
        }
  },
  "outbound": {
        "protocol": "freedom",
        "settings": {}
  }
}
  • 端口8000和nginx配置里对应,UUID: 可以用客户端生成修改
  • Host: www.baidu_bing.com 可以自由修改,要和nginx反代配置相同

V2ray_WS_Nginx反代 客户端设置

附: 域名申请DNS设置免费证书申请

#!/usr/bin/env sh

# https://github.com/Neilpang/acme.sh/wiki/说明

# 安装ssl依赖 和 acme.sh工具
apt-get install socat netcat -y
curl  https://get.acme.sh | sh

# 设置域名
DOMAIN=ssl.srgb888.ga

# 生成域名ssl证书
~/.acme.sh/acme.sh  --issue -d ${DOMAIN}  --webroot  /var/www/html --standalone -k ec-256 --force


####  生成的证书存放地方
#### /root/.acme.sh/ssl.srgb888.ga_ecc/ssl.srgb888.ga.cer
#### /root/.acme.sh/ssl.srgb888.ga_ecc/ssl.srgb888.ga.key
  • 使用acme协议免费证书,要先配置好DNS和安装好Nginx,参数 --webroot 要按实际填写正确
# debian 系安装
apt -y install nginx

# centos 系安装 nginx,如果web没法访问,需要关防火墙
yum -y install vnstat nginx
systemctl enable  nginx
systemctl restart nginx

# V2Ray 官方一键脚本
bash <(curl -L -s https://install.direct/go.sh)
from https://github.com/hongwenjun/vps_setup/blob/master/v2ray/v2ray_ws_nginx.md
---
https://github.com/atrandys/v2ray-ws-tls 
-----
V2ray多合一脚本,支持VMESS+websocket+TLS+Nginx、VLESS+TCP+XTLS、VLESS+TCP+TLS等组合.

V2ray多合一脚本,支持VMESS+websocket+TLS+Nginx、VLESS+TCP+XTLS、VLESS+TCP+TLS等组合

脚本原作者为网络跳越,网络跳越由于工作原因,停止维护该脚本,目前由ifeng开始维护。维护后的脚本可以在纯ipv6网络环境的主机上使用。使用过程中遇到问题,欢迎进入Tg群组( https://t.me/HiaiFeng )交流。

脚本支持:

  • VMESS,即最普通的V2ray服务器,没有伪装,也不是VLESS
  • VMESS+KCP,传输协议使用mKCP,VPS线路不好时可能有奇效
  • VMESS+TCP+TLS,带伪装的V2ray,不能过CDN中转
  • VMESS+WS+TLS,即最通用的V2ray伪装方式,能过CDN中转,推荐使用
  • VLESS+KCP,传输协议使用mKCP
  • VLESS+TCP+TLS,通用的VLESS版本,不能过CDN中转,但比VMESS+TCP+TLS方式性能更好
  • VLESS+WS+TLS,基于websocket的V2ray伪装VLESS版本,能过CDN中转,有过CDN情况下推荐使用
  • VLESS+TCP+XTLS,目前最强悍的VLESS+XTLS组合,强力推荐使用(但是支持的客户端少一些)
  • TROJAN
  • TROJAN+XTLS(推荐)

  • 安装方法:

    bash <(curl -sL https://raw.githubusercontent.com/hiifeng/v2ray/main/install_v2ray.sh)
    如果没有出现安装菜单,CentOS系统请输入 yum install -y curl,Ubuntu/Debian系统请输入 sudo apt install -y curl,然后再次运行上面的命令。
     
    from https://github.com/hiifeng/v2ray
     .