v2fly / v2ray-examples

v2ray-core 的模板们
2.35k stars 740 forks source link

Vless-Websocket-TLS #26

Closed delphinuz closed 4 years ago

delphinuz commented 4 years ago

可以做一个vless-ws-tls給cf(cdn)用吗.

试著用VLESS-TCP-TLS-WS改一个,回落到port 80有问题,而且速度比nginx-vless慢。

mack-a commented 4 years ago

可以做一个vless-ws-tls給cf(cdn)用吗.

试著用VLESS-TCP-TLS-WS改一个,回落到port 80有问题,而且速度比nginx-vless慢。

VMess+WS+TLS协议改成VLESS然后按照文档添加上那些必须存在的参数就行了

mack-a commented 4 years ago

可以做一个vless-ws-tls給cf(cdn)用吗.

试著用VLESS-TCP-TLS-WS改一个,回落到port 80有问题,而且速度比nginx-vless慢。

https://github.com/v2fly/v2ray-examples/tree/master/VLESS-TCP-TLS-WS%20(recommended) 同样也可以参考这个

delphinuz commented 4 years ago

VMess+WS+TLS协议改成VLESS然后按照文档添加上那些必须存在的参数就行了 https://github.com/v2fly/v2ray-examples/tree/master/VLESS-TCP-TLS-WS%20(recommended) 同样也可以参考这个

是用这个改的,但fallback不正常。

主要是透过cf,那tcp+tls就没用了,按这个文档,还要再回落一次到ws,效率可能不好,才想改个只有ws+tls。

  "inbounds": [
    {
      "port":443,
      "tag": "VLESS-in",
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id":"id",
            "level": 0
          }
        ],
        "decryption": "none",
        "fallbacks": [
          {
                "dest": 80
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "tlsSettings": {
                "alpn": [
                        "http/1.1"
                ],
                "certificates": [
                  {
                        "certificateFile": "/data/v2ray.crt",
                        "keyFile": "/data/v2ray.key"
                  }
                ]
        },
        "wsSettings": {
          "acceptProxyProtocal":true,
          "path":"/path/"
        }
      }
    }
  ],
mack-a commented 4 years ago

VMess+WS+TLS协议改成VLESS然后按照文档添加上那些必须存在的参数就行了 https://github.com/v2fly/v2ray-examples/tree/master/VLESS-TCP-TLS-WS%20(recommended) 同样也可以参考这个

是用这个改的,但fallback不正常。

主要是透过cf,那tcp+tls就没用了,按这个文档,还要再回落一次到ws,效率可能不好,才想改个只有ws+tls。

  "inbounds": [
    {
      "port":443,
      "tag": "VLESS-in",
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id":"id",
            "level": 0
          }
        ],
        "decryption": "none",
        "fallbacks": [
          {
                "dest": 80
          }
        ]
      },
      "streamSettings": {
        "network": "ws",
        "security": "tls",
        "tlsSettings": {
                "alpn": [
                        "http/1.1"
                ],
                "certificates": [
                  {
                        "certificateFile": "/data/v2ray.crt",
                        "keyFile": "/data/v2ray.key"
                  }
                ]
        },
        "wsSettings": {
          "acceptProxyProtocal":true,
          "path":"/path/"
        }
      }
    }
  ],

我只写过 nginx前置的那种,没搞过直接ws的,无法帮到你。 但是你可以参考下脚本

GleenJi commented 4 years ago

我现在是"vmess+ws+tls+cdn"和"vless+ws+tls+cdn"和"VLESS over TCP with TLS + 回落 & 分流 to WebSocket"和"shadowsocks"四个共存在一个config_server里,这四个配置都能正常使用,其中"vmess+ws+tls+cdn" 和"vless+ws+tls+cdn"都可以搭配cdn

delphinuz commented 4 years ago

我现在是"vmess+ws+tls+cdn"和"vless+ws+tls+cdn"和"VLESS over TCP with TLS + 回落 & 分流 to WebSocket"和"shadowsocks"四个共存在一个config_server里,这四个配置都能正常使用,其中"vmess+ws+tls+cdn" 和"vless+ws+tls+cdn"都可以搭配cdn

有无测试过fallback与直连没fallback效率一样吗?

会开这主题是,有些主机就是放cdn后面,希望有个简单的vless+ws+tls example。

tianshi1987 commented 4 years ago

我现在是"vmess+ws+tls+cdn"和"vless+ws+tls+cdn"和"VLESS over TCP with TLS + 回落 & 分流 to WebSocket"和"shadowsocks"四个共存在一个config_server里,这四个配置都能正常使用,其中"vmess+ws+tls+cdn" 和"vless+ws+tls+cdn"都可以搭配cdn

