Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vless tcp fallback to vmess tcp 无法连接 #66

Closed
jinwyp opened this issue Jul 20, 2022 · 8 comments
Closed

Vless tcp fallback to vmess tcp 无法连接 #66

jinwyp opened this issue Jul 20, 2022 · 8 comments

Comments

@jinwyp
Copy link

jinwyp commented Jul 20, 2022

https://github.com/XTLS/Xray-examples/blob/main/VLESS-TCP-XTLS-WHATEVER/config_server.json

按照上面这个教程

Vless tcp fallback to vmess tcp and vmess ws

vmess ws 是可以正常工作的, 但vmess 的 tcp 里面带path /vmesstcp 就无法连接

用脚本 bash <(curl -Lso- https://git.io/oneclick) 安装选13 就可以安装 vless fallback to vmess tcp 可以重现问题

印象中以前是可以的,不知道哪个版本后就不行了

@jinwyp
Copy link
Author

jinwyp commented Jul 20, 2022

@jinwyp
Copy link
Author

jinwyp commented Jul 20, 2022

我说的是vless tls tcp fallback to vmess tls tcp

@jinwyp
Copy link
Author

jinwyp commented Jul 20, 2022

你根本没看懂, 你的模板也有错误, 你看看下面的范例吧
https://github.com/XTLS/Xray-examples/blob/main/VLESS-TCP-XTLS-WHATEVER/config_server.json

@jinwyp
Copy link
Author

jinwyp commented Jul 20, 2022

你根本没看懂, 你的模板也有错误, 你看看下面的范例吧 https://github.com/XTLS/Xray-examples/blob/main/VLESS-TCP-XTLS-WHATEVER/config_server.json

没有哦,我自己都在用2333

你不懂,你知道你配置有错误吗? 能连接不等于没错误, 你要知道配置每行的意思

我说问题就是这个官方范例以前是可以的,现在不行了。
你的配置中 不需要nginx 的h2 , 还有xray也不需要fallback h2的trojan

@jinwyp
Copy link
Author

jinwyp commented Jul 20, 2022

用脚本 bash <(curl -Lso- https://git.io/oneclick) 安装选17 装一下 vless tcp tls fallback to xray的trojan 看以下配置 不用h2 也不用客户端设置h2

h2 是有其他需求 专门针对h2 的协议才需要使用。

@chika0801
Copy link
Contributor

chika0801 commented Jul 20, 2022

测试了下,安装好后的提示如下

{
    协议: VMess,
    地址: test1.********.top,
    端口: 443,
    uuid: 4b300c07-fc42-42ff-9ce3-1be3b95a5d88,
    额外id: 0,  // AlterID 如果是Vless协议则不需要该项
    加密方式: auto,  // 如果是Vless协议则为none
    传输协议: tcp,
    路径:/tcp5bbb2c83,
    底层传输:tls,
    别名:自己起个任意名称
}

你这上面的提示,少了一句 伪装类型 选成 http

看了下生成的config文件

            "streamSettings": {
                "network": "tcp",
                "security": "none",
                "tcpSettings": {
                    "acceptProxyProtocol": true,
                    "header": {
                        "type": "http",
                        "request": {
                            "path": [
                                "/tcp5bbb2c83"
                            ]
                        }
                    }
                }
            }

"type": "http",

我在v2rayn手动添加配置信息时,伪装类型的默认值是none,所以第一次也失败了。选上 http 就通了。

上面的官方客户端配置,看了下就有"type": "http",

@jinwyp
Copy link
Author

jinwyp commented Jul 20, 2022

的确是这个问题 服务器端配置了 伪装类型 为 http , 而客户端的生成的配置漏了

这里还需要注意的几点

查看文档 https://www.v2fly.org/config/transport/tcp.html#tcpobject
有一句话 :

数据包头部伪装设置,默认值为 NoneHeaderObject。HTTP 伪装无法被其它 HTTP 服务器(如 Nginx)分流,但可以被 VLESS fallbacks path 分流。

注意1 当只使用Vmess Tcp时 伪装类型 "type": "none" 也可以正常工作, 所以无论是 无加密的Vmess Tcp 或有TLS 的nginx 443 + vmess tcp 都可以用 伪装类型 "type": "none" . 这也是之前这个问题被忽略的原因

注意2 如果使用 vless fallback to vmess tcp 必须使用 伪装类型 "type": "http" , 使用伪装类型 "type": "none" 无法正常工作。 所以服务器和客户端 必须都配置 伪装类型 "type": "http" 。相当于这个参数是专门配合 vless fallback 使用的

感谢楼上找出问题。

@jinwyp jinwyp closed this as completed Jul 20, 2022
@chika0801
Copy link
Contributor

你是大佬让了2333

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants