I tried to figure out how vmess works. The most seemingly complete spec I could find is in the xtls project, but i noticed that after trying to implement the authentication section from scratch:
there is no mention of AEAD -- am I looking at an outdated spec?
in v2ray-rust at least, I cannot find any implementation of the 16-byte authentication HMAC at all, it appears to only implement the Command Section. I can
in both v2ray and v2ray-rust, there are mentions to FNV hashing that are entirely missing from the spec
I conclude that I would have to reverse v2ray to actually understand how modern vmess works, even ignoring things like new(er) ciphers.
The VMess protocol being a mess in its protocol specification may even be a strength in obscurity against research, circumvention or censorship likewise.
I tried to figure out how vmess works. The most seemingly complete spec I could find is in the xtls project, but i noticed that after trying to implement the authentication section from scratch:
I conclude that I would have to reverse v2ray to actually understand how modern vmess works, even ignoring things like new(er) ciphers.
Is this accurate?