1 poin oleh GN⁺ 2024-01-03 | 1 komentar | Bagikan ke WhatsApp
  • Dillo adalah browser web grafis yang cepat dan ringan, ditujukan bahkan untuk mesin lama atau kecil serta koneksi lambat, dan berjalan di Linux, BSD, MacOS, Windows berbasis Cygwin, dan Atari
  • Dengan memadukan C/C++, sedikit dependensi, mesin perender real-time buatan sendiri, dan pustaka GUI FLTK, Dillo menargetkan penggunaan memori rendah dan perenderan cepat bahkan pada halaman besar
  • Mendukung HTTP, HTTPS, FTP, dan file lokal secara bawaan, serta dapat diperluas ke protokol baru melalui plugin yang dapat ditulis dalam bahasa apa pun
  • Proyek ini tetap berfokus pada penurunan hambatan akses ke web serta menekankan keamanan dan privasi pribadi serta efisiensi perangkat lunak
  • Rilis terbaru adalah 3.2.0, dan data penting disimpan di repositori git milik sendiri, serta dicerminkan ke Codeberg dan Sourcehut

Browser grafis yang kecil dan cepat

  • Dillo adalah browser web grafis yang cepat dan ringan
  • Berjalan di Linux, BSD, MacOS, Windows melalui Cygwin, dan Atari
  • Cara implementasinya

    • Ditulis dalam C dan C++ dengan dependensi yang sedikit
    • Menerapkan mesin perender real-time buatan sendiri
    • Penggunaan memorinya rendah dan perenderannya cepat bahkan pada halaman besar
    • Menggunakan pustaka GUI FLTK yang cepat dan ringan tanpa banyak embel-embel
  • Fitur dasar dan arah pengembangannya

    • Mendukung HTTP, HTTPS, FTP, dan file lokal
    • Dapat diperluas melalui plugin yang dapat ditulis dalam bahasa apa pun
    • Merupakan perangkat lunak bebas dengan lisensi GPLv3
    • Membantu penulis mengikuti standar web melalui bug meter
    • Bertujuan menurunkan hambatan akses ke web, mendukung mesin lama atau kecil dan koneksi lambat, menjaga keamanan dan privasi pribadi, serta mencapai efisiensi perangkat lunak yang tinggi
    • Cara menggunakan fitur dapat dilihat di User Manual
    • Domain dillo.org tidak lagi dikendalikan oleh pengembang Dillo

Infrastruktur proyek yang dipindahkan ke self-hosting

Rilis, dokumentasi, dan jalur kontribusi

  • latest release 3.2.0 dapat diunduh dan dibangun mengikuti petunjuk di README.md
  • Perubahan terbaru dapat langsung di-clone dari Git repository
  • Dokumentasi

    • User Manual: membahas cara memakai semua fitur dan didistribusikan bersama browser sehingga bisa dibaca secara lokal
    • Topic Guide: membahas topik tambahan yang tidak ada di manual, seperti cara mengatur Dillo dan mpv untuk membuka berkas multimedia dari URL
    • Developer Documentation: membahas desain internal dan implementasi browser, direkomendasikan untuk pengembang
  • Cara berkontribusi

    • Jika saat menjelajah web dengan Dillo Anda menemukan bagian yang tidak berfungsi, Anda dapat membuka issue atau mengirim email ke dillo-dev@mailman3.com
    • Anda dapat mengirim patch untuk implementasi fitur baru atau perbaikan bug, atau membuat pull request
    • Anda dapat mendukung biaya pengujian dan infrastruktur melalui Liberapay

Dukungan protokol yang diperluas lewat plugin

  • Plugin berinteraksi melalui input dan output standar dan menambahkan dukungan untuk protokol baru
  • Contoh plugin yang disediakan adalah sebagai berikut
    • Gemini: gemini://, Bash, plugin protokol Gemini
    • Gopher: gopher://, C, plugin protokol Gopher
    • IPFS: ipfs://, ipns://, Go, plugin protokol IPFS
    • Man: man://, Bash, merender man page ke HTML
    • Spartan: spartan://, Bash, plugin protokol Spartan
  • Lebih banyak plugin dapat dilihat di git repositories
  • Untuk menambahkan plugin baru, cukup kirim tautan repositori dan deskripsi singkat melalui email

