Mobil proxy işletiyorsanız bu acıyı bilirsiniz: bir şeyler bozulur ve kimse size nedenini söyleyemez. Cihaz başka bir ülkede. Kullanıcı "çalışmıyor" diyor. Hiç log yok, hata mesajı yok, yığın izi yok. Sadece sessizlik.
Bize de tam olarak bu oldu — ama çoğu kullanıcı fark etmeden önce yakaladık. İşte nedeni.
Mobil proxy'lere mi ihtiyacınız var?Hemen mobil proxy oluşturun!
Android uygulamamız sadece trafiği iletmekle kalmaz. Bağlantı, gecikme, DNS çözümlemesi, HTTP ve HTTPS erişilebilirliği ve daha fazlasını kontrol eden kapsamlı bir ağ sağlığı probları paketi çalıştırır. Bu problar, kontrollü sunuculara karşı sürekli çalışır; böylece her an her cihazın ağ durumunu biliriz.
Bunu bu şekilde fark ettik: küçük bir yüzde cihaz, HTTP mükemmel çalışırken HTTPS kontrollerinde başarısız olmaya başladı. Hata TLS el sıkışma aşamasında gerçekleşti. Hata mesajı yok, zaman aşımı mesajı yok — sadece sessizce hiçbir yere gitmeyen bir bağlantı.
Yerleşik tanılama olmadan bu tamamen görünmez olurdu. Kullanıcılar, hiçbir örüntüsü ve açıklaması olmayan aralıklı proxy hataları görürdü. Biz de tahmin yürütürdük.
Hatalar özellikle TLS 1.3 ile ilgiliydi. Aynı cihazdan, aynı sunucuya, aynı anda TLS 1.2 bağlantıları — sorunsuz çalıştı. TLS 1.3 çalışmadı.
Temel neden iki şeyin birleşiminden kaynaklandı:
Modern TLS istemcileri eskiye göre çok daha büyük el sıkışma mesajları gönderir. Go 1.23+ ve Chrome 124+, artık varsayılan olarak kuantum sonrası kriptografi anahtar paylaşımlarını (ML-KEM) dahil eder. Bu, bir TLS bağlantısındaki ilk mesajı — ClientHello'yu — tek bir TCP paketini aşacak kadar büyük hale getirir. TLS 1.3'teki sunucu yanıtı da bir büyük paket olarak gönderilir (sertifika zinciriyle birlikte); bu Google veya Cloudflare gibi siteler için 4-6 KB olabilir.
Bellek baskısı altındaki Android cihazlar bu büyük mesajları tamponlamakta zorlanır. Uygulamamız bir TCP proxy'si olarak çalışır — bir soket'ten bayt okur ve diğerine yazar. Cihazın RAM'i azaldığında bu tamponlama sessizce başarısız olabilir. El sıkışma verisi ya iletilmez ya da yanıt geri gelmez. Hata yok. Çökme yok. Sadece hiçbir şey.
TLS 1.2 bunu tamamen önler: el sıkışması birden fazla küçük gidiş-dönüşe bölünmüştür ve tek bir mesaj sorun yaratacak kadar büyük değildir.
Bu tür sorunlar, güvenilir bir proxy hizmetini sinir bozucu olandan ayırır.
Aktif tanılama olmadan, bir sağlayıcı kullanıcıların rastgele HTTPS hatalarından şikayet ettiğini görürdü. Destek ekibi "uygulamayı yeniden başlatın" veya "internet bağlantınızı kontrol edin" derdi. Sorun gelir giderdi. Kimse bunu TLS sürümleriyle veya cihaz belleğiyle ilişkilendiremezdi.
iProxy'de örüntüyü otomatik olarak tespit ettik. Tanılama sistemimiz, belirli cihazlarda belirli zamanlarda TLS 1.2 çalışırken TLS 1.3'ün başarısız olduğunu belirledi. Bu bize tam olarak nereye bakacağımızı söyledi.
Sorunu anladıktan sonra iki düzeltme yayınladık:
Akıllı TLS geri dönüşü. Tanılama sistemimiz bir cihazda TLS 1.3 hata örüntüsünü tespit ettiğinde, otomatik olarak ayarlama yapar. Kullanıcının herhangi bir şey yapmasına gerek kalmadan trafik akmaya devam eder.
Otomatik kurtarma. Bir cihaz bozuk bir duruma girerse, bellek baskısını gidermek ve tam işlevselliği yeniden sağlamak için uzaktan uygulama yeniden başlatması tetikleyebiliriz. Tanılama sistemi bunun ne zaman gerekli olduğunu tespit eder ve kullanıcı müdahalesi olmadan halleder.
Ayrıca soruna katkıda bulunan uygulamamızdaki bellek sızıntılarını da bulduk ve düzelttik. İyileşme, izleme göstergelerimizde hemen görünür oldu — filodaki TLS 1.3 hatalarının oranı önemli ölçüde düştü.
Herkes TCP paketlerini ileten bir uygulama yazabilir. Zorlu kısım, ne zaman çalışmayı bıraktığını bilmek, neden çalışmayı bıraktığını bilmek ve kullanıcı destek talebi açmadan önce düzeltmektir.
iProxy, her cihazda ağ sağlığını gerçek zamanlı olarak izler. Kullanıcıların sorunları bildirmesini beklemeyiz — tespit eder, teşhis eder ve çoğu durumda otomatik olarak düzeltiriz. Bu bir proxy uygulaması ile proxy altyapısı arasındaki farktır.
Mühendislik ekibimiz bu soruşturmaya dair tam teknik bir derinlemesine analiz yayınladı. Ayrıntılarla — paket yakalamalar, Go ile curl farklılıkları, kuantum sonrası kriptografi boyutu — ilgileniyorsanız buradan okuyabilirsiniz: Android Proxy'niz içinde TLS 1.3 sessizce öldüğünde.
iProxy.online, 100'den fazla ülke ve 600'den fazla operatörde mobil proxy altyapısı sağlar. Android uygulamamız, yerleşik ağ tanılaması, otomatik sağlık izleme ve uzaktan yönetim ile telefonları güvenilir proxy sunucularına dönüştürür.