VLESS协议之一:TCP+TLS

注:由于本人精力有限,这里无法保证实时更新,请移步 Github地址 寻找你需要的教程

引言

东八区时间8月6日,V2ray-Core 4.27.0 发布,这次不仅修补了很多安全问题,还引入了一个新的传输层协议:VLESS 。这是官方的文档:https://www.v2fly.org/config/protocols/vless.html

简单来说,VLESS 协议去掉了 VMESS 协议底层的加密,直接采用 TLS 协议进行加密,避免了二次加密,带来了更强的性能提升。同时加入了多种协议回落模式,以适应更复杂的网络需求。

截至发文前官方还未定下 VLESS 协议的标准分享格式,同时由于安卓的客户端 V2rayNG 还未能支持 VLESS 协议的手动配置,因此你只能导入写好的 JSON 配置文件使用,PC 端有 Qv2ray 已经做到全支持 目前 VLESS 协议已经获得全面的支持,安卓端和PC端都已经更新,iOS 端的小火箭已经在测试版中加入了对此协议的支持

但可预见的未来是:由于 VLESS 协议已经整合进了官方内核,其他各种平台的客户端跟进只是时间问题,未来 VLESS 协议一定会被广泛应用,并逐渐发展为“新版的 VMESS 协议”

TCP+TLS 是 VLESS 协议的配置中最推荐的,由于加入了协议回落,其应对主动探测的行为和 Trojan 一致,在客户端都支持后可能发展的并不会比 Trojan 差。如果你不使用 CDN ,不建议使用 Websocket 模式,这会带来无意义的损耗。下一篇教程会写 VLESS 协议下的 Websocket 模式,请在需要使用 CDN 时再使用

准备工作

你需要拥有一个自己的域名,并已经将域名解析至你的服务器

配置环境

硬件 : 内存 ≧ 512M 储存 ≧ 5G | 64位系统

软件 : Debian 9/10 && Ubuntu 16/18/20

配置内容

  • 安装基础工具
apt update && apt install -y socat wget git vim     
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • 安装证书生成脚本
wget -qO- get.acme.sh | bash 
source ~/.bashrc
  • 安装证书 (your_domain.com 改为你的域名)
acme.sh --issue --standalone -d your_domain.com -k ec-256
mkdir -p /etc/nginx/conf.d /etc/v2ray
acme.sh --installcert -d your_domain.com --fullchain-file /etc/v2ray/server.pem --key-file /etc/v2ray/server.key --ecc
  • 安装 Docker && Nginx && V2ray
wget -qO- get.docker.com | bash
docker pull nginx
docker pull teddysun/v2ray
docker pull containrrr/watchtower
  • 编辑 v2ray 配置
vim /etc/v2ray/config.json
  • 复制配置
{
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "b831381d-6324-4d53-ad4f-8cda48b30866",  #更改id
            "level": 0,
            "email": "your@email.com"  #更改为你的邮箱
          }
        ],
        "decryption": "none",
        "fallback":{
        "addr": "127.0.0.1",
        "port": 80
        }
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tcpSettings": {
        "type": "none"
        },
        "tlsSettings": {
          "serverName": "your_domain.com",  #改为你的域名
          "allowInsecure": false,
          "alpn": [
          "http/1.1"
          ],
          "certificates": [
            {
              "certificateFile": "/etc/v2ray/server.pem",
              "keyFile": "/etc/v2ray/server.key"
            }
          ]
       }
     }
   }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}
  • 修改 Nginx 配置
vim /etc/nginx/conf.d/default.conf
  • 复制配置
server {
    listen 127.0.0.1:80;
    server_name your_domain.com;  #改为你的域名
    location / {
        proxy_pass https://proxy.com;  #改为你想伪装的网址
        proxy_redirect     off;
        proxy_buffer_size          64k; 
        proxy_buffers              32 32k; 
        proxy_busy_buffers_size    128k;  
    }
}
server {
    listen 127.0.0.1:80;
    server_name ip.ip.ip.ip; #改为你服务器的 IP 地址
    return 301 https://your_domain.com$request_uri;  #改为你的域名
}
server {
    listen 0.0.0.0:80;
    listen [::]:80;
    server_name _;
    return 301 https://$host$request_uri;
}
  • 启动服务
docker run --network host --name v2ray -v /etc/v2ray:/etc/v2ray --restart=always -d teddysun/v2ray
docker run --network host --name nginx -v /etc/nginx/conf.d:/etc/nginx/conf.d --restart=always -d nginx
docker run --name watchtower -v /var/run/docker.sock:/var/run/docker.sock --restart unless-stopped -d containrrr/watchtower --cleanup
  • 开启 BBR 加速
bash -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf'
bash -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'
sysctl -p

更新软件

使用这种配置方式后,watchtower会自动监测并更新软件,你无需手动更新

客户端

Android系统: 点击下载

Windows && Linux && MacOS : Qv2ray 下载

Qv2ray 用法 : 文档

评论 在此处输入想要评论的文本。

标题和URL已复制