1 komentar

 
GN⁺ 2024-01-03
Komentar Hacker News
  • Build berjalan lancar di M1 Mac dengan macOS 12.7, dan untuk instalasi cukup mengikuti panduan macOS: pasang paket brew install dan OpenSSL 3, lalu sebelum ./configure jalankan export untuk mengatur path OpenSSL
    Setelah itu, jalankan dengan make, sudo make install, dillo, dan langsung berfungsi; binari 1,6MB ini juga mendukung SSL dan sangat cepat
    Pencarian Google masih lumayan bisa dipakai meski CSS-nya rusak, tetapi karena tidak ada JavaScript, login Google tampaknya sulit
    [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

    • Sepertinya pengaturan path OpenSSL perlu ditambahkan ke panduan instalasi macOS
      Di CI tampaknya bisa tanpa flag include, tetapi karena tidak punya Mac sendiri, pengujiannya terbatas
  • Untuk perangkat keras berspesifikasi rendah, browser yang lebih cepat dan ringan benar-benar dibutuhkan
    SBC, Raspberry Pi, dan laptop yang sudah beberapa tahun pun masih nyaman di bagian lain, tetapi performa browser selalu menjadi penghambat
    Pada akhirnya, karena sejumlah kebutuhan, harus menerima bahwa Ryzen 7 dan RAM 16GB diperlukan, dan rasanya pahit bahwa beban komputasi terbesar adalah MS Teams dan webmail

    • Setelah memakai MS Teams sekitar 2 tahun, saya benar-benar setuju
      Luar biasa lambat, membingungkan, penuh bug, dan tabnya juga sering mati, sampai terasa seperti contoh bagaimana software seharusnya tidak dibuat
      Masih mengherankan bahwa Microsoft menilai ini baik-baik saja, dan saya penasaran seperti apa Slack
      Mungkin karena persaingannya tidak terlalu banyak, mereka jadi tidak membuatnya dengan lebih serius
    • Saya masih ingat jelas bahwa dengan Windows 98 dan RAM 64MB pun web bisa dijelajahi cukup baik, jadi menyedihkan bahwa sekarang beberapa GB pun tidak cukup lancar
    • Untuk browser web yang lebih ringan ada NetSurf, Pale Moon, K-Meleon on Goanna, Otter Browser, dan Ultralight; untuk aplikasi terminal ada Carbonyl, Browsh, dan Links
      Links juga mendukung mode grafis
    • Menurut saya ini cukup berlebihan
      CPU desktop/laptop kelas murah yang wajar dan RAM 4GB sudah cukup untuk menjalankan MS Teams, dan karena ada mail transfer agent yang lebih praktis dan efisien, saya juga kurang paham mengapa harus memakai webmail
  • Mengingat situasinya, kabar bahwa Dillo berlanjut terasa menggembirakan
    Saya punya dua netbook Intel Atom N270 sekitar keluaran 2009 dan RAM 1GB; Firefox terasa tidak masuk akal beratnya di sana, sementara Dillo pasti berjalan sangat baik
    Dulu, saat melihat dokumen yang CSS-nya tidak berat, saya juga memakai Dillo di desktop utama, dan ketika 20–40 tab Firefox memakan banyak RAM, Dillo biasanya tetap di sekitar 100MB
    Karena tidak punya mesin JavaScript, saya juga memakai Dillo saat membuka tautan mencurigakan, dan saya merasa ini software hebat yang sudah saya pakai dengan baik selama lebih dari 15 tahun

    • Untuk membuka tautan mencurigakan, saya menyarankan memakai profil Chromium atau Firefox dengan JavaScript dan webfont dimatikan, daripada software C yang status pemeliharaannya tidak pasti
      Dillo tidak punya sandbox untuk bagian-bagian kompleks yang sering diserang seperti decoding gambar, parsing HTML/CSS, protokol jaringan, dan akses file lokal
    • Itu memang tujuan yang Jorge pikirkan, yakni agar orang-orang di wilayah yang memakai mesin berperforma rendah juga bisa mengakses web
      Saat kuliah, saya memakai Pentium 4 lama di rumah, dan di browser biasa saya harus menunggu sekitar 30 detik hanya untuk membuka satu tab
      Jadi saya terutama memakai Dillo, lalu untuk artikel yang membutuhkan JavaScript saya lewat Google Cache dan beralih ke Firefox
      Karena jaringan juga lambat, fakta bahwa hanya HTML yang diambil sangat membantu, dan selama bertahun-tahun Dillo selalu sangat cepat
    • Saya penasaran apakah Anda juga sudah mencoba NetSurf sebagai opsi
      Itu juga sangat ringan
    • Mengatur swap zram dengan skrip zramup bisa membantu
      doas /sbin/modprobe zram
      doas /sbin/zramctl --find --size 1024M
      doas /sbin/mkswap /dev/zram0
      doas /sbin/swapon /dev/zram0 --priority -1
      Meski bukan Firefox, sayangnya untuk pekerjaan single-page yang wajib memakai JavaScript seperti situs administrasi pemerintah, Luakit bisa menjadi pilihan yang cukup baik
    • Penasaran sistem operasi apa yang dipakai di netbook itu
      Saya baru-baru ini mendapatkan netbook Intel Atom, dan sedang mencari sistem operasi yang ringan tetapi masih layak dipakai
      Debian juga sudah saya coba, tetapi Firefox terlalu lambat; mungkin sekarang patut dicoba lagi dengan Dillo
  • Sistem ekstensi-nya menarik, dan mengingatkan pada skrip CGI lokal w3m
    CGI lokal w3m bisa dipakai untuk viewer halaman man, sistem bookmark, serta implementasi protokol tambahan yang digabungkan dengan urimethodmap
    Dillo tampaknya juga punya plugin man dan plugin DPI untuk bookmark yang serupa, dan sepertinya skema kustom seperti man: juga memungkinkan
    Saya tidak tahu ada browser selain w3m yang mendukung cara seperti ini, dan saya sedang membuat proyek pribadi yang bahkan menaruh HTTP di atas struktur plugin serupa; sekarang ada contoh referensi kedua
    [0]: https://dillo-browser.github.io/old/dpi1.html
    [1]: https://github.com/dillo-browser/dillo-plugin-man

    • Di Dillo, banyak fitur diimplementasikan sebagai DPI
      Ada plugin yang mengimplementasikan “situs web” seperti file:, vsource:, ftp:, dan ada juga plugin yang menangani fitur seperti cookie, unduhan, dan bookmark
      Karena berjalan sebagai proses terpisah, unduhan tetap berlanjut meski browser ditutup
      [1]: https://github.com/dillo-browser/dillo/tree/master/dpi
      Di ~/.dillo/dpidrc, protokol dihubungkan ke binary plugin, dan dengan plugin eksternal bisa juga ada gemini:, gopher:, bahkan git:
      Sampai belum lama ini HTTPS juga diimplementasikan sebagai plugin DPI, tetapi sekarang sudah masuk ke inti browser
    • Sistem ekstensinya sederhana dan mudah ditangani
      Saya membuat library Go tipis untuk menulis plugin Dillo (https://github.com/boomlinde/dpi), dan juga membuat plugin protokol Gemini (https://github.com/boomlinde/gemini.filter.dpi)
      Setahu saya, di Dillo baru-baru ini https juga diimplementasikan sebagai plugin DPI
    • Seingat saya Arachne juga melakukan hal serupa
  • Saya menyarankan untuk menghubungi Renato Bravo
    https://www.youtube.com/channel/UCuklruLsO-CFoKK_rjNXrXg
    https://www.youtube.com/watch?v=A6mb9qt2-3o
    Dalam video di atas, Renato mengatakan “ese es mi compañero Jorge”, yaitu “orang itu rekan saya Jorge”
    Saya menemukan Renato Bravo di LinkedIn, tetapi tidak tahu apakah itu orang yang sama

    • Ide bagus
      Kalau dia berasal dari daerah Valparaíso, Chili yang sama dengan Jorge, mungkin orang ini
      Saya tidak memakai LinkedIn, tetapi akan bagus kalau ada yang bisa mengirim pesan
      [1]: https://cl.linkedin.com/in/renatobravo
  • Dulu saya sering menguji dengan Dillo untuk melihat apakah sebuah situs benar-benar rusak, tetapi Dillo sudah terlalu tua, jadi saya beralih ke NetSurf, w3m, dan elinks
    Kebangkitannya menggembirakan, terutama untuk sistem berdaya rendah
    Namun agak disayangkan proyek ini pindah dari repositori Mercurial yang di-host sendiri ke repositori Git milik raksasa korporasi AS, Microsoft GitHub; meski begitu, karena maintainer mengatakan akan menerima patch lewat email, pengguna tidak dipaksa membuat akun atau menyetujui ketentuan layanan

    • Mengingat alasan utama self-hosting itu hilang justru karena self-hosting, keluhan itu bisa dimengerti tetapi juga terdengar agak aneh
    • Kami menilai pindah ke GitHub adalah titik awal yang cukup baik untuk meningkatkan visibilitas proyek dan menarik lebih banyak kontribusi
      GitHub setidaknya bisa dipercaya akan tetap hidup 5–10 tahun ke depan, sehingga kami bisa memasang pemberitahuan redirect di halaman web utama
      Meski begitu, saya setuju bahwa self-hosting atau pindah ke forge federatif akan lebih baik
      Ada isu terkait, dan masalah saat ini adalah akun gratis di forge lain seperti Codeberg tidak menyediakan cara menjalankan pipeline CI di platform lain seperti macOS
      Dalam jangka panjang, saya ingin mendapatkan perangkat keras sungguhan, menyiapkan runner sendiri, dan menguji di berbagai arsitektur juga
      [1]: https://github.com/dillo-browser/dillo/issues/39
      Proyek lama bahkan meng-host server email sendiri, sehingga menciptakan satu titik kegagalan besar, dan karena itu benar-benar gagal besar; kami ingin menghindari hal itu
      Untuk patch email, kami juga mempertimbangkan mailing list, tetapi selain sourcehut dan googlegroups saya tidak banyak tahu layanan yang menyediakannya secara gratis
  • Saya ingat pernah memakai Dillo di Puppy Linux dari Live CD dulu
    Saya penasaran apa target compiler minimum yang dituju, apakah ada rencana jangka panjang, apakah akan melakukan fuzzing, dan apakah akan pindah ke sistem build modern seperti CMake

    • Kami belum menentukan target compiler minimum, tetapi tampaknya tidak sulit menambahkannya ke CI
      Rencana jangka panjangnya pertama-tama adalah memastikan Dillo tidak mati dan tidak dihapus dari distribusi
      Setelah itu bergantung pada waktu luang yang tersedia, tetapi setidaknya kami akan berusaha melakukan pemeliharaan
      Sebelum fuzzing, menambahkan kumpulan pengujian browser lain tampaknya bisa menemukan banyak masalah rendering, dan fuzzing bisa menarik khususnya untuk parser HTML/CSS buatan sendiri
      Setelah mencoba mengubah configure.ac, rasanya sangat menyakitkan saat menargetkan beberapa platform, dan cross-compile juga rusak
      Kami perlu memeriksa seperti apa dukungan CMake di sistem lain, lalu melihat apakah keluarga Automake bisa dihapus dengan aman, tetapi saya tidak ingin memasukkan perubahan besar sebelum rilis 3.1
  • Saya mengambil kode dari GitHub dan mencoba membangunnya; situs default-nya masih dillo.org, dan saat saya mencoba mengunjunginya, browser-nya mati
    duckduckgo.com juga sama-sama mati, dan tampaknya terkait dengan kegagalan assert di OpenSSL
    Setelah saya kompilasi ulang dengan mbedTLS, saya bisa mengunjungi situs-situs tersebut
    Saya mencoba masuk ke thread ini untuk membalas, tetapi meski sudah memasukkan nama pengguna dan kata sandi lalu login, tanpa ada error tetap saja statusnya terus logout

    • Terima kasih sudah menguji, dan situs default memang perlu diganti ke situs web baru
      Jika kamu membuka issue GitHub dengan menyertakan informasi sistem dan versi OpenSSL, kami bisa mencoba mereproduksinya
      Masalah login kemungkinan besar karena cookie dimatikan
      https://dillo-browser.github.io/old/dillo3-help.html
      https://dillo-browser.github.io/old/Cookies.txt
      Secara default, semua cookie dinonaktifkan di Dillo, jadi disarankan untuk mengizinkannya secara manual per situs
      echo "news.ycombinator.com ACCEPT" >> ~/.dillo/cookies.txt
      Setelah itu, cukup restart daemon DPI agar membaca ulang pengaturan cookie
      dpidc stop
  • Senang melihat Dillo masih mendapat perhatian
    Saya punya cukup banyak plugin Dillo yang dulu saya dapatkan dari scuttlebutt
    Ada dillo-adb, dillo-dat, dillo-finger, dillo-git, dillo-gopher, dillo-gemini, dillo-ipfs, dillo-ssb, dillo-ytdl; kalau mau, saya bisa mengirimkannya dalam bentuk zip agar bisa di-fork dan dilanjutkan di proyek ini

    • Sepertinya sebagian besar dibuat oleh Charles, dan ia masih memelihara antarmuka scuttlebutt-web, jadi bisa diunduh dari berandanya
      https://celehner.com/projects.html#dillo-plugins
      Saya juga sudah berbicara dengan Charles soal menyimpan salinannya di GitHub di bawah organisasi dillo-browser
      Boleh juga buka issue dan unggah salinan file zip-nya agar bisa diarsipkan
  • Saya bangga melihat pekerjaan yang berlanjut dari benih yang ditanam lama sekali dulu