-
Notifications
You must be signed in to change notification settings - Fork 4k
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
xray方式应该被探测到,已测试 #1750
Comments
哇~ 好神奇 ^_* |
Why don't you use VLESS+TCP? |
使用Vision并看使用提醒,你的协议组合方式从去年10月开始大规模被检测。 |
xray的核心是XTLS以及1.8.0即将更新的REALITY |
不稀罕,你不说我差点忘了,去年我有个套 CF 的 WSS 遇到了不断升级的“智能墙”:
|
loc从这月初开始,又有很多内容为 xxx ws tls(印象中xxx ws也有)被封端口的帖子,现在也是每天基本上有。 从这论坛帖子反映出是3月开会提高了强度。去年10月的强度持续到今年1月好久减弱了。(主观从观察hostloc每日发帖内容积累印象) 去年以来在hostloc的帖子,我就看到过有 类似 nginx前置 xxx ws tls 伪装网站能访问,梯子不通了的帖子,出现频率也不低。楼主只是来这报告了。。。 |
(So only someone with good luckiness could unrecognize blocking all the time 0 ︶ 0 ) |
顺便,我说一下 WSS 代理为什么能被精准识别:
所以我现在的建议是:不要用 WSS,并且它应当被列为 deprecated。套 CDN 有 gRPC,直连有 N 种姿势,已无任何必要用 WSS。 |
直连还在用 WSS 的,不是小白就是人才。下次看到,麻烦甩出这句话:
|
hostloc 一搜一大把帖子 https://hostloc.com/thread-1141899-1-1.html 它搜索不用注册 |
(🤭Unintentionally become master)
Mar 8, 2023 12:57:16 RPRX ***@***.***>:
… loc从这月初开始,又有很多内容为 xxx ws tls(印象中xxx ws也有)被封端口的帖子,现在也是每天基本上有。
从这论坛帖子反映出是3月开会提高了强度。去年10月的强度持续到今年1月好久减弱了。(主观从观察hostloc每日发帖内容积累印象)
去年以来在hostloc的帖子,我就看到过有 类似 nginx前置 xxx ws tls 伪装网站能访问,梯子不通了的帖子,出现频率也不低。楼主只是来这报告了。。。
直连还在用 WSS 的,不是小白就是人才。下次看到,麻烦甩出这句话:
*指纹:即使开了伪装,它发的 ALPN 始终为 http/1.1,一眼 WSS,实际上无法做到我们想要的“藏木于林”,只会裸送人头。*
—
Reply to this email directly, view it on GitHub[#1750 (comment)], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AKGBAYHAIFRFLH6IJA4TF6TW3AGSXANCNFSM6AAAAAAVTHOBUU].
You are receiving this because you commented.[Tracking image][https://github.com/notifications/beacon/AKGBAYAM7QGPVGEGHB5VKFLW3AGSXA5CNFSM6AAAAAAVTHOBUWWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSW7XXTG.gif]
|
其实去年我还跑通过 WebSocket over HTTP/2,可惜 CF 完全不支持,就没啥用, |
|
|
So change here the flag of HTTP/1.1 will be basically ok? |
当然不行,WSS 的缺点就是 ALPN 必须为 若不需过 CDN,即直连,服务端由自己控制,一唱一和当然可以,但完全没必要用复杂、且多一次握手的 WSS。 WebSocket 是一个设计得极其失败的协议,它自己搞了一套复杂且多余的协议结构和状态控制,搞成这样却没自带多路复用,相反地,每次都还要多握手一次。本来把全双工的 RAW 直接暴露给用户就完事,WebSocket 硬是要给 RAW 裹上一层包浆,理解不能。 |
All right, we indeed don't pass through CDN.
Mar 8, 2023 18:53:02 RPRX ***@***.***>:
… So change here the flag of HTTP/1.1 will be basically ok? tlsConfig := config.GetTLSConfig(tls.WithDestination(dest), tls.WithNextProto("http/1.1"))[https://github.com/XTLS/Xray-core/blob/c04c333afc68fa43a630ed1022473994a987f804/transport/internet/websocket/dialer.go#L87]
当然不行,WSS 的缺点就是 ALPN 必须为 *http/1.1*,若这里改为常规的 *"h2", "http/1.1"*,就过不了 CDN 了。
若不需过 CDN,即直连,服务端由自己控制,一唱一和当然可以,但完全没必要用复杂、且多一次握手的 WSS。
WebSocket 是一个设计得极其失败的协议,它自己搞了一套复杂且多余的协议结构和状态控制,搞成这样却没自带多路复用,相反地,每次都还要多握手一次。本来把全双工的 RAW 直接暴露给用户就完事,WebSocket 硬是要给 RAW 裹上一层包浆,理解不能。
—
Reply to this email directly, view it on GitHub[#1750 (comment)], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AKGBAYAXSSDT4GJDE6UDDKLW3BQI3ANCNFSM6AAAAAAVTHOBUU].
You are receiving this because you commented.[Tracking image][https://github.com/notifications/beacon/AKGBAYHQZUKS6I5NVWSYNGTW3BQI3A5CNFSM6AAAAAAVTHOBUWWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSXAWCVE.gif]
|
Know it. |
没有去分析,1.7.5 用的vmess+ws+nginx+tls,没套cdn |
其实并不能说 WebSocket 设计得失败,只能说用在浏览器以外的场景不合适。 它原本只是设计给跑在浏览器里的网页用的,毕竟浏览器不会把原生 Socket 暴露给网页。 WebSocket 又为了兼容性,只能设计成由 HTTP 发起连接,(如果服务器支持),再将这条连接升级(转换)为 WebSocket, 之后就脱胎换骨,不按 HTTP 那套来行事了。而 H2 有多路复用,连接不是一对一,所以不适用 WS,只能走 H1 来握手。 R 佬肯定比我更懂什么是 WebSocket,我也同意既然不在浏览器里跑,那确实没必要多此一举,直接上原生套接字。 |
cloudflare 已经支持 HTTP2 溯源 https://developers.cloudflare.com/cache/how-to/enable-http2-to-origin/ |
它就是设计得失败,你没有理解到我吐槽的是哪一部分。
到这里还算是正常,我吐槽的是,WebSocket 设计了一套对 载荷 的编码格式等,还不带多路复用,大可不必,远不如直接传输。
(后面那句没看懂) |
无关联,这个 HTTP/2 回源,只是多了一种 HTTP/1.1 以外的回源方式,实际上还是要 Cloudflare 先解析、处理,并不是直接透传。 |
|
试验了下,grpc 可以透传,http2 不可以。。我去他们 discord 问下吧。。 |
用 R 佬的话来讲就是包了层浆,如果只把它看做全双工解决方案,不被名字里边的 Socket 迷惑,大概就想的通了。
WebSocket 需要基于一条独立的信道,而 H2 的多路复用特性跟 WS 的目标冲突,所以不兼容。 至于 H3 是基于 QUIC 的,WebSocket 是基于 TCP 的,所以 ALPN 只能是 H1 了。 |
(想得通什么,没看懂)
你对 WebSocket 的理解有误,WebSocket 的出现只是为了实现全双工通信,而不是独占一条 TCP,也不需要独占一条 TCP。 同理,WebSocket 发的 ALPN 是
|
因为 HTTP/2 被认为是框架,而 gRPC 被认为是载荷,没缓存的情况下,载荷当然要交给源服务器处理,不然网断了。。。 |
谢谢解释,合理。但是我感觉具体细节就是因为 cloudflare buffer http request body(为了防攻击),这样无法 HTTP stream request. 看看 cf 以后不会不会给个选项 disable buffer HTTP request body 吧。 |
原来如此,之前有在 Nginx 试过 WS over H2 没通,所以自以为 WebSocket 需要独占信道,这点没去看 RFC,谢谢 R 佬的指正。 |
不是,你说的这个是 streaming upload,Cloudflare 至今未支持,但它与支持 WebSocket over HTTP/2 没有关联,因为对于这样的特殊载荷必然要额外特殊处理才能通,比如 Cloudflare 的 HTTP/1.1 同样不支持普通载荷的 streaming upload,却支持 WebSocket。 CF 的工作原理是不管三七二十一先解析框架、载荷,没缓存就让处理后的合法载荷回源,若不认识、不处理载荷,就不会放行。 若要支持 WebSocket over HTTP/2,具体细节上,服务端必须声明 SETTINGS 8 为 1,你可以用 WireShark 看看,所以若 Cloudflare 要支持,它自己的 H2 回应必定要设 SETTINGS 8 为 1、增加额外特殊处理,这些都与是否支持普通载荷的 streaming upload 无关。
|
谢谢解释。我是需要研究下。不过我也感觉 stream request 是个好东西,看到 chrome 105 fetch支持 half duplex我高兴了一会,如果以后支持 full duplex,一个 http2 请求一个天然的tunnel,我已经把stream requests 未来是否支持的问题,post 到 cloudfalre community call questions上了,看周五他们回答不回答了。 |
其实现在当全双工用也没问题,毕竟可以是同一条 H2,如果 Cloudflare 支持 streaming request 实时回源了, |
歪个楼,大佬请问下,有没有什么 wireshark 的插件可以快速的分析 vless 协议? |
请问 @RPRX 使用 nginx + wss 和只使用 xray 的 VLESS-TCP-TLS-WS (recommended) 也是都是相同的弱点,也都不推荐了么 |
现在推荐哪种方案? 如果必须nginx前置,怎么选方案? |
I use grpc now, It's pretty good. you can try it. |
那我肯定就是人才了, 去年20大那会, 我一台阿里云轻量HK上, tcp协议里最稳的就wss和grpc了... |
The text was updated successfully, but these errors were encountered: