Le protocole VLESS délègue le chiffrement à TLS ou à REALITY

Chaque connexion VLESS commence par un court en-tête qui contient votre identifiant et l’adresse de destination. Le protocole lui-même ne chiffre ni ne camoufle rien. Ce rôle revient à la couche inférieure, TLS ou REALITY. C’est pourquoi il est rarement question de VLESS sans l’un des deux. Cet article présente l’en-tête, les changements par rapport à VMess, les transports et REALITY. Il indique aussi ce que contient une clé VLESS et explique comment Ben's VPN utilise le protocole.
Un en-tête VLESS contient un UUID, une commande et une adresse
VLESS est un protocole de communication entre un client et un serveur proxy. Chaque connexion s’ouvre par un en-tête de requête, et vos données suivent juste après. L’en-tête de requête se compose des champs suivants.
- Version du protocole.
- UUID, votre identifiant sur le serveur, par exemple
8b71f62c-7736-4334-ab2f-032d2115d2fd. Il sert aussi de mot de passe, car le serveur n’accepte que les UUID de sa liste. - Compléments, des paramètres supplémentaires comme le mode flow, présenté plus bas.
- Commande, qui demande un flux TCP, des paquets UDP ou plusieurs flux dans une seule connexion (Mux).
- Port et adresse de destination. Il peut s’agir d’une adresse IPv4 ou IPv6, ou d’un nom de domaine.
VLESS n’ajoute rien aux données qui suivent l’en-tête. Le serveur répond par un en-tête encore plus court, qui ne contient que la version et les compléments. L’en-tête de requête ne comporte ni horodatage ni champ indiquant l’algorithme de chiffrement, et VLESS ne chiffre pas l’en-tête lui-même. C’est la principale différence entre VLESS et VMess.
La première version de VLESS est sortie avec V2Ray à l’été 2020. Depuis la fin de cette année-là, l’essentiel de son développement se fait dans Xray-core, un projet dérivé de V2Ray. D’autres noyaux, comme sing-box, le prennent aussi en charge. À proprement parler, VLESS est un protocole de proxy. Vous obtenez un VPN pour téléphone ou ordinateur quand une application fait passer tout le trafic de l’appareil par VLESS. Notre article sur la différence entre un VPN et un proxy compare les deux en détail.
VLESS abandonne le chiffrement et la vérification de l’heure de VMess
VMess, protocole plus ancien issu de V2Ray, chiffre les données avec son propre algorithme, ChaCha20-Poly1305 ou AES-128-GCM. Pour authentifier une connexion, il vérifie à la fois l’UUID et l’heure actuelle. La documentation de Xray indique que les horloges du client et du serveur ne doivent pas s’écarter de plus de 2 minutes de l’heure exacte. De ces 2 vérifications, VLESS n’a gardé que celle de l’UUID. Dans une configuration standard, VLESS ne chiffre rien. Le champ decryption du serveur et le champ encryption du client sont tous deux réglés sur none. L’horloge n’a aucun effet sur une connexion VLESS.
Le tableau montre la différence dans 3 situations. Dans les 2 premières, VMess et VLESS fonctionnent tous deux à l’intérieur de TLS.
| Situation | VMess | VLESS |
|---|---|---|
| L’horloge de votre téléphone avance de 5 minutes | Le serveur refuse la connexion | Le serveur accepte la connexion |
| Vous ouvrez un site HTTPS via le tunnel | 3 couches de chiffrement (site, VMess et TLS externe) | 2 couches de chiffrement (site et TLS externe) |
| La connexion se fait sans TLS externe | VMess chiffre quand même les données avec son propre algorithme | Tout observateur sur le trajet voit l’UUID et les adresses de destination |
À l’intérieur de TLS, le chiffrement propre à VMess ne fait qu’augmenter la charge du processeur et la consommation de batterie. VLESS n’a pas ce surcoût. Quand le mode flow est activé, le TLS externe cesse de rechiffrer les données après la négociation (handshake) avec le site. En 2025, Xray a doté VLESS d’un chiffrement intégré facultatif, VLESS Encryption. Il est destiné aux configurations sans TLS externe. Il convient aussi quand TLS s’arrête avant le serveur, par exemple sur un CDN. Une configuration REALITY n’a pas besoin de VLESS Encryption.
Le transport détermine l’apparence du trafic VLESS
VLESS circule à l’intérieur d’un transport. C’est ce transport que voit un observateur sur le réseau. Xray propose plusieurs transports pour VLESS, dont voici les 4 principaux.
- RAW, appelé tcp dans les anciennes configurations. C’est une simple connexion TCP. Avec TLS ou REALITY par-dessus, ce trafic ressemble à du HTTPS ordinaire.
- XHTTP, anciennement SplitHTTP. Il répartit le flux sur des requêtes et des réponses HTTP ordinaires, en HTTP/1.1, HTTP/2 ou HTTP/3. XHTTP fonctionne aussi via un CDN. Pour un observateur, il ressemble à une application web qui envoie sans cesse des requêtes à son serveur.
- gRPC. Le trafic passe sous forme d’appels de procédure à distance sur HTTP/2, à la manière de nombreuses applications qui échangent des données avec des API.
- WebSocket. Une connexion persistante, du type de celles qu’utilisent les chats en ligne et les jeux sur navigateur. WebSocket fonctionne aussi via un CDN.
REALITY fonctionne avec RAW, XHTTP et gRPC, mais pas avec WebSocket.
Un serveur REALITY n’a besoin ni de nom de domaine ni de certificat
Le TLS classique exige que le serveur ait un nom de domaine et le certificat correspondant. REALITY, apparu dans Xray-core 1.8.0 au printemps 2023, ne demande ni l’un ni l’autre. Pendant la négociation, le serveur emprunte l’identité d’un vrai site tiers, le site cible. Les étapes ci-dessous montrent comment le serveur traite 2 types de connexions.
- Votre client lance une négociation TLS comme le ferait un navigateur répandu. Son premier message, le ClientHello, indique le site cible. Le ClientHello porte aussi une marque que seul le détenteur de la clé privée du serveur peut vérifier. La marque comprend notamment un identifiant court appelé shortId.
- Le serveur vérifie la marque. Si elle est valide, le serveur termine lui-même la négociation, puis les données VLESS suivent.
- Un scanner ou tout autre visiteur envoie un ClientHello ordinaire, sans marque. Le serveur n’y répond pas directement. À la place, il transmet la connexion au site cible, qui répond avec son vrai certificat et sa vraie page.
Le site cible doit prendre en charge TLS 1.3 et HTTP/2. REALITY repose sur une paire de clés X25519. La clé privée reste sur le serveur, et le client reçoit la clé publique.
Une clé VLESS contient tous les paramètres de connexion
Une clé VLESS fournie par un service ou par l’administrateur d’un serveur est une longue chaîne de caractères. Elle contient tout ce dont un client a besoin pour se connecter.
- L’adresse du serveur et son port.
- Votre UUID, qui sert de mot de passe.
- Le transport et la couche de sécurité, TLS ou REALITY.
- Le nom du site que le client envoie pendant la négociation (SNI).
- Pour REALITY, la clé publique du serveur et le shortId.
- L’empreinte de navigateur que le client imite dans son ClientHello.
- Le mode flow, en général
xtls-rprx-vision. Quand une autre connexion TLS passe par le tunnel, il masque les tailles de paquets typiques de cette négociation. Après la négociation, il ne rechiffre pas ce que le site a déjà chiffré. - Un nom, pour repérer la clé dans une liste.
Vous pouvez aussi héberger vous-même un tel serveur sur un VPS loué. La configuration et les mises à jour du noyau de proxy sont alors à votre charge. Si l’adresse du serveur est bloquée, c’est aussi à vous de le transférer vers une nouvelle adresse. Pour comparer la location d’un serveur et un abonnement VPN, lisez notre comparatif entre VPS et VPN.
L’adresse du serveur reste visible pour votre fournisseur d’accès à Internet
VLESS avec REALITY masque ce qui circule dans la connexion, mais pas le serveur qui se trouve à l’autre bout. Votre fournisseur d’accès à Internet voit quand même la connexion à ce serveur. Il voit l’adresse du serveur, à quels moments la connexion est active et combien d’octets passent dans chaque sens. Si cette adresse est bloquée, aucun paramètre du protocole ne peut rétablir la connexion. Il vous faut alors un serveur à une autre adresse.
Certains réseaux n’autorisent le trafic que vers une liste d’adresses approuvées. Un serveur hors de cette liste reste injoignable, aussi bien camouflé que soit le protocole. Sur ces réseaux, le trafic doit prendre un autre itinéraire.
L’application Ben's VPN choisit le protocole et n’a besoin d’aucune clé
L’application Ben's VPN dispose de 4 modes de connexion (VLESS + REALITY, XHTTP, Hysteria2 et Shadowsocks). Elle choisit automatiquement entre eux. Vous ne pouvez pas en imposer un dans les paramètres. Pour comparer les 4 modes côte à côte, consultez notre guide des protocoles VPN.
L’application n’accepte pas les clés VLESS, qu’elles viennent d’un autre service ou de votre propre serveur. Elle n’en a pas besoin non plus. Vous n’avez jamais à saisir d’UUID ni de clé. Sur un téléphone, une tablette ou un ordinateur, installez l’application et appuyez sur Connecter. Payez ensuite un abonnement dans la fenêtre Acheter Ben's VPN. Si vous avez déjà un abonnement, connectez-vous à votre compte depuis la même fenêtre. Les téléchargements pour chaque plateforme se trouvent sur notre page des applications.
Si la connexion est de mauvaise qualité, l’application peut afficher le bandeau Connexion médiocre avec le bouton Résoudre le problème. Ce bouton propose 2 options : changer d’emplacement ou chercher un serveur fonctionnel. La recherche est aussi accessible par le bouton Trouver un serveur fonctionnel, dans Compte → Paramètres. Elle revérifie le serveur et lui attribue de nouvelles adresses IP. En dernier recours, la recherche active le multihop. La recherche dure 2 minutes au maximum.
Questions et réponses
Ai-je besoin de mon propre nom de domaine pour faire fonctionner VLESS ?
Avec REALITY, vous n’avez pas besoin de nom de domaine. Comme le serveur emprunte l’identité d’un site cible tiers, il n’a pas besoin de son propre certificat. Vous avez besoin d’un nom de domaine et d’un certificat si VLESS fonctionne à l’intérieur d’un TLS classique ou derrière un CDN.
Pourquoi placer un serveur VLESS sur le port 443 ?
Le port 443 est le port standard de HTTPS. Une connexion TLS ou REALITY sur ce port ressemble à une navigation web ordinaire. Sur un port inhabituel, la même connexion se distinguerait de l’essentiel du trafic. Le protocole VLESS lui-même fonctionne sur n’importe quel port.
En quoi VLESS diffère-t-il de Hysteria2 ?
VLESS passe généralement par TCP, à l’intérieur de TLS ou de REALITY. Comme Hysteria2 repose sur QUIC, il fonctionne sur UDP. Vu de l’extérieur, le trafic Hysteria2 ressemble à du HTTP/3. Pour cette raison, les 2 protocoles ne sont pas exposés aux mêmes restrictions du réseau. Un réseau qui bloque ou bride le trafic UDP touche Hysteria2, mais pas VLESS sur TCP. Ben's VPN propose les deux, et l’application choisit entre eux.
REALITY masque-t-il l’adresse IP du serveur ?
Non. REALITY camoufle la négociation, mais pas l’adresse du serveur. Un observateur sur le réseau peut voir à quel serveur votre appareil se connecte. Une fois cette adresse bloquée, il vous faut un serveur à une nouvelle adresse.
Puis-je ajouter ma propre clé VLESS à Ben's VPN ?
Non. Les clés VLESS d’autres services ou de votre propre serveur ne fonctionnent pas dans l’application. Elle se connecte aux serveurs de Ben's VPN et choisit le protocole pour vous.