大合集呀

GleenJi commented 4 years ago

我现在是"vmess+ws+tls+cdn"和"vless+ws+tls+cdn"和"VLESS over TCP with TLS + 回落 & 分流 to WebSocket"和"shadowsocks"四个共存在一个config_server里,这四个配置都能正常使用,其中"vmess+ws+tls+cdn" 和"vless+ws+tls+cdn"都可以搭配cdn

有无测试过fallback与直连没fallback效率一样吗?

会开这主题是,有些主机就是放cdn后面,希望有个简单的vless+ws+tls example。

那很简单啊,就是把vmess+ws+tls换成vless+ws+tls就完事,改个传输协议为vless就行,vless setting改一下就完事

GleenJi commented 4 years ago

我现在是"vmess+ws+tls+cdn"和"vless+ws+tls+cdn"和"VLESS over TCP with TLS + 回落 & 分流 to WebSocket"和"shadowsocks"四个共存在一个config_server里,这四个配置都能正常使用,其中"vmess+ws+tls+cdn" 和"vless+ws+tls+cdn"都可以搭配cdn

有无测试过fallback与直连没fallback效率一样吗?

会开这主题是,有些主机就是放cdn后面,希望有个简单的vless+ws+tls example。

不过至于fallback我是小白,不知道这个干什么使的,也没必要去配置这个fallback,所以我改成了vless+tcp+tls这个模式,不太懂“VLESS over TCP with TLS + 回落 & 分流 to WebSocket”这个模式的意义是什么,好像是客户端通过vless+tcp+tls连接到服务端然后再把流量转发到websocket?感觉多此一举,为啥要转到websocket啊, 我现在只用两种模式: vless+ws+tls+cdn和vless+tcp+tls(没有配置fallback to WebSocket) 第一个模式我是先连接cdn再连接vps,第二个模式直接连接vps

tsanie commented 4 years ago

如果不使用 VLESSfallback,那么只需要把以前的 vmess + ws + nginx 配置中的 vmess 简单修改成 vless 即可。


但根据官方文档,VLESSfallback 效率似乎更高,但是这里注意 fallbacks 只能用在 tcp + tls 的传输组合中ws + tls 应该是无法起到作用的。

你上面提到的 fallback 有问题就是因为文档中的这句:其它传输组合必须删掉 fallbacks 项或所有子元素,此时也不会开启协议回落模式,VLESS 会等待读够所需长度,协议版本无效或身份认证失败时,将直接断开连接。


其实走 VLESS 的回落分流与使用 nginx 分流的最大区别就是 VLESSnginx 哪一个在前。

以前是通过 nginxlocation 分流特定流量至 vmess + wsinbound 中。 现在是通过 VLESS 把特定 path 的流量分流至 vless + wsinbound 中,剩余流量分流至 nginx(或者任意后端)

举个例子,VLESS-TCP-TLS-WS (recommended) 这个配置可以接收并处理来自 CDNws 转发流量。 两个 inbound 都是必要的,tcp 那个用于处理 fallbacks,功能与以前的 nginx - location 类似。


{
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "***",    // 修改为你的 userid
            "level": 0
          }
        ],
        "decryption": "none",
        "fallbacks": [
          {
            "dest": 80
          },
          {
            "path": "/path",    // 修改为自定义 path
            "dest": 1234,
            "xver": 1
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "alpn": [
            "http/1.1"
          ],
          "certificates" : [
            {
              "certificateFile": "/path/to/cert.pem",    // 证书路径
              "keyFile": "/path/to/privkey.pem"          // 私钥路径
            }
          ]
        }
      }
    },
    {
      "port": 1234,
      "listen": "127.0.0.1",
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "***",    // 与上述 userid 一致
            "level": 0
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "network": "ws",
        "security": "none",
        "wsSettings": {
          "acceptProxyProtocol": true,
          "path": "/path"    // 与上述 path 一致
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "tag": "blocked"
    }
  ]
}
delphinuz commented 4 years ago

但根据官方文档,VLESSfallback 效率似乎更高,但是这里注意 fallbacks 只能用在 tcp + tls 的传输组合中ws + tls 应该是无法起到作用的。

谢谢,我想重点应是这个,确定vless+ws是没有fallback功能,若需要fallback,就只能使用vless+tcp。

为这样问主要是cf后面的vps几乎都是ws为主,若tcp回落ws,是多此一举。走vless再分流nginx最重主要目地,不就是因为vless是真的,nginx是附加伪装。直接vless对接443效率才高。

只是目前只能直接使用tcp,对cdn后的vps就可惜了(又不是不能用.jpg)