Düzeltmeler
- Bağlantı kesilirken pencerenin donmasına neden olan sorun giderildi. Bir oturumun sonlandırılması; tünel çekirdeğinin kapatılması ve beklenmesi, yardımcı işlemler aracılığıyla yönlendirmelerin, proxy ayarlarının ve DNS kurallarının kaldırılması, ardından Tor'un durdurulması gibi birkaç saniye sürebilen işlemleri içeriyor. Önceden tüm bu işlemler ilk "await" çağrısından önce çalıştığından, Bağlantıyı Kes düğmesi kullanıldığında doğrudan kullanıcı arayüzü iş parçacığında gerçekleştiriliyordu ve pencere işlem tamamlanana kadar donuyordu. Bu işlemler artık iş parçacığı havuzunda yürütülüyor ve bağlantı kesilirken pencere yanıt vermeye devam ediyor. Sorun bir test kullanıcısı tarafından "OnionHop bağlantı kesilirken çok fazla donuyor veya takılıyor" şeklinde bildirildi.
Eklenenler
- Vurgu rengi artık Windows ile eşitlenebiliyor. Vurgu Rengi bölümüne yeni "Windows'u Takip Et" seçeneği eklendi. Bu seçenek etkinleştirildiğinde OnionHop kendi vurgu rengi ayarını kullanmak yerine Windows Ayarları'nda seçilen vurgu rengini kullanıyor. Uygulama çalışırken Windows'un vurgu rengi değiştirilirse OnionHop da yeni renge otomatik olarak uyum sağlıyor. Mevcut dört yerleşik vurgu rengi seçeneğinde herhangi bir değişiklik yapılmadı. Bu özellik bir test kullanıcısının talebi üzerine eklendi.
Kayıtlı köprüler ve SNI kitaplığına "Tümünü kopyala" düğmesi eklendi.
Eklenenler
- Kayıtlı köprüler ve SNI sayfasına "Tümünü kopyala" düğmesi eklendi. Her satırdaki Kopyala düğmesi tek bir kayıt için kullanışlı olsa da çok sayıda kayıt içeren bir kitaplıkta yetersiz kalıyordu. "Tümünü temizle" düğmesinin yanında yer alan yeni seçenek, kayıtlı tüm satırları görüntülendikleri sırayla ve her biri ayrı bir satır olacak şekilde panoya kopyalıyor. Böylece içerik doğrudan tarayıcıya veya köprü alanına yeniden yapıştırılabiliyor. İşlem sonrasında kaç kaydın kopyalandığı bildiriliyor ve satır bazındaki Kopyala düğmesinde olduğu gibi pano otomatik temizleme ayarına uyuluyor. Bu özellik bir test kullanıcısının talebi üzerine eklendi.
Bunun dışındaki tüm özellikler, hibrit moddaki DNS sızıntısını gideren 3.8 sürümüyle aynı. Daha eski bir sürüm kullanıyorsanız 3.8 sürüm notlarını incelemeniz önerilir; bu sürümdeki düzeltme, burada eklenen özellikten daha önemlidir.
Eklenenler:
- Onion servisleri eklendi (Ayarlar > Ağ sekmesi). Bilgisayarınızdaki veya yerel ağınızdaki bir kamera, NAS ya da web uygulaması gibi bir servisi tanımlayarak bu servise dünyanın herhangi bir yerinden Tor üzerinden erişebilirsiniz. Port yönlendirme, statik IP veya DynDNS gerektirmez, CGNAT arkasında çalışır ve cihaz doğrudan internete açılmadığından genel internet tarayıcıları tarafından tespit edilemez.
- Onion adresi ilk bağlantıda oluşturulur ve OnionHop bu adresi oluşturan anahtarı sakladığı için daha sonraki bağlantılarda değişmez. Söz konusu anahtar adresin kendisini belirlediğinden, ayrı bir dosyada şifrelenmiş biçimde saklanır (Windows'ta DPAPI kullanılarak). Dosyanın bozulması durumunda silinmek yerine karantinaya alınır. Bir servis kaydı düzenlendiğinde anahtar korunur; böylece daha önce başkalarıyla paylaşılan Onion adresinin fark edilmeden değişmesi önlenir.
- Bu özellik, IP kameralarına uzaktan erişim sağlanması amacıyla #77 kapsamında talep edildi.
- Bir servisi erişime açmadan önce güvenlik açısından getirdiği avantaj ve risklerin dikkate alınması gerekiyor. Onion adresinin tahmin edilmesinin son derece zor olması önemli bir koruma sağlasa da adrese sahip olan herkes ilgili cihaza doğrudan erişebilir. Bu noktada cihazın kendi parolası temel güvenlik katmanı hâline gelir. Bu nedenle güçlü ve benzersiz bir parola kullanılmalı ve Onion adresi gizli tutulmalıdır. Bu durum özellikle varsayılan kullanıcı bilgileriyle çalışır durumda bırakılması yaygın olan IP kameraları açısından önemlidir.
- Onion servisleri, varsayılan olarak kullanılan klasik Tor motorunu gerektirir. Arti ve ArtiHop, bu özelliğin ihtiyaç duyduğu kontrol portunu kullanıma sunmadığından desteklenmez.
- Manuel IPv6 tünel anahtarı eklendi, IPv6 sorunlarına neden olan Windows ayarının günlüklerde belirtilmesi sağlandı ve tüm liste kutularına Sil seçeneği eklendi.
Eklenenler:
- Yeni ayar: "Tünelde IPv6'yı devre dışı bırak" (Ayarlar > Strict route). OnionHop, tünel bağdaştırıcısına IPv6 adresi atanamadığında IPv6 olmadan otomatik olarak yeniden deneme yapıyordu. Yeni seçenek, her bağlantıda bu sorunla karşılaşan kullanıcıların başarısız IPv6 denemesini tamamen atlamasını sağlıyor. #81
- Günlükler artık IPv6 sorunlarına neden olan Windows ayarını gösteriyor. #81 kapsamında bildirilen bir sorunun, IPv6 hizmet anahtarındaki "DisabledComponents" geçersiz kılma değerinden kaynaklandığı tespit edildi. Standart bir Windows kurulumunda bu değer varsayılan olarak bulunmuyor. Değer bir kez oluşturulduğunda, nominal olarak "tamamen etkin" anlamına gelen 0 değerine ayarlansa bile Windows'ta IPv6'nın kısmen bozuk kalmasına neden olabiliyor. Bu nedenle IPv6 kullanılabilirlik kontrolleri sorunu önceden tespit edemiyor; tüm API'ler, bağdaştırıcıya adres atanacağı ana kadar IPv6'nın çalıştığını bildiriyor. Sorunu bildiren kullanıcıda bu değerin silinmesi ve sistemin yeniden başlatılması problemi çözdü. OnionHop bu ayarı yalnızca okuyup kullanıcıya bildiriyor ve sistem genelindeki ağ ayarını otomatik olarak değiştirmiyor.
- Tüm liste kutularının sağ tıklama menüsüne Sil seçeneği eklendi. Kes, Kopyala, Yapıştır, Sil ve Tümünü Seç seçeneklerini içeren yerelleştirilmiş menü artık tarayıcının yanı sıra Ayarlar bölümündeki çok satırlı kutularda da kullanılabiliyor. Buna özel köprü listesi, bypass ve engelleme yönlendirme kuralları, ülke listeleri ve site kategorisi listeleri dahil. Örneğin yapıştırılmış bir köprü listesi artık klavyeye ihtiyaç duyulmadan "Tümünü Seç" ve ardından "Sil" kullanılarak temizlenebiliyor.
Düzeltilenler:
- 3.7.10 sürümünde eklenen IPv6 tünel geri dönüş mekanizması artık tünelin başlangıç sırasında başarısız olduğu durumları da kapsıyor. #81 Önceden yalnızca bağlantı kurulduktan sonra tünel çöktüğünde devreye giriyordu. Bu nedenle çekirdeğin ilk saniye içerisinde "set ipv6 address: Element not found" hatasıyla tamamen başlatılamadığı sistemlerde bağlantı doğrudan başarısız oluyordu. Artık hangi çekirdek tarafından oluşturulmuş olursa olsun, tünel yapılandırmasındaki IPv6 adresi kaldırılarak bağlantı bir kez daha deneniyor.
- Hibrit (bölünmüş tünelleme) modunda doğrudan bağlantıda bırakılan uygulamaların UDP trafiğinin engellenmesine neden olan sorun giderildi. "UDP trafiğini engelle" özelliği, Tor'un UDP taşıyamaması nedeniyle Tor üzerinden yönlendirilen uygulamaların UDP trafiğinin tünel dışına sızmasını önlemek için kullanılıyor. Ancak bu engelleme yalnızca Tor üzerinden yönlendirilen uygulamalar yerine tüm uygulamalara uygulanıyordu. Bu durum doğrudan bağlantıda bırakılan uygulamalarda QUIC (HTTP/3) bağlantılarını bozabiliyordu. Örneğin torrent istemcisi Tor üzerinden yönlendirilirken tarayıcı doğrudan bağlantıda bırakıldığında, tarayıcı YouTube'u açamayabiliyordu. UDP engellemesi artık yalnızca Tor üzerinden yönlendirilen uygulamalara uygulanıyor. Tam tünel modunda herhangi bir değişiklik yapılmadı. "Tüm web trafiğini Tor üzerinden yönlendir" seçeneği etkin olduğunda ise tarayıcıların HTTP/3 kullanarak Tor yönlendirmesini aşmasını önlemek amacıyla QUIC engellenmeye devam ediyor.
Düzeltmeler:
- Tarayıcı (Scanner): İşçiler (Workers), Zaman Aşımı (Timeout) ve Port değerlerinin kesilmesi sorunu düzeltildi (#79). Bu kutular sabit genişlikler kullandığından, yukarı/aşağı düğmeleri payını aldıktan sonra sayılar için çok az alan kalıyordu. En dar kutuda beş basamağa kadar sayı barındırmak zorunda kalan Port kutusu en kötü durumdaydı ve 443 gibi bir değerin yalnızca ince bir diliminin görünmesine neden oluyordu. Artık içeriklerine sığacak şekilde boyutlandırılıyorlar ve bu durum büyük sistem yazı tiplerinde veya ekran ölçeklendirmesinde de korunuyor.
- Üst Akış Vekil Sunucusu (Upstream Proxy): Vekil sunucuya giden trafiğin artık TUN tüneline yönlendirilmemesi sağlandı (#80). Yerel ağdaki (LAN) veya genel bir adresteki vekil sunucunun bağlantısı Tor üzerinden gönderiliyordu; Tor ise ağa aynı vekil sunucu üzerinden ulaşmaya çalışıyordu. Bu durum ikisinin birbirini beklemesine ve bağlantının hiç kurulanamamasına yol açıyordu. Vekil sunucu uç noktası, tıpkı Tor'un kendi trafiğinde olduğu gibi, artık doğrudan yönlendiriliyor.
- Üst Akış Vekil Sunucusu: Vekil sunucu kendi makinenizde çalıştığında daha net bir günlük (log) mesajı gösterilmesi sağlandı (#80). TUN/VPN modu, Tor'un kendisi dışındaki her programı kasıtlı olarak tünelden yönlendirir. Buna yerel olarak çalışan bir vekil sunucu da dahildir; dolayısıyla Tor onun üzerinden çıkmaya çalışırken vekil sunucunun trafiği Tor'dan geçmeye çalışır. Günlük mesajı artık bu durumu açıklıyor ve Vekil Sunucu Modu'na (Proxy Mode) veya vekil sunucu uygulamasının bölünmüş tünelleme (split-tunnelling) baypas listesine eklendiği Karma (Hybrid) yönlendirmeye yönlendiriyor.
Düzeltilenler:
- Kaydedilen köprülerin (saved bridges) yanlış aktarım (transport) türünü göstermesi sorunu düzeltildi. Tarayıcı, her girdiyi aktarım açılır menüsünde o an ne seçiliyse onunla kaydediyordu; bu nedenle yapıştırılan özel bir listeyi (veya "Tümü" seçeneğini) taramak yanlış türün kaydedilmesine yol açıyordu. Örneğin, tarama sonuçları ızgarasında doğru görünmelerine rağmen varsayılan (vanilla) köprüler Kaydedilen Köprüler & SNI altında "obfs4" olarak görünebiliyordu. Artık her girdi, doğrudan köprü satırının kendisinden ayrıştırılan kendi aktarım türünü kaydediyor. Bu durum yalnızca bir görüntüleme sorunuydu; kaydedilen köprü satırlarının kendileri her zaman doğruydu, dolayısıyla Uygula (Apply) ve Kopyala (Copy) işlemleri beklendiği gibi çalışıyordu. Kütüphanenizde zaten bulunan girdiler, siz onları tekrar kaydedene kadar eski etiketlerini korur.
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.