Blog

0-RTT

Any given v2ray config does not just “have” 0-RTT or not have it. It’s a property of a specific protocol layer, and your config is made of multiple layers. In this order, from outer to inner layer: TCP, UDP TLS layer, optional Transport layer, optional Mux, optional “The protocol”, e.g. VLESS or Vmess Each of these layers “is 0-RTT”… or isn’t. What that really means is: Does the given layer add a roundtrip when creating a full connection (and therefore increase latency), or does it not?

Read more →

August 14, 2024

Transports

Translations: Russian Background Note: The historical details are to the best of my knowledge, but I am not sure about them. V2ray originally started out with Vmess-TCP only. Over time, Vmess got detected, and v2ray added some functionality to wrap the underlying TCP socket in additional layers. One of these layers are transports, the main point of this document. The other one may be some kind of mux, depending on which fork of v2ray you use.

Read more →

August 1, 2024

Issues with Xray Panels

I’ve been observing the Xray bugtracker for a while now, and I see some recurring issues with users of popular Xray panels that are directly caused by some software design choices in those panels. I want to write down a list of these choices here, and argue why I think they cause problems. I don’t want to single out any particular panel maintainer here, mostly because most of the issues are shared by almost all of them, but also because I hope this document can serve as a reference for the design of new panels.

Read more →

July 30, 2024