Düzeltildi
- obfs4 köprüleri artık bağlanmadan önce gerçek bir el sıkışma (handshake) ile doğrulanıyor. Bağlantı öncesi tarama önceden obfs4'ü yalnızca TCP testiyle kontrol ediyordu; bu nedenle obfs4 katmanında çökmüş veya engellenmiş olan köprüler yine de Tor'a aktarılıyor, bu da bağlantı öncesinde uzun bir beklemeye ve koca bir "general SOCKS server failure" (genel SOCKS sunucu hatası) uyarıları yığınına yol açıyordu. Uygulama artık entegre obfs4 istemcisini çalıştırarak gerçek el sıkışmayı tamamlıyor ve başarısız olanları eliyor; böylece bağlantı daha hızlı gerçekleşiyor ve günlük (log) akışı çok daha sessiz kalıyor (#74). Eğer bu kontrol çalıştırılamazsa veya neredeyse her şey başarısız olursa (örneğin tüm köprü grubu ağınızda engellenmişse), güvenli bir şekilde önceki davranışa geri dönülüyor (fallback).
- Windows'ta TUN/VPN modunda yaşanan "bağlantı kuruldu ancak hiçbir web sitesi yüklenmiyor" sorunu düzeltildi (tarayıcı ERR_PROXY_CONNECTION_FAILED hatası gösteriyordu). Sistem ara sunucusu (proxy) uygulanmış durumdayken önceki bir oturum çökmüş veya zorla kapatılmışsa, Windows bu ara sunucuyu etkin tutmaya devam ediyor ve tarayıcıları o çökmüş oturuma ait bir porta yönlendiriyordu; TUN modu ise bu durumu hiçbir zaman düzeltmiyordu. Uygulama artık bağlantı kurulurken kendi formatıyla eşleşen kalıntı bir ara sunucu ayarı varsa bunu temizliyor ve TUN modunda başka bir sistem ara sunucusu etkin durumdaysa günlüğe net bir not düşüyor. Üçüncü taraf ara sunucu ayarlarına ise asla dokunulmuyor.
Küçük bir tanı/teşhis (diagnostics) sürümü: Köprüler erişilebilir olduğu halde taşıyıcı (transport) hala bağlanamadığında, günlük (log) artık olası nedene işaret ediyor.
Düzeltildi
- Taşıyıcının, erişilebilir durumdaki köprülere ulaşamadığı senaryolar için daha net günlükler (logs) sağlandı. Erişilebilirlik taraması köprüleri çalışır durumda bulduğu halde, taşıyıcı bunlardan hiçbirine bağlanamaz ve köprülü bağlantı başarısız olursa; günlük artık olası nedeni açıkça belirtiyor: OnionHop'un taşıyıcı yardımcısını (lyrebird / webtunnel-client) engelleyen bir güvenlik duvarı (firewall) veya güvenlik aracı ya da protokol katmanında çökmüş olan köprüler. Öncesinde bu durum, sadece nedeni açıklanmayan koca bir "general SOCKS server failure" (genel SOCKS sunucu hatası) metni olarak görünüyordu (#74).
Düzeltildi
- Köprü tarayıcısının (Bridge scanner) WebTunnel bağlantılarını gerçek anlamda doğrulaması sağlandı. Tarayıcı artık bir WebTunnel köprüsünü sadece CDN ön ucunun 443 portu üzerinden yanıt vermesini kontrol ederek değil, gerçek bir el sıkışma (bridge uç noktasına yapılan ve 101 döndürmesi gereken bir WebSocket yükseltmesi) ile doğrular. Ön ucu hala ayakta olan ancak kendisi çökmüş bir WebTunnel köprüsü artık doğru bir şekilde erişilemez olarak gösterilir; böylece taranan WebTunnel listesinde Tor'un bağlanamadığı köprüler artık çalışan köprüler olarak işaretlenmez (#74).
- Taşıyıcı (transport) başlatma hatalarının artık nedeni belirtiliyor. Bir takılabilir taşıyıcı (pluggable transport) çalışamadığında Tor sadece anlaşılması güç bir "Managed proxy ... terminated with status code 2" hatası raporluyor ve bu durum gerçek nedeni gizliyordu (obfs4 ve snowflake bağlantılarının bazı kullanıcılarda "bağlanıp hemen ardından kopması" sorununa bu durum yol açıyordu). Uygulama artık her bir taşıyıcı ikili dosyasını (binary) ön kontrolden (preflight) geçirerek çökme, yanlış mimariye sahip ikili dosya veya eksik çalıştırma izni (missing execute bit) gibi gerçek nedeni günlüğe kaydeder; böylece sorun belirsiz kalmaz ve teşhis edilebilir hale gelir (#74).
Eklendi:
- Kaydedilen kitaplığa (saved library) kopyalama butonu eklendi. Tarayıcı > Kaydedilenler (Scanner > Saved) altındaki her girişin yanına Uygula (Apply) ve Sil (Delete) butonlarının hemen yanına bir "Kopyala" (Copy) butonu eklendi. Bu buton, doğrudan köprü satırını veya SNI sunucusunu panoya kopyalar; böylece ilgili bilgiyi köprü tarayıcısına veya SNI tarayıcısına yapıştırıp doğrudan yeniden tarayabilirsiniz. Öncesinde, bir girişi yeniden tarayabilmek için önce uygulamak (Apply) ve ardından başka bir sekmeden kopyalamak gerekiyordu.
Düzeltildi
- Sansürlü ağlarda Snowflake'in yeniden başlatılabilmesi sağlandı (#71). AMP-önbellek buluşması (AMP-cache rendezvous) etkinleştirildiğinde Snowflake, "Managed proxy ... terminated with status code 2" hatası veriyor ve bağlantı çubuğu takılı kalıyordu. AMP önbelleği, gömülü Snowflake ikili dosyası (lyrebird) tarafından reddedilen bir "-ampcache" komut satırı bayrağı (flag) olarak aktarılıyordu ve bu yüzden uygulama anında kapanıyordu. Bu değer artık lyrebird tarafından okunabilen, Snowflake köprü satırındaki bir "ampcache=" parametresi olarak ayarlandı. Bu sorun esas olarak Akıllı Bağlantı'nın (Smart Connect) Snowflake AMP kullanımını zorunlu kıldığı ağları (örneğin İran) etkiliyordu.
Eklendi
- SNI tarayıcısı için kompakt düzen (compact layout) eklendi. SNI tarayıcısı artık köprü tarayıcısıyla uyumlu hale getirildi: "Özel liste" (Custom list) geçişi, siz listeyi açana, yükleyene, içe aktarana veya talep edene kadar aday alan adı kutusunu daraltılmış (collapsed) tutar; böylece kontroller daha az yer kaplar.
- SNI Talep Etme (ülkeye özel listeler) özelliği eklendi. Çalışan SNI sunucuları ülkeye özgü olduğundan, SNI tarayıcısına ülkeniz için aday bir listeyi OnionHop SNI-lists kaynağından çekip tarama için yükleyen bir "SNI Talep Et" (Request SNI) butonu eklendi. Kaynağa erişilebildiğinde bir ülke seçici görünür.
- Çalışanları Dışa Aktar (Export Working) özelliği eklendi. SNI tarayıcısı artık çalışan SNI sunucularını bir metin (.txt) dosyasına kaydedebilir.
- Hakkında sayfasına sürüm bağlantıları eklendi. Değişiklik günlüğü geçmişindeki her sürümün artık ilgili sürüm sayfasını açan bir "GitHub'da Görüntüle" bağlantısı var ve kaynaklar bölümünde yeni OnionHop SNI Lists kaynağı listeleniyor.
- SNI tarayıcısını kullanmanın daha kolay bir yolu eklendi ve tam macOS derlemesi (build) geri getirildi.
Eklendi:
- SNI tarayıcısı: "Adayları yükle" (Load candidates) — tek tıklamayla girdi alanını yaygın CDN/ön alan adlarından (Cloudflare, Fastly, Google, Microsoft, Apple, jsDelivr, Wikipedia ve daha fazlası) oluşan yerleşik bir başlangıç listesiyle doldurur; böylece hangi alan adlarını deneyeceğinizi bilmenize gerek kalmadan tarayabileceğiniz hazır bir listeye sahip olursunuz. Ardından Taramayı Başlat'a (Start Scan) basabilirsiniz; yeşil renkle gösterilen satırlar ağınızda çalışan SNI sunucularını (hosts) ifade eder. Listeyi dilediğiniz gibi düzenleyebilir, kendi listenizi içe aktarabilir veya daha fazlasını yapıştırabilirsiniz.
Not:
- macOS derlemeleri geri döndü — v3.6.2 sürümünün Mac dosyaları, onay bekleyen bir Apple geliştirici sözleşmesi nedeniyle gecikmişti, bu durum artık çözüldü. Bu sürüm, tüm platformlar için eksiksiz seti (complete set) içermektedir.
- Test geri bildirimlerine dayalı tarayıcı (scanner) iyileştirmeleri yapıldı.
Eklendi:
- Köprü tarayıcısı (Bridge scanner): "Köprüleri yükle" (Load bridges) — seçilen kategori/aktarım (transport) listesini tarama yapmadan girdi alanına getirir; böylece listeyi önce inceleyebilir veya düzenleyebilir, ardından tarayabilirsiniz (BridgeHop'un iki adımlı akışına benzer şekilde).
- Hem köprü tarayıcısı hem de SNI tarayıcısı için "Dosyayı içe aktar" (Import file) özelliği eklendi — köprü satırlarını / aday alan adlarını (candidate domains) bir .txt veya .csv dosyasından yüklemenize olanak tanır.
- Kaydedilen köprüler (saved-bridges) kütüphanesi için ping rozeti (ping badge) eklendi — kaydedilen her girişin gecikme süresi (latency) artık düz bir sayı yerine yeşil (veya yavaş olduğunda sarı) bir "✔ ms" rozeti olarak gösterilmektedir.
Düzeltildi:
- SNI tarayıcısının hiçbir zaman çalışan bir sunucu (host) bulamaması sorunu düzeltildi. Her deneme dahili bir .NET SslStream hatasıyla başarısız oluyordu (sertifika doğrulama geri çağrısı aynı anda iki farklı yerde ayarlanmıştı); bu nedenle sonuçlar her zaman "engellendi" (blocked) olarak dönüyor ve tarayıcı hiçbir işlem yapmıyormuş gibi görünüyordu. Tarayıcı artık TLS el sıkışmalarını (handshakes) başarıyla tamamlıyor ve ulaşılabilir SNI sunucularını doğru bir şekilde raporluyor.
- SNI tarayıcısı durum mesajlarının her zaman İngilizce görünmesi yerine yerelleştirilmesi (localized) sağlandı ("Ready.", "Scanning…", "Enter at least one domain to test." vb.).
Eklendi:
- Kaydedilen köprüler (saved-bridges) kütüphanesine yeni bir Ping sütunu eklendi; bu sütun, her bir giriş kaydedildiğinde ölçülen gecikme süresini (latency) göstermektedir.
Eklendi
- "Özel liste" (Custom list) köprü kaynağı: Ana sayfadaki köprü kaynağı (bridge source) açılır menüsüne (ve CLI için
--bridge-source customparametresine), Ayarlar bölümünde kaydedilen köprü satırları için açık bir giriş eklendi. Özel satırlar artık yalnızca bu kaynak seçildiğinde geçerli olacak; önceden doldurulmuş bir özel köprü kutusu, seçilen diğer kaynakları sessizce geçersiz kılıyordu. Kayıtlı özel köprüleri olan herkes otomatik olarak bu yeni kaynağa taşındı, böylece mevcut kurulumlar tamamen eskisi gibi davranmaya devam edecek. (#70)- Canlı "Kullanımda" (In use) köprüsü göstergesi: Mevcut Köprü (Current Bridge) sekmesi artık Tor'un yapılandırılmış köprülerden hangisi üzerinden gerçekten bağlı olduğunu gösteriyor: Aktif köprü üzerinde canlı bir rozet (sekme açıkken kontrol portu üzerinden kontrol edilir) ve bir köprü artık kullanımda olmadığında en son görülme zamanı görüntülenir. Klasik tor motorunda geçerlidir; Arti/ArtiHop bunu açığa çıkarmaz. (#69)
- Çevrim dışı coğrafi kural kümeleri (geo rule-sets), Tor üzerinden güncellenir: Ülke ve alan adı kategorisi yönlendirme listeleri (.srs) artık diske önbelleğe alınıyor ve her başarılı bağlantıdan sonra Tor bağlantısının kendisi üzerinden arka planda yenileniyor; bu, köprü verileriyle aynı çalışma mantığına sahiptir. TUN başlangıcı, önbelleğe alınmış listeleri yerel dosyalar olarak referans alır; böylece bir kez çekildikten sonra coğrafi yönlendirmenin, bu kuralların en çok önem arz ettiği ve engellendiği yerlerde
raw.githubusercontent.comadresine hiçbir bağımlılığı kalmaz. Doğrulanamayan veya indirilemeyen listeler, bağlantıyı koparmak yerine o bağlantı için atlanır ve daha sonraki bir bağlantıda otomatik olarak uygulanır. İndirmeler doğrulandığı için bir sansür engelleme sayfası önbelleği zehirleyemez (poison). (#68)