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)
Kısıtlayıcı ağlar için bir güvenilirlik sürümü ve uzun süredir talep edilen bir yenilik: OnionHop CLI artık macOS için imzalanmış ve onaylanmış (notarized) olarak yayında.
Eklendi
- macOS CLI: Apple Silicon (OnionHopCLI-3.5-macos-arm64.tar.gz) ve Intel (OnionHopCLI-3.5-macos-x64.tar.gz) için tam evrensel yerel çalışma zamanını (universal native runtime) içeren bağımsız (self-contained) terminal istemcisi: tor, eklenebilir taşıyıcılar (pluggable transports: obfs4, snowflake, conjure, webtunnel, dnstt), sing-box/xray TUN çekirdekleri, ArtiHop motoru ve Snowflake gönüllü proxy'si dahildir. Her bir ikili dosya (binary) Rana GmbH Geliştirici Kimliği (Developer ID) ile imzalanmış ve paket onaylanmıştır (notarized); bu sayede Gatekeeper engelini aşma yöntemlerine gerek kalmadan çalışır. Arşivi çıkarıp./OnionHopV3.Clikomutunu çalıştırmanız yeterlidir. Proxy modu doğrudan çalışır; TUN modu için sudo yetkisi gerekir.
Düzeltildi
- Akıllı Bağlantı (Smart Connect) özelliği, düşmanca (hostile) ağlarda artık "İptal Edildi" (Canceled) diyerek yarıda kesilmiyor. Bir coğrafi konum/OONI testi zaman aşımına uğradığında .NET bunu bir kullanıcı iptali gibi raporluyor ve tüm bağlantı duruyordu. Zaman aşımları artık köprü yükseltmeli (bridge escalation) genel bağlantı planına geri dönüyor; böylece bu uç noktaların askıda kaldığı veya engellendiği ağlarda bile bağlantı çalışmaya devam ediyor. (#65)
- Yanlış yazılmış bir geosite kategorisi artık TUN başlatma işlemini bozmayacak. sing-box, kural kümesindeki (rule-set) bir 404 hatasını "ÖLÜMCÜL" (FATAL) olarak değerlendiriyordu; OnionHop artık yapılandırmayı oluşturmadan önce her uzak coğrafi kural kümesini doğrular, düz ülke adlarını otomatik olarak SagerNet'in
category-varyantına yükseltir (örneğin ir → category-ir) ve çözülemeyen her şeyi bağlantıyı koparmak yerine bir günlük (log) uyarısıyla atlar. (#68)- Mevcut Köprü (Current Bridge) sekmesine gerçek sütunlar eklendi. Köprü satırları, günlük satırı ayrıştırıcısına (log-line parser) zorlanıyor ve bu da taşıyıcı (transport) adını Zaman (Time) sütununa bölüyordu. Sekme artık 8 dilin tamamında yerelleştirilmiş olarak Tür (Type), Adres (Address) ve Detaylar (Details) sütunlarını gösteriyor. (#69)
- Windows yüksek DPI ekranlar: Pencere artık %100'ün üzerinde ölçeklendirilmiş ekranlarda görünür ekrandan daha büyük açılmıyor; çalışma alanına sığacak şekilde kısıtlanıyor ve yeniden ortalanıyor. (#67)
Detaylı raporları için @daruk3 ve @Airuop'a teşekkürler.