HN Tanıtımı: Dillo tarayıcısının geri dönüşü
(dillo-browser.github.io)- 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.orgalan adı artık Dillo geliştiricilerinin kontrolünde değildir
Kendi barındırmasına taşınan proje altyapısı
- Dillo, GitHub merkezli yapıdan kendi barındırdığı altyapıya geçiyor
- Önemli veriler, cgit service tarafından sağlanan git deposunda saklanır
- Depo Codeberg ve Sourcehut üzerine de yansıtılır
- Kaynak kod Git deposu üzerinden görülebilir
- Projeyle ilgili başlıca bağlantılar Website, Git, Bug tracker, Mastodon, IRC, Mailing list, Liberapay olarak sunuluyor
Sürümler, belgeler ve katkı yolları
- latest release 3.2.0 indirilebilir ve
README.mdyö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.comadresine 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
- Dillo ile web’de gezinirken çalışmayan bir bölüm bulursanız issue açabilir veya
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
- 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
Hacker News yorumları
macOS 12.7 üzerinde M1 Mac’te derleme sorunsuz oldu; kurulum için macOS yönergelerindeki gibi
brew installpaketlerini ve OpenSSL 3’ü kurduktan sonra,./configureöncesinde OpenSSL yolunu ayarlayanexportkomutunu çalıştırmak yeterliArdından
make,sudo make install,dilloile ç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
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ı
Ş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
Links grafik modunu da destekliyor
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
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
Ü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ı
O da aynı şekilde çok hafif
doas /sbin/modprobe zramdoas /sbin/zramctl --find --size 1024Mdoas /sbin/mkswap /dev/zram0doas /sbin/swapon /dev/zram0 --priority -1Firefox 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
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
urimethodmapile birlikte ek protokol uygulamaları için kullanılabiliyorDillo’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 gibiw3m 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
file:,vsource:,ftp:gibi “web sitelerini” uygulayan eklentiler de var; çerez, indirme ve yer imi işleme gibi işlevleri üstlenen eklentiler de varAyrı 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/dpidrciçinde protokoller eklenti ikililerine bağlanıyor; harici eklentilerlegemini:,gopher:, hattagit:bile mümkünKısa süre öncesine kadar HTTPS de bir DPI eklentisi olarak uygulanmıştı, ancak artık tarayıcının gövdesine alındı
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ı
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
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
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
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 bozukCMake 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.orgolduğunu gördüm; ziyaret etmeye çalışınca tarayıcı çöktüduckduckgo.comiçin de aynı şekilde çöktü ve OpenSSL’in assert hatasıyla ilgili gibi görünüyordumbedTLS 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ı
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.txtArdından çerez ayarlarını yeniden okuması için DPI daemon’unu yeniden başlatman yeterli
dpidc stopDillo’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-ytdlvar; istersen zipleyip gönderebilirim, fork’layıp projede devam ettirebilirsinhttps://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
[1]: https://sources.debian.org/src/gzilla/0.1.5-3/bytesink.doc/
Jorge ile iletişime geçmene yardımcı olabiliriz belki