V2Ray istemcisi sizin yerinize protokol seçmez. Bu seçimi içe aktardığınız yapılandırma yapar; yapılandırma da sağlayıcınızdan ya da kendi sunucunuzdan gelir. Dolayısıyla pratik soru, neyi istemeniz ya da neyi kurmanız gerektiğidir. Bu makale önemli olan farkları açıklıyor ve kısa bir öneriyle bitiyor.
Tek seçim değil, üç katman
“VLESS mi VMess mi” tek bir karar gibi görünür. Aslında üç karardır:
- Protokol: istemcinin kimliğini nasıl doğruladığı ve veri yükünün neye benzediği (VMess, VLESS, Trojan, Shadowsocks).
- Aktarım: baytların nasıl taşındığı (düz TCP, WebSocket, gRPC ve diğerleri).
- Güvenlik: bağlantıyı neyin sardığı (hiçbir şey, TLS ya da REALITY).
Aynı protokol, diğer iki katmana bağlı olarak neredeyse görünmez de olabilir, kolayca fark da edilebilir. Sansürcünün ne gördüğünü çoğunlukla aktarım ve güvenlik belirler.
Sansürcü neleri görebilir
- Rastgele görünen baytlar. Düz TCP üzerinden Shadowsocks ve VMess’in tanınabilir bir başlığı yoktur. Bu başlı başına bir işarettir: 2021 sonundan beri Great Firewall, ilk paketi tamamen şifreli veriye benzeyen bağlantıları engelliyor. Ayrıntılar Çin makalesinde.
- Bir TLS el sıkışması. Trojan ile TLS üzerinden VLESS ya da VMess HTTPS gibi görünür. Sansürcü yine de sunucu adını, IP adresini, sertifikayı ve bağlantının nasıl davrandığını kontrol edebilir.
- Ödünç alınmış bir el sıkışma. REALITY, sizin seçtiğiniz gerçek bir web sitesinin TLS el sıkışmasını taklit eder. Anahtara sahip olmayan bir sonda o gerçek siteye yönlendirilir ve onun gerçek sayfalarını görür. Kendinize ait bir alan adına ya da sertifikaya ihtiyacınız yoktur.
Dört protokol yan yana
| VMess | VLESS | Trojan | Shadowsocks | |
|---|---|---|---|---|
| Veri yükünü kendisi şifreler | Evet | Hayır, TLS ya da REALITY’ye dayanır | Hayır, TLS’ye dayanır | Evet |
| Varsayılan olarak neye benzer | Düz TCP üzerinde rastgele baytlar | Güvenlik katmanına bağlı: rastgele baytlar, TLS ya da REALITY | HTTPS | Rastgele baytlar |
| Kendi alan adı ve sertifikanız gerekir | Yalnızca TLS ile | Yalnızca TLS ile, REALITY ile gerekmez | Evet | Hayır |
| Saat yanlışsa çalışmaz | Evet | Hayır | Hayır | Hayır |
| v2rc’ye içe aktarılır | Evet | Evet | Evet | Evet |
- VMess, özgün V2Ray protokolüdür. Kimlik doğrulamayı bir UUID ve bir zaman damgasıyla yapar; bu yüzden telefonun ya da sunucunun saati birkaç dakika bile kaysa hata mesajı vermeden çalışmaz. alterId 0 kullanın (AEAD modu); sıfırdan farklı bir alterId eski yöntemdir.
- VLESS, daha hafif halefidir. Kendi şifrelemesi yoktur; bu yüzden gizliliği, altındaki katman kadardır. TLS ya da REALITY ile kullanın; açık internet üzerinde güvenlik
noneiken asla kullanmayın. - Trojan, HTTPS’i taklit eder: sıradan bir TLS bağlantısının içinde bir parola. Parolayı bilmeyen bir istemciye bunun yerine normal bir web sayfası gösterilir. Gerçek bir alan adı için gerçek bir sertifika gerekir ve bir alan adı engellenebilir.
- Shadowsocks, köklü bir şifreli proxy’dir ve işletmesi en basit olandır. AEAD şifresi kullanın;
rc4-md5veyaaes-256-cfbgibi eski akış şifreleri zayıftır. Bir eklenti ya da sarmalayıcı olmadan trafiği, tamamen şifreli türdendir.
REALITY ve Vision ne ekler
Bir REALITY yapılandırmasında security=reality, bir sunucu adı (sni), bir genel anahtar (pbk) ve bir kısa kimlik (sid) görürsünüz. Sunucu adı, TLS 1.3 ve HTTP/2 destekleyen gerçek bir web sitesi olmalıdır; REALITY belgeleri tam olarak bunu ister.
flow=xtls-rprx-vision Vision akışıdır. Başka bir TLS bağlantısının içinde taşınan bir TLS bağlantısı tanınabilir bir desen bırakır; araştırma literatürü buna TLS-in-TLS diyor ve Xue ve ark. (USENIX Security 2024) bu tür desenlerin gizlenmiş proxy’leri açığa çıkarabildiğini gösterdi. Vision, kendisi de HTTPS olan trafik için bu deseni azaltmak üzere tasarlandı.
İkisi de sihir değildir. Sunucunuzun IP adresi ve barındırıldığı ağ hâlâ önemlidir; REALITY, bağlantının yurt dışındaki bir veri merkezi adresine gittiği gerçeğini gizlemez.
Ne istemeli
- Kısıtlayıcı bir ağda (Rusya, İran, Çin ve benzerleri): 443 portunda, TCP üzerinden REALITY ve Vision ile VLESS.
- Farklı türden ikinci bir yapılandırma: Trojan ya da WebSocket veya gRPC ile TLS üzerinden VLESS; isteğe bağlı olarak bir CDN’in arkasında. CDN sunucunuzun IP adresini gizler, ancak bulunduğunuz yerde CDN’in kendisine erişilebilmesine ve hızının kısılmamasına bağlıdır.
- Açık bir ağda: dördünden herhangi biri. Sağlayıcınızın zaten desteklediği hangisiyse onu kullanın.
- Sağlayıcınız size abonelik veriyorsa: seçim yapmazsınız, ama ne aldığınızı bilmek için linkleri okuyabilirsiniz. Bkz. bir yapılandırma linki nasıl okunur.
- Farklı hosting sağlayıcılarından en az iki yapılandırma bulundurun. Biri bozulduğunda aynı sunucudan başka bir yapılandırma değil, farklı bir IP adresi ve mümkünse farklı bir protokol istersiniz.
v2rc neleri içe aktarabilir, neleri aktaramaz
v2rc; VMess, VLESS (REALITY dahil), Shadowsocks ve Trojan’ı bir linkten, bir V2Ray JSON dosyasından, panodan veya bir abonelik URL’sinden içe aktarır. Hysteria 2, TUIC, WireGuard, AmneziaWG ve NaiveProxy’yi içe aktarmaz. İlk dördü, kısıtlayıcı ağların çoğunun düşürdüğü UDP üzerinden çalışır; NaiveProxy HTTPS üzerinden çalışır ama kendi istemcisini gerektirir. Bunlar için başka bir uygulamaya ihtiyacınız var.
v2rc’de yerleşik sunucu yoktur: yapılandırmaları siz getirirsiniz. Smart Connect en hızlı yapılandırmayı seçer ve geçiş yapmadan önce tünelin gerçekten trafik geçirdiğini doğrular.
Kaynaklar
- REALITY belgeleri ve Xray yapılandırma örnekleri
- Trojan protokol açıklaması
- Shadowsocks AEAD belirtimi
- Xue, Kallitsis, Houmansadr, Ensafi: Fingerprinting Obfuscated Proxy Traffic with Encapsulated TLS Handshakes, USENIX Security 2024
- Wu ve ark.: How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic, USENIX Security 2023