v2ray-core icon indicating copy to clipboard operation
v2ray-core copied to clipboard

[websocket mode] alpn in client-hello make it's v2ray

Open liudongmiao opened this issue 3 years ago • 5 comments

type alpn
go-https (net/http) h2, http/1.1
v2ray-core http/1.1
go-websocket (github.com/gorilla/websocket) N/A

Referer: https://github.com/v2fly/v2ray-core/commit/8e791e92bc1898e11904bf54462635aed864cd04#diff-98874970fe9e833c1469702de67b4a0d1c731059ad04a00a349093f52f141f31R48

And for web browsers:

scheme alpn
https h2, http/1.1
wss http/1.1

Please note, websocket over http2 is not supported. IMO, v2ray-core should send h2, http/1.1 like go-https (net/http), however, this requires server (like nginx) turn off http2.

liudongmiao avatar Aug 22 '22 08:08 liudongmiao

JA3 fingerprint: https://engineering.salesforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967

liudongmiao avatar Aug 23 '22 02:08 liudongmiao

FYI: WebSocket over H2 is supported after Chrome 91. https://chromestatus.com/feature/6251293127475200

klzgrad avatar Oct 12 '22 15:10 klzgrad

FYI: WebSocket over H2 is supported after Chrome 91. https://chromestatus.com/feature/6251293127475200

@klzgrad I have chedked it before, however there is no way to turn on. And from my case, browser always send http/1.1 for wss.

liudongmiao avatar Oct 13 '22 01:10 liudongmiao

https://bugs.chromium.org/p/chromium/issues/detail?id=801564#c48

It's always enabled

klzgrad avatar Oct 14 '22 05:10 klzgrad

@klzgrad Just use chrome with a wss://.... then use wireshark to dump the packets.

liudongmiao avatar Oct 14 '22 06:10 liudongmiao

This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 5 days

github-actions[bot] avatar Feb 12 '23 02:02 github-actions[bot]