Disclosure affiliée — Cet article contient des liens d'affiliation Contabo. Si tu prends un VPS via nos liens, on touche une commission sans surcoût pour toi. Toutes les configs ci-dessous tournent en production sur nos propres VPS.
V2Ray (et son fork Xray-core) est aujourd'hui l'outil de référence pour bypass des DPI sophistiqués — notamment le GFW chinois. Là où Shadowsocks fait du chiffrement opaque et wstunnel fait du WebSocket simple, V2Ray combine plusieurs protocoles (VMess, VLess, Trojan, Shadowsocks) avec plusieurs transports (TCP, WebSocket, HTTP/2, gRPC, QUIC) et plusieurs couches d'obfuscation (TLS, REALITY, XTLS Vision). C'est puissant. C'est aussi complexe.
Ce guide couvre l'installation V2Ray sur un VPS Contabo (Ubuntu 24.04), la différence VMess vs VLess en 2026, deux configs JSON production-ready (VMess + WS + TLS classique, et VLess + REALITY pour la Chine), le multiplexing pour mutualiser les connexions, et les clients mobiles v2rayNG (Android) et Shadowrocket (iOS).
VMess vs VLess vs Xray : choisir le bon outil
VMess (V2Ray, 2015) : protocole historique. Chiffrement applicatif côté V2Ray + UUID + alterId pour l'auth. Robuste mais "marqué" : son fingerprint a fini par être détectable par les DPI avancés depuis 2021.
VLess (V2Ray, 2020) : version allégée. Pas de chiffrement applicatif (on délègue tout à TLS), pas d'alterId, UUID seul pour l'auth. Plus rapide (moins de calcul), plus discret (pas de "signature VMess" caractéristique).
Xray-core (fork RPRX, 2021) : fork de V2Ray maintenu plus activement, qui a introduit XTLS (TLS optimisé sans double-chiffrement) puis REALITY (emprunte le cert d'un site cible). En 2026, Xray-core est techniquement supérieur pour la Chine.
Recommandation 2026 :
- Nouveau setup, focus Chine : Xray-core + VLess + REALITY.
- Nouveau setup, focus reste du monde (Iran, Russie, corporate) : Xray-core + VLess + WS + TLS (ou VMess pour compat).
- Maintenance d'un setup existant : reste sur V2Ray + VMess + WS + TLS, ça marche encore très bien hors GFW agressif.
Pour la suite, on installe Xray-core (qui supporte VMess + VLess + Trojan + SS dans le même binaire — c'est strictement plus complet que V2Ray-core).
Installation Xray-core sur Contabo VPS
VPS Contabo VPS S (4 vCPU, 8 Go RAM, 4,99 €/mois, voir l'offre) sous Ubuntu 24.04. Pour la Chine, choisir datacenter Singapour ou Tokyo ; pour Iran/Turquie, Düsseldorf ou Nuremberg ; pour Russie, idem Europe.
Étape 1 — Script d'installation officiel
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
Le script installe Xray dans /usr/local/bin/xray, crée un service systemd xray.service, et place la config par défaut dans /usr/local/etc/xray/config.json. Vérifie :
xray version
systemctl status xray
Étape 2 — Domaine et certificat TLS (pour VMess/VLess + WS + TLS)
Pré-requis : domaine cdn.tondomaine.com pointant vers l'IP du VPS. On utilise Caddy en reverse proxy pour la gestion automatique Let's Encrypt :
apt update && apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy
Pour REALITY, pas de domaine requis — REALITY emprunte le cert d'un site cible. C'est l'un des avantages majeurs pour les déploiements rapides.
Config production 1 : VMess + WebSocket + TLS
C'est la config "classique 2020-2023" qui passe encore très bien en 2026 hors GFW agressif. Compatible avec tous les clients V2Ray historiques.
/usr/local/etc/xray/config.json :
{
"log": { "loglevel": "warning" },
"inbounds": [
{
"port": 10000,
"listen": "127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{ "id": "UUID-CLIENT-1-GENERER", "alterId": 0, "email": "user1@vpnsmith" },
{ "id": "UUID-CLIENT-2-GENERER", "alterId": 0, "email": "user2@vpnsmith" }
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/cdn-static/vmess-ws",
"headers": { "Host": "cdn.tondomaine.com" }
}
}
}
],
"outbounds": [
{ "protocol": "freedom", "tag": "direct" },
{ "protocol": "blackhole", "tag": "block" }
]
}
Génère un UUID par utilisateur avec xray uuid ou uuidgen. Garde chaque UUID dans un gestionnaire de secrets — c'est la clé d'auth.
Caddyfile correspondant (/etc/caddy/Caddyfile) :
cdn.tondomaine.com {
root * /var/www/html
file_server
@vmess {
path /cdn-static/vmess-ws
header Connection *Upgrade*
header Upgrade websocket
}
reverse_proxy @vmess 127.0.0.1:10000
}
Place un site HTML factice dans /var/www/html/index.html (crucial pour le camouflage actif probing). Démarre :
systemctl restart xray caddy
journalctl -u xray -f
Config production 2 : VLess + REALITY (anti-GFW 2026)
C'est la config recommandée pour la Chine continentale en 2026. REALITY fait que ton serveur ressemble exactement à www.microsoft.com (ou un autre site populaire blanc) du point de vue d'un DPI.
Génère d'abord une paire de clés REALITY :
xray x25519
# Private key: ...
# Public key: ...
Choisis un site cible (dest) qui répond en TLS 1.3 + HTTP/2 et n'est pas blacklisté dans le pays cible. Pour la Chine : www.microsoft.com, dl.microsoft.com, update.microsoft.com sont d'excellents choix.
/usr/local/etc/xray/config.json :
{
"log": { "loglevel": "warning" },
"inbounds": [
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "UUID-CLIENT-GENERER",
"flow": "xtls-rprx-vision",
"email": "user1@vpnsmith"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.microsoft.com:443",
"xver": 0,
"serverNames": ["www.microsoft.com"],
"privateKey": "TA_CLE_PRIVEE_X25519",
"shortIds": ["", "a1b2c3d4"]
}
}
}
],
"outbounds": [
{ "protocol": "freedom", "tag": "direct" }
]
}
Comment ça marche :
- Quand un client REALITY se connecte, il envoie un handshake TLS 1.3 ClientHello avec SNI
www.microsoft.comet un secret partagé dans une extension. - Xray détecte le secret partagé, prend la main, et établit le tunnel VLess.
- Quand un client "non-REALITY" arrive (probe du GFW, par exemple), Xray fait du passthrough vers
www.microsoft.com:443— le client voit la vraie page Microsoft, certificat valide, comportement normal. - Le DPI ne peut pas distinguer ton serveur d'un cache Microsoft.
C'est l'état de l'art anti-DPI en 2026. Difficile à blacklister sans blacklister Microsoft.
Limites REALITY :
- TCP only (pas de WS, pas de HTTP/2). Si le firewall fait du throttling TCP générique, REALITY n'aide pas.
- Le client doit supporter REALITY : v2rayNG ≥ 1.8, Shadowrocket ≥ 2.2.20, sing-box ≥ 1.5. Vieux clients SS ou VMess WS = incompatibles.
Multiplexing (mux) pour mutualiser les connexions
V2Ray/Xray supporte le multiplexing : plusieurs flux TCP utilisateurs partagent une seule connexion TCP physique vers le serveur. Avantages : réduction du nombre de connexions visibles (utile pour DPI à connection counting), latence réduite après la première session, économie de handshakes TLS.
Côté serveur, pas de config nécessaire — Xray détecte automatiquement.
Côté client (v2rayNG, Shadowrocket, sing-box), active "Mux" avec une concurrence de 8 (valeur recommandée). Tu vas voir ton ping s'améliorer de 2-5 ms et tes débits parallèles être plus stables.
Attention : sur des réseaux instables (mobile 4G en bordure de couverture), mux peut amplifier les head-of-line blocking. Si tu vois des ralentissements bizarres, désactive mux pour ce profil.
Clients : v2rayNG (Android), Shadowrocket (iOS), v2rayN (Windows), sing-box (Linux/macOS)
Android — v2rayNG (open source, F-Droid ou Play Store) : le client de référence. Pour VMess + WS + TLS, importer manuellement avec :
- Address :
cdn.tondomaine.com - Port :
443 - ID : ton UUID
- Encryption :
auto - Network :
ws - Path :
/cdn-static/vmess-ws - Host :
cdn.tondomaine.com - TLS :
tls - SNI :
cdn.tondomaine.com - Allow insecure :
false
Pour VLess + REALITY :
- Address : IP du VPS
- Port :
443 - ID : ton UUID
- Flow :
xtls-rprx-vision - Network :
tcp - Security :
reality - SNI :
www.microsoft.com - Fingerprint :
chrome - Public key : ta clé publique x25519
- Short ID :
a1b2c3d4(un de la liste serveur)
iOS — Shadowrocket (2,99 € paiement unique sur AppStore). Support natif VMess, VLess + REALITY depuis 2.2.20. Importe l'URI vless:// ou vmess:// générée par Xray (xray generate config) ou via l'interface UI.
Windows — v2rayN (open source, GitHub). UI Windows classique, supporte tout l'écosystème V2Ray/Xray. Gère bien le proxy système (System Proxy mode).
Linux/macOS — sing-box (open source, plus moderne que V2Ray client). Configuration JSON. Plus performant et plus léger que V2Ray client. Notre choix sur nos workstations.
Performance et coût opérationnel
Benchmarks réels VPS Contabo S Nuremberg, client résidentiel fibre Paris 1 Gbps, médiane 10 sessions, avril 2026.
| Setup | Latence ajoutée | Débit TCP | CPU @ 100 Mbps |
|---|---|---|---|
| VMess + WS + TLS | +12 ms | 110 Mbps | 14% |
| VLess + WS + TLS | +10 ms | 125 Mbps | 11% |
| VLess + REALITY (xtls-vision) | +8 ms | 155 Mbps | 8% |
| Trojan + WS + TLS | +12 ms | 115 Mbps | 13% |
REALITY gagne sur tous les axes — moins d'overhead car XTLS Vision évite le double-chiffrement TLS-puis-VLess.
Coût RAM (idle / @ 100 Mbps) : 25 MB / 80 MB sur la config VMess WS+TLS. Sur VPS S à 8 Go, tu héberges sans souci 20-30 utilisateurs simultanés.
Sécurisation et durcissement
1. Auth par UUID unique par utilisateur. Ne JAMAIS partager le même UUID entre plusieurs personnes. Si un UUID fuite (clipboard mal-managé, screenshot Telegram), tu sais qui révoquer.
2. Rotation des UUIDs tous les 3-6 mois. Génère de nouveaux UUIDs, communique aux utilisateurs, et supprime les anciens de la config Xray. C'est trivial à scripter.
3. fail2ban sur Caddy 404. Comme pour wstunnel, ban les IPs qui scannent des paths inexistants :
# /etc/fail2ban/jail.d/caddy-404.conf
[caddy-404]
enabled = true
port = http,https
filter = caddy-404
logpath = /var/log/caddy/access.log
maxretry = 10
findtime = 60
bantime = 3600
4. SSH key-only + UFW. Standard. Désactive le password SSH dans /etc/ssh/sshd_config (PasswordAuthentication no), ouvre uniquement 22, 80, 443 dans UFW (ufw allow 443/tcp, etc.).
5. Log retention courte. Dans config.json, garde loglevel: warning (pas info ou debug), et configure logrotate pour purger les logs anciens. Idéalement : pas de logs DNS/connections persistants si la juridiction est sensible.
V2Ray vs alternatives — Quand passer à autre chose
| Besoin | Choisir |
|---|---|
| Setup max simple, bypass corporate uniquement | wstunnel (5 min de setup) |
| Pas de VPS, juste obfusquer un WireGuard existant | Cloak |
| Multi-utilisateurs (20+) + bypass GFW + setup pro | Xray-core + VLess + REALITY |
| Setup mobile-first, plug & play | VPN commercial (NordVPN, etc.) |
| Recherche académique anti-censure | Tor + obfs4 ou Snowflake |
Si tu as moins de 3 utilisateurs et que tu ne vas jamais en Chine continentale, V2Ray est overkill — préfère wstunnel ou WireGuard + Cloak. Si tu cherches une solution clé-en-main mobile sans VPS à gérer, regarde NordVPN avec ses obfuscated servers.
Troubleshooting fréquent
Symptôme : connexion établie mais aucun trafic ne passe. Vérifier outbounds — si tu as oublié freedom, tout va dans le trou noir. Ajouter {"protocol": "freedom", "tag": "direct"}.
Symptôme : "TLS handshake error" côté client. SNI incorrect côté client, ou cert expiré côté serveur (vérifier caddy logs ou acme.sh status selon ton setup).
Symptôme : REALITY ne fonctionne pas, le client voit la vraie page du dest. Le shortIds côté serveur ne match pas celui que tu mets côté client. Vérifier que le client envoie a1b2c3d4 (ou autre valeur valide listée serveur).
Symptôme : performance médiocre malgré une bonne connexion. Active mux côté client (concurrence 8). Vérifie que le serveur n'est pas saturé CPU (top puis htop). Pour 50+ users, passer en Cloud VPS 10 (8 vCPU, 30 Go RAM, 13 €/mois).
Pour aller plus loin
- Self-host VPN sur Contabo : guide WireGuard complet 2026
- Shadowsocks vs VPN 2026 : comparatif technique
- wstunnel : tunnel TCP/UDP sur WebSocket
- Cloak : obfuscation TLS pour VPN self-host
Sources et docs officielles :
- Xray-core GitHub officiel
- Project V (V2Ray) documentation
- REALITY protocol — explication par RPRX
- v2rayNG (Android) GitHub
- GFW Report — données live blocages
Article publié le 2026-06-03. Configurations testées sur VPS Contabo VPS S Nuremberg + clients résidentiels Europe + comptes test Singapour, mars-avril 2026. REALITY est en évolution rapide — vérifier les changelogs Xray-core trimestriels avant déploiement critique.
Rappel légal : V2Ray/Xray sont des outils open source légaux dans l'UE, US, Canada, et la plupart des pays. L'usage anti-censure en Chine, Iran, Russie est illégal localement avec peines variables. VPNSmith publie ce guide à titre éducatif.
★ Datacenter Nuremberg GDPR · ✓ IPv4 dédiée incluse · 200+ Mbps garantis
Voir l'offre Contabo30 jours satisfait ou remboursé→