VLESS XHTTP
VLESS XHTTP, VPN trafiğini Reality üzerinde HTTP istekleriyle taşır; uzun TCP bağlantılarını kesen ağlar içindir. İşleyişi, sınırları ve Colitu'daki yeri.
VLESS XHTTP, Colitu Adaptive Connect'in Android ve iOS'ta denediği üçüncü moddur; Windows ve Linux'ta ise bağlanma süresine göre sıralanan TCP modlarından biridir. VLESS Reality ile aynı VLESS protokolünü ve aynı Reality kamuflajını kullanır, ama verinin nasıl taşındığını değiştirir: tek ve uzun ömürlü ham bir akış yerine trafik HTTP istekleri ve yanıtlarıyla taşınır.
Nedir?
XHTTP, VLESS ve Reality'yi de sağlayan açık kaynak araç seti Project X (Xray) içindeki bir taşıma katmanıdır. Xray'in daha önceki SplitHTTP taşımasından gelişmiştir. Fikir, bir proxy oturumunu sıradan HTTP kurallarıyla taşımaktır; yükleme ve indirme yönleri ayrı HTTP isteklerinde ilerleyebilir. Başka kurulumlarda bu, XHTTP'nin HTTP anlayan her şeyin içinden geçebilmesini sağlar; Colitu'da ise doğrudan Reality üzerinde çalışır, yani dış katman VLESS Reality'dekiyle aynı kamufle edilmiş TLS 1.3 bağlantısıdır.
Nasıl çalışır?
- Reality el sıkışması. Uygulama bir TCP bağlantısı açar ve Reality TLS 1.3 el sıkışmasını yapar: tarayıcıya benzeyen parmak izi, gizli X25519 doğrulaması ve gerçek hedef siteye aktarılan yoklamalar. XHTTP modunun, VLESS Reality'den ayrı kendi Reality anahtar çifti vardır.
- Gizli yol. TLS oturumunun içinde uygulama, sunucudaki yalnızca kendisinin bildiği rastgele bir yola HTTP ile konuşur. Tünel başka hiçbir yolda yanıt vermez.
- İndirme yönü. Sunucudan gelen veri, uygulamaya akış hâlinde iletilen bir HTTP yanıtının gövdesi olarak gelir.
- Yükleme yönü. Moda göre uygulamanın verisi bir dizi ayrı POST isteğiyle (packet-up), tek bir isteğin gövdesinde akış olarak (stream-up) ya da indirmeyle aynı isteği paylaşarak (stream-one) gönderilir. Colitu modu "auto" olarak ayarlar ve seçimi Xray'e bırakır.
- İçeride VLESS. Cihazın kullanıcı kimliğini ve hedefi taşıyan VLESS isteği, ham bir akışta nasıl ilerleyecekse bu HTTP alışverişinin içinde de öyle ilerler.
Colitu neden kullanıyor?
Bazı ağlar uzun süre açık kalan ya da tek ve opak bir akışla çok veri taşıyan TCP bağlantılarını keser veya bozar; bu da tipik bir VPN tünelinin görünümüdür. Oturumu HTTP isteklerine bölmek, bu görünümü HTTP trafiği gibi davranan bir şeye dönüştürür. XHTTP tam olarak bu durum için yapılmıştır. Adaptive Connect de böylece düz VLESS Reality bağlanıp sonra takıldığında ya da kesildiğinde başvurabileceği Reality tabanlı bir seçeneğe sahip olur.
Güçlü olduğu yerler
- Uzun TCP bağlantılarını kesen ağlar: trafik tek ve bitmeyen bir akış yerine HTTP isteklerine dağılır.
- DPI yapan ağlar: Reality'nin kamuflajını, tarayıcıya benzeyen parmak izini ve aktif yoklamaya karşı korumasını devralır.
- UDP'yi engelleyen ağlar: diğer TCP modları gibi UDP'ye bağlı değildir.
Sınırları ve en iyi seçim olmadığı durumlar
- Daha fazla ek yük. HTTP çerçevelemesi ve ayrı istekler ek yük ve biraz gecikme getirir. Temiz bir ağda Vision'lı VLESS Reality daha hafiftir.
- Vision yok. XTLS Vision ham bir TCP akışı gerektirir, XHTTP ise bunu sağlamaz; bu modda "TLS içinde TLS" deseninin Vision ile ele alınması mümkün değildir.
- Kayıplı hatlarda TCP. Yoğun kayıplı mobil veride ya da kötü Wi-Fi'da her TCP protokolü gibi yavaşlar; orada Hysteria2 genellikle daha hızlıdır.
- Reality'nin aynı sınırları. SNI üçüncü taraf bir siteyi işaret ederken IP adresi başka bir ağa aittir; bu ikisini karşılaştıran ya da IP adresine göre engelleyen filtreler yine de etkili olabilir.
- Daha genç bir taşıma. XHTTP diğer modlardan yenidir ve Xray içinde gelişmeye devam ediyor.
Adaptive Connect nasıl kullanıyor?
Android ve iOS'ta VLESS XHTTP üçüncü sıradadır: Hysteria2 ve VLESS Reality'den sonra, Trojan ve Shadowsocks 2022'den önce. UDP kullanışsızsa ve düz Reality ya bağlanamıyor ya da trafik kontrolünü geçemiyorsa sıra ona gelir. Windows ve Linux'ta ölçülen bağlanma süresine göre diğer TCP modlarıyla birlikte sıralanır. XHTTP de hiçbir şey taşımazsa uygulama onu geriye iter ve sıradaki moda geçer.
Güvenlik ve şifreleme
- Şifreleme: dış katman, X25519 anahtar değişimli ve TLS 1.3 AEAD şifreleriyle korunan bir Reality TLS 1.3 oturumudur.
- Sunucu doğrulaması: el sıkışma, XHTTP modunun Reality açık anahtarına karşılık gelen özel anahtara sahip olunduğunu kanıtlamalıdır; aksi hâlde uygulama sunucuyu kabul etmez.
- İstemci doğrulaması: Reality doğrulama bloğu, gizli HTTP yolu ve her cihazın kendi bağlantı bilgilerinin parçası olan VLESS kullanıcı kimliği.
- Anahtar yönetimi: anahtarlar, short ID'ler, yol ve hedef site uygulamaya şifreli olarak iletilir, hiçbir yerde yayınlanmaz.
- Erişim günlüğü yok: bkz. güvenlik sayfası.
Kaynaklar
Deneyin
VLESS XHTTP her Colitu uygulamasında yerleşik gelir ve uzun bağlantılar sürekli koptuğunda kendiliğinden devreye girer. Colitu'yu indirin ya da sunucu konumlarına bakın.