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

Basic questions about vmess protocol spec (and AEAD) #341

Open
mmmray opened this issue Mar 7, 2024 · 1 comment
Open

Basic questions about vmess protocol spec (and AEAD) #341

mmmray opened this issue Mar 7, 2024 · 1 comment

Comments

@mmmray
Copy link

mmmray commented Mar 7, 2024

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:

  1. there is no mention of AEAD -- am I looking at an outdated spec?
  2. 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
  3. 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.

Is this accurate?

@klzgrad
Copy link

klzgrad commented Mar 8, 2024

The VMess protocol being a mess in its protocol specification may even be a strength in obscurity against research, circumvention or censorship likewise.

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