1 puan yazan GN⁺ 2024-01-03 | 1 yorum | WhatsApp'ta paylaş
  • Dillo, eski ya da küçük makineleri ve yavaş bağlantıları da hedefleyen hızlı ve küçük bir grafik web tarayıcısıdır; Linux, BSD, MacOS, Cygwin tabanlı Windows ve Atari üzerinde çalışır
  • C/C++ ve az sayıda bağımlılık, kendi gerçek zamanlı işleme motoru ve FLTK GUI kütüphanesinin birleşimiyle, büyük sayfalarda bile düşük bellek kullanımı ve hızlı işleme hedeflenir
  • HTTP, HTTPS, FTP ve yerel dosyaları varsayılan olarak destekler; herhangi bir dilde yazılabilen eklentilerle yeni protokoller genişletilebilir
  • Proje, web’e giriş engellerini azaltma ve kişisel güvenlik, gizlilik ile yazılım verimliliğine önem verme yönünü korur
  • En güncel sürüm 3.2.0’dır ve temel veriler kendi git deposunda tutulurken Codeberg ve Sourcehut’a da yansıtılır

Küçük ve hızlı bir grafik tarayıcı

  • Dillo hızlı ve küçük bir grafik web tarayıcısıdır
  • Linux, BSD, MacOS, Cygwin üzerinden Windows ve Atari üzerinde çalışır
  • Uygulama yaklaşımı

    • C ve C++ ile yazılmıştır ve bağımlılıkları azdır
    • Kendi gerçek zamanlı işleme motorunu uygular
    • Büyük sayfalarda bile bellek kullanımı düşüktür ve işleme hızlıdır
    • Hızlı ve sade FLTK GUI kütüphanesini kullanır
  • Temel özellikler ve hedefler

    • HTTP, HTTPS, FTP ve yerel dosyaları destekler
    • Herhangi bir dilde yazılabilen eklentilerle genişletilebilir
    • GPLv3 lisanslı özgür bir yazılımdır
    • bug meter, yazarların web standartlarına uymasına yardımcı olur
    • Web’e giriş engellerini azaltmayı, eski ya da küçük makineleri ve yavaş bağlantıları desteklemeyi, kişisel güvenlik ve gizliliği ve yüksek yazılım verimliliğini hedefler
    • Özelliklerin nasıl kullanılacağı User Manual içinde görülebilir
    • dillo.org alan adı artık Dillo geliştiricilerinin kontrolünde değildir

Kendi barındırmasına taşınan proje altyapısı

Sürümler, belgeler ve katkı yolları

  • latest release 3.2.0 indirilebilir ve README.md yönergeleri izlenerek derlenebilir
  • En güncel değişiklikler Git repository üzerinden doğrudan clone edilebilir
  • Belgeler

    • User Manual: tüm özelliklerin kullanımını kapsar ve tarayıcıyla birlikte dağıtıldığı için yerelde de okunabilir
    • Topic Guide: Dillo ve mpv ayarlayarak URL’lerdeki çoklu ortam dosyalarını açma gibi, kılavuzda yer almayan ek konuları ele alır
    • Developer Documentation: tarayıcının iç tasarımı ve uygulamasını ele alır, geliştiricilere tavsiye edilir
  • Nasıl katkı verilir

    • Dillo ile web’de gezinirken çalışmayan bir bölüm bulursanız issue açabilir veya dillo-dev@mailman3.com adresine e-posta gönderebilirsiniz
    • Yeni özellik uygulamaları ya da hata düzeltme yamaları gönderebilir veya pull request oluşturabilirsiniz
    • Liberapay üzerinden test ve altyapı maliyetlerine destek olabilirsiniz

Eklentilerle genişleyen protokol desteği

  • Eklentiler standart girdi ve çıktı üzerinden etkileşime girer ve yeni protokol desteği ekler
  • Sağlanan eklenti örnekleri şunlardır
    • Gemini: gemini://, Bash, Gemini protokol eklentisi
    • Gopher: gopher://, C, Gopher protokol eklentisi
    • IPFS: ipfs://, ipns://, Go, IPFS protokol eklentisi
    • Man: man://, Bash, man page’i HTML olarak işler
    • Spartan: spartan://, Bash, Spartan protokol eklentisi
  • Daha fazla eklenti git repositories içinde bulunabilir
  • Yeni bir eklenti eklemek için depo bağlantısını ve kısa bir açıklamayı e-postayla göndermek yeterlidir

1 yorum

 
GN⁺ 2024-01-03
Hacker News yorumları
  • macOS 12.7 üzerinde M1 Mac’te derleme sorunsuz oldu; kurulum için macOS yönergelerindeki gibi brew install paketlerini ve OpenSSL 3’ü kurduktan sonra, ./configure öncesinde OpenSSL yolunu ayarlayan export komutunu çalıştırmak yeterli
    Ardından make, sudo make install, dillo ile çalıştırınca hemen açıldı; 1,6 MB’lık ikili dosya olmasına rağmen SSL’i de destekliyor ve çok hızlı
    Google araması CSS bozuk olsa da bir ölçüde çalışıyor, ancak JavaScript olmadığı için Google oturumu açmak zor görünüyor
    [0] https://github.com/dillo-browser/dillo/blob/master/doc/insta...
    [1] https://github.com/dillo-browser/dillo/blob/master/doc/insta...
    [2] https://stackoverflow.com/a/77749836

    • macOS kurulum yönergelerine OpenSSL yol ayarının eklenmesi gerektiğini düşünüyorum
      CI’da include bayrakları olmadan da çalışıyor gibi görünüyor, ancak elimde doğrudan bir Mac olmadığı için test etme konusunda sınırlar var
  • Düşük donanımlar için gerçekten daha hızlı ve hafif bir tarayıcıya ihtiyaç var
    SBC’ler, Raspberry Pi’ler ve birkaç yıllık dizüstüler diğer açılardan rahat çalışıyor ama tarayıcı performansı her zaman işi aksatıyor
    Sonunda bazı gereksinimler yüzünden Ryzen 7 ve 16 GB RAM gerektiğini kabullenmek zorunda kaldım; en büyük hesaplama yükünün MS Teams ve web posta olması da can sıkıcı

    • MS Teams’i yaklaşık 2 yıl kullanınca buna gerçekten katılıyorum
      Şaşırtıcı derecede yavaş, kafa karıştırıcı, hatalı ve sekmeleri de sık sık çöküyor; yazılımın böyle olmaması gerektiğine dair bir örnek gibi hissettirdi
      Microsoft’un bunu kabul edilebilir bulmuş olması hâlâ bana tuhaf geliyor; Slack nasıldır merak ediyorum
      Belki de çok fazla rekabet olmadığı için daha çok çaba göstermiyorlardır
    • Windows 98 ve 64 MB RAM ile bile web’de epey iyi gezindiğimi net hatırlıyorum; şimdi birkaç GB olsa bile bunun iyi çalışmaması üzücü
    • Daha hafif web tarayıcıları olarak NetSurf, Pale Moon, K-Meleon on Goanna, Otter Browser, Ultralight var; terminal uygulamaları olarak da Carbonyl, Browsh, Links mevcut
      Links grafik modunu da destekliyor
    • Bunun epey abartılı bir ifade olduğunu düşünüyorum
      Makul fiyatlı alt seviye bir masaüstü/dizüstü CPU’su ve 4 GB RAM, MS Teams’i çalıştırmak için yeterli; ayrıca daha pratik ve verimli posta aktarım aracı varken neden özellikle web posta kullanıldığını da pek anlamıyorum
  • Durum düşünüldüğünde Dillo’nun devam edeceğini duymak sevindirici
    2009 civarından kalma Intel Atom N270’li iki netbook’um ve 1 GB RAM’im var; Firefox bu makinelerde akıl almaz derecede ağır, Dillo ise gayet iyi çalışacaktır
    Eskiden CSS’i ağır olmayan belgeleri görüntülerken ana masaüstümde de Dillo kullanırdım; Firefox’ta 20–40 sekme RAM’i çok yerken Dillo genelde 100 MB civarında kalırdı
    JavaScript motoru olmadığı için şüpheli bağlantıları açarken de Dillo kullanıyorum; 15 yılı aşkın süredir iyi kullandığım harika bir yazılım olduğunu düşünüyorum

    • Şüpheli bağlantıları açarken bakımı belirsiz C yazılımı yerine, JavaScript ve web fontları kapatılmış bir Chromium ya da Firefox profili kullanmayı öneririm
      Dillo’da görüntü çözme, HTML/CSS ayrıştırma, ağ protokolleri ve yerel dosya erişimi gibi sık saldırıya uğrayan karmaşık kısımlar için sandbox yok
    • Jorge’nin aklındaki hedef tam da buydu; düşük performanslı makineler kullanan bölgelerdeki insanların da web’e erişebilmesini amaçlıyordu
      Üniversitedeyken evde eski bir Pentium 4 kullanıyordum; normal tarayıcıda tek bir sekme açmak için yaklaşık 30 saniye beklemek gerekiyordu
      Bu yüzden çoğunlukla Dillo kullanıyor, JavaScript gerektiren yazılar için Google önbelleği üzerinden Firefox’a geçiyordum
      Ağ da yavaş olduğu için yalnızca HTML’i alması büyük fayda sağlıyordu ve Dillo yıllar boyunca her zaman çok hızlıydı
    • Seçenek olarak NetSurf’ü de denediniz mi merak ediyorum
      O da aynı şekilde çok hafif
    • zramup betiğiyle zram swap ayarlamak yardımcı olabilir
      doas /sbin/modprobe zram
      doas /sbin/zramctl --find --size 1024M
      doas /sbin/mkswap /dev/zram0
      doas /sbin/swapon /dev/zram0 --priority -1
      Firefox olmasa bile, ne yazık ki devlet idaresi siteleri gibi JavaScript’in zorunlu olduğu tek sayfalık işler için Luakit iyi olabilir
    • O netbook’ta hangi işletim sistemini kullandığınızı merak ediyorum
      Yakın zamanda Intel Atom’lu bir netbook edindim; hafif ve kullanılabilir bir işletim sistemi arıyorum
      Debian’ı da denedim ama Firefox çok yavaştı; belki şimdi Dillo ile yeniden denemeye değer
  • Genişletme sistemi ilginç; w3m’in yerel CGI betiklerini hatırlatıyor
    w3m yerel CGI’si man sayfası görüntüleyici, yer imi sistemi ve urimethodmap ile birlikte ek protokol uygulamaları için kullanılabiliyor
    Dillo’da da benzer şekilde man eklentisi ve yer imleri için DPI eklentisi var gibi görünüyor; man: gibi kullanıcı tanımlı şemalar da mümkün gibi
    w3m dışında bu yaklaşımı destekleyen tarayıcılar olduğunu bilmiyordum; HTTP’yi bile benzer bir eklenti yapısının üstüne koyan kişisel bir proje geliştiriyordum, şimdi ikinci bir referans örneğim oldu
    [0]: https://dillo-browser.github.io/old/dpi1.html
    [1]: https://github.com/dillo-browser/dillo-plugin-man

    • Dillo’da pek çok özellik DPI ile uygulanmış durumda
      file:, vsource:, ftp: gibi “web sitelerini” uygulayan eklentiler de var; çerez, indirme ve yer imi işleme gibi işlevleri üstlenen eklentiler de var
      Ayrı süreçler oldukları için tarayıcı kapatılsa bile indirmeler devam ediyor
      [1]: https://github.com/dillo-browser/dillo/tree/master/dpi
      ~/.dillo/dpidrc içinde protokoller eklenti ikililerine bağlanıyor; harici eklentilerle gemini:, gopher:, hatta git: bile mümkün
      Kısa süre öncesine kadar HTTPS de bir DPI eklentisi olarak uygulanmıştı, ancak artık tarayıcının gövdesine alındı
    • Genişletme sistemi basit ve kullanımı kolay
      Dillo eklentileri yazmak için ince bir Go kütüphanesi oluşturdum(https://github.com/boomlinde/dpi) ve Gemini protokol eklentisi de yaptım(https://github.com/boomlinde/gemini.filter.dpi)
      Bildiğim kadarıyla son dönemde Dillo’da https de bir DPI eklentisi olarak uygulanmıştı
    • Hatırladığım kadarıyla Arachne de benzer bir şey yapıyordu
  • Renato Bravo ile iletişime geçmeyi öneriyorum
    https://www.youtube.com/channel/UCuklruLsO-CFoKK_rjNXrXg
    https://www.youtube.com/watch?v=A6mb9qt2-3o
    Yukarıdaki videoda Renato “ese es mi compañero Jorge”, yani “şu kişi benim iş arkadaşım Jorge” diyor
    LinkedIn’de Renato Bravo’yu buldum ama aynı kişi mi bilmiyorum

    • İyi fikir
      Jorge ile aynı Şili’nin Valparaíso bölgesindense muhtemelen bu kişi olabilir
      LinkedIn kullanmıyorum ama biri mesaj gönderebilirse iyi olur
      [1]: https://cl.linkedin.com/in/renatobravo
  • Eskiden sitenin tamamen bozulup bozulmadığını kontrol etmek için Dillo’da sık sık test ederdim, ama Dillo fazla eskidiği için NetSurf, w3m ve elinks’e geçtim
    Yeniden canlanması özellikle düşük güç tüketimli sistemler için cesaret verici
    Ancak kendi barındırdıkları Mercurial deposundan, ABD’li büyük bir şirket olan Microsoft’un sahibi olduğu GitHub’daki bir Git deposuna taşınmaları üzücü; yine de bakım sorumlusu e-posta yamalarını kabul edeceğini söylediği için hesap oluşturmak veya şartları kabul etmek zorunlu değil

    • Kendi barındırmanın ortadan kalkmasının ana nedeninin bizzat kendi barındırma olduğunu düşününce, bu şikâyet anlaşılır olsa da biraz tuhaf geliyor
    • GitHub’a taşınmanın, projenin görünürlüğünü artırmak ve daha fazla katkı çekmek için iyi bir ilk adım olduğuna karar verdik
      GitHub’ın en azından önümüzdeki 5–10 yıl yaşayacağına güvenilebilir; bu sayede ana web sayfasına yönlendirme duyurusu koyabiliriz
      Yine de kendi barındırmaya veya federe bir forge’a taşınmanın daha iyi olacağına katılıyorum
      Bununla ilgili bir issue var; şu anki sorun, Codeberg gibi başka forge’lardaki ücretsiz hesaplarda macOS gibi diğer platformlarda CI pipeline’ı çalıştırmanın bir yolu olmaması
      Uzun vadede gerçek donanım edinip kendi runner’larımızı kurmak ve farklı mimarilerde de test yapmak istiyorum
      [1]: https://github.com/dillo-browser/dillo/issues/39
      Eski proje, posta sunucusuna kadar kendi barındırıldığı için devasa bir tekil arıza noktası oluşmuştu ve gerçekten büyük ölçüde başarısız oldu; bunu önlemeye çalışıyoruz
      E-posta yamaları için bir e-posta listesi de düşünüyorum, ancak sourcehut ve googlegroups dışında bunu ücretsiz sunan fazla yer bilmiyorum
  • Eskiden Live CD’deki Puppy Linux üzerinde Dillo kullandığımı hatırlıyorum
    Hedeflenen minimum derleyicinin ne olduğunu, uzun vadeli bir plan olup olmadığını, fuzzing yapılıp yapılmayacağını ve CMake gibi modern bir derleme sistemine geçilip geçilmeyeceğini merak ediyorum

    • Henüz hedef minimum derleyiciyi belirlemedik, ama bunu CI’a eklemek zor olmayacak gibi
      Uzun vadeli plan önce Dillo’nun ölmemesini ve dağıtımlardan kaldırılmamasını sağlamak
      Sonrası kullanılabilir boş zamana bağlı, ama en azından bakımını yapmaya çalışacağım
      Fuzzing’den önce başka tarayıcı test paketleri eklemek, işleme sorunlarının çoğunu yakalamaya yardımcı olabilir; özellikle kendi yazdığımız HTML/CSS ayrıştırıcısı için fuzzing ilginç olabilir
      configure.ac üzerinde değişiklik yapmayı denediğimde, birden fazla platformu hedeflerken bunun çok sancılı olduğunu gördüm; çapraz derleme de bozuk
      CMake desteğinin diğer sistemlerde nasıl olduğuna baktıktan sonra Automake ailesini güvenli biçimde kaldırıp kaldıramayacağımızı görmemiz gerekiyor, ancak 3.1 sürümünden önce büyük değişiklikler eklemek istemiyorum
  • GitHub’dan kodu alıp derlediğimde varsayılan sitenin hâlâ dillo.org olduğunu gördüm; ziyaret etmeye çalışınca tarayıcı çöktü
    duckduckgo.com için de aynı şekilde çöktü ve OpenSSL’in assert hatasıyla ilgili gibi görünüyordu
    mbedTLS ile yeniden derleyince bu siteleri ziyaret edebildim
    Bu başlığa giriş yapıp yanıt yazmayı denedim ama kullanıcı adı ve parolayı girip oturum açsam da hata vermeden sürekli çıkış yapılmış durumda kaldı

    • Test ettiğin için teşekkürler; varsayılan sitenin yeni web sitesiyle değiştirilmesi gerekiyor
      Sistem bilgilerini ve OpenSSL sürümünü içeren bir GitHub issue’su açarsan yeniden üretmeyi deneyebiliriz
      Giriş sorunu büyük olasılıkla çerezlerin kapalı olmasından kaynaklanıyor
      https://dillo-browser.github.io/old/dillo3-help.html
      https://dillo-browser.github.io/old/Cookies.txt
      Dillo’da varsayılan olarak tüm çerezler devre dışıdır; bu yüzden site bazında elle izin vermek önerilir
      echo "news.ycombinator.com ACCEPT" >> ~/.dillo/cookies.txt
      Ardından çerez ayarlarını yeniden okuması için DPI daemon’unu yeniden başlatman yeterli
      dpidc stop
  • Dillo’nun hâlâ ilgi gördüğünü görmek güzel
    Eskiden scuttlebutt’tan edindiğim epey fazla Dillo eklentim var
    dillo-adb, dillo-dat, dillo-finger, dillo-git, dillo-gopher, dillo-gemini, dillo-ipfs, dillo-ssb, dillo-ytdl var; istersen zipleyip gönderebilirim, fork’layıp projede devam ettirebilirsin

    • Çoğu Charles tarafından yapılmış gibi görünüyor; kendisi scuttlebutt-web arayüzünü sürdürüyor, bu yüzden ana sayfasından indirilebilir
      https://celehner.com/projects.html#dillo-plugins
      dillo-browser organizasyonu altında GitHub’da bir kopya saklama konusunu Charles ile zaten konuştuk
      Zip dosyasının bir kopyasını saklayabilmemiz için bir issue açıp yüklemen de iyi olur
  • Uzun zaman önce ekilen tohumlardan doğan çalışmanın sürmesini görmek gurur verici