2 poin oleh GN⁺ 2025-06-17 | 1 komentar | Bagikan ke WhatsApp
  • Chawan adalah browser web TUI baru yang berjalan di terminal berbasis teks
  • Versi 0.2.0 ini mencakup semua fitur esensial pada tahap MVP dan berada dalam kondisi tanpa bug kritis
  • Hanya memerlukan pustaka libssh2, libbrotli, dan OpenSSL/LibreSSL sebagai dependensi wajib, sementara berbagai dependensi pada versi sebelumnya telah dihapus
  • Juga tersedia dalam bentuk binary statis dan paket .deb untuk amd64 Linux sehingga distribusi dan instalasi menjadi mudah
  • Pada versi berikutnya, targetnya adalah peningkatan performa modul layout dan pengalaman UI yang lebih baik

Memperkenalkan Chawan 0.2.0

Chawan adalah proyek open source berupa browser web ringan berbasis antarmuka pengguna terminal (TUI), yang dirancang agar penjelajahan web dapat dilakukan dengan mudah di lingkungan teks. Versi 0.2.0 ini merupakan rilis stabil pertama yang telah memiliki seluruh fitur utama pada tahap minimum viable product (MVP), dan belum ada laporan bug kritis utama.

Distribusi dan instalasi

  • Tersedia tarball dari source tree, dan jika ingin melakukan kompilasi sendiri, cukup ikuti panduan di README
  • Tersedia distribusi binary statis untuk amd64 Linux, sehingga dapat diinstal dengan mudah setelah mengekstrak arsip menggunakan perintah make install
    • Penghapusan dapat dilakukan dengan make uninstall
  • Distribusi yang sama juga tersedia dalam bentuk paket .deb, sehingga bisa langsung dipasang pada sistem berbasis Debian

Informasi untuk pengelola paket

  • Dependensi runtime wajib Chawan adalah sebagai berikut:
    • libssh2
    • libbrotli (termasuk libbrotlicommon dan libbrotlidec)
    • OpenSSL (3.0 atau lebih baru) atau LibreSSL (telah diuji pada OpenBSD 7.7)
  • zlib, libseccomp, termcap/ncurses, libcurl dan lainnya yang digunakan pada versi pengembangan sebelumnya kini tidak lagi diperlukan, sehingga telah dihapus dari dependensi
  • Jika muncul masalah saat packaging, sebaiknya hubungi pengembang terlebih dahulu sebelum membuat patch, karena besar kemungkinan masalah tersebut bisa diperbaiki langsung di hulu

Rencana ke depan

  • Rilis 0.2.0 ini memakan waktu lebih lama dari perkiraan, tetapi merupakan versi yang diputuskan untuk dirilis secara resmi karena seluruh fitur MVP telah terpenuhi
  • Branch v0.2 ke depan hanya akan menerima perbaikan bug, sementara penambahan fitur baru akan terus dilanjutkan di branch master
  • Pada rilis berikutnya, fokus utamanya adalah peningkatan performa dan akurasi modul layout, serta peningkatan kemudahan penggunaan UI

Pentingnya proyek dan keunggulannya

  • Chawan adalah browser web yang dioptimalkan untuk lingkungan terminal, sehingga memungkinkan akses ke konten web pada server dan lingkungan dengan sumber daya terbatas
  • Berbeda dari browser web teks yang sudah ada, Chawan menonjol lewat dukungan terhadap protokol enkripsi dan kompresi modern serta minimnya dependensi
  • Karena bersifat open source, proyek ini menguntungkan untuk pengembangan lanjutan dan kustomisasi

1 komentar

 
GN⁺ 2025-06-17
Opini Hacker News
  • Saya selalu senang setiap melihat proyek yang ditulis dengan nim, dengan kesan bahwa nim adalah bahasa yang paling menarik karena berada di suatu titik di antara C/C++ dan python. Dibandingkan ukuran komunitas nim, produktivitas para penggunanya terasa tinggi, sampai-sampai saya yakin penilaian saya tentang nim benar meski saya sendiri tidak terlalu paham. Sayang sekali nim belum bisa tumbuh menjadi lebih populer.

  • shiomiru, saya penasaran apa sumber terbaik untuk mempelajari konsep yang berkaitan dengan TTY. Mohon rekomendasinya, baik yang gratis maupun berbayar. Untuk TTY sendiri saya tahu artikel pengantar TTY dari linusakesson.net, tetapi saya sadar ada keterbatasan karena tidak membahas termcap/terminfo/curses. Di komentar lain juga disebut buku O'Reilly Termcap & Terminfo (bisa dibaca online di sini).

    • Karena pengalaman memakai modul terminal kustom sendiri di chawan, saya tidak terlalu memahami standar X/Open curses. Untuk escape sequence yang nyata, dokumen ctlseqs.ms milik XTerm menurut saya sangat berguna. Saya juga banyak mengambil ide dari proyek notcurses milik nick black, dan sangat merekomendasikan catatannya tentang "sprixels".
  • Saya selalu senang ada pendekatan baru yang bisa dipakai sebentar untuk eksperimen tanpa harus memakai satu lagi engine berbasis Chrome. Saya tidak sabar mencobanya sendiri setelah pulang sekolah hari ini. Sebagai alternatif yang sangat keren, terutama di lingkungan tanpa sixel, saya merekomendasikan terminal port chromium: carbonyl. Pembuat aslinya sudah tidak bisa lagi mengembangkannya secara aktif, jadi fiturnya sangat terbatas, dan banyak hal seperti shortcut keyboard, penyimpanan file, dan sebagainya masih belum didukung. Namun kompatibilitas Web dan kesan segarnya menurut saya sangat mengesankan. Saya berharap ada orang yang punya kemampuan rust untuk melanjutkan proyek itu. Saat saya melihatnya beberapa bulan lalu, belum ada fork populer.

  • Saya sangat suka proyek seperti ini. Andai ada daftar situs berbasis teks yang dikumpulkan di satu tempat. Dua yang saya suka secara pribadi adalah plaintextsports.com dan lite.cnn.com.

  • Keren sekali. Saya baru saja membangun dari source sendiri lewat termux di Lenovo M8 generasi ke-4, dan yang diperlukan hanya memasang nim. Saya terkesan karena instalasinya bersih bahkan tanpa pengguna root.

  • Implementasinya benar-benar indah. Saya ingin mencoba memakainya untuk berbagai pekerjaan nyata agar bisa melihat sejauh mana ini bisa digunakan. Situs HN terlihat sangat nyaman dibaca.

  • Saya selalu berusaha membuat situs web saya tetap enak dilihat bahkan di Links, dan sekarang rasanya ada kandidat baru. Berkat dukungan sebagian CSS, jumlah hal yang perlu dipikirkan juga bertambah, seperti pengaturan jarak antar elemen. Di Links, margin/padding sepenuhnya diabaikan sehingga menu dan semacamnya bisa disusun rapi dalam satu baris, tetapi sekarang situasinya jadi lebih rumit.

    • Pada dasarnya targetnya adalah agar semuanya "langsung berfungsi" tanpa konfigurasi tambahan, tetapi dalam kenyataannya kadang memang tidak begitu. Jika demikian, anggap saja itu bug. Jika benar-benar memerlukan CSS kustom untuk layout grid, chawan mendukung media query grid standar.
  • Proyek ini benar-benar keren, dan saya suka karena dibuat dengan nim. Namun saat mengetik cha example.com, saya bingung karena sama sekali tidak tahu cara memakai perintah dasar seperti hjkl dan sebagainya. Saat menekan angka, memang muncul di kiri bawah, tetapi selain itu tidak ada respons apa pun. Saya membangunnya sendiri di MacOS Sequoia 15.5 Apple Silicon dengan Nim 2.24. Halaman web termuat dengan baik, tetapi perintah tidak berfungsi. Saya penasaran apakah saya melewatkan sesuatu, atau ini memang bug.

    • Saya mengalami hal yang sama di berbagai terminal seperti Ghostty, iTerm2, dan Terminal.app.
  • Menarik bahwa termcap/ncurses tidak lagi dipakai. Apakah itu berarti penanganan terminal dilakukan secara langsung?

    • Dijelaskan bahwa Chawan pada praktiknya tidak memakai ncurses, melainkan hanya memakai termcap. Ini bisa membingungkan karena ncurses juga menyertakan implementasi termcap secara internal. Awalnya dimulai dengan termcap karena sebelumnya pernah memakai w3m, tetapi termcap sekarang hampir menjadi antarmuka yang tidak berguna dan bahkan tidak bisa menampilkan true color yang dibutuhkan terminal modern. Satu-satunya kelebihan adalah kadang bisa "beruntung" berjalan di terminal yang sangat tua dari era 1980-an, tetapi itu pun dinilai nyaris tidak bernilai. Alih-alih beralih ke terminfo, pendekatannya justru ditinggalkan sepenuhnya dan diganti dengan metode query terminal. Database terminal juga dibenamkan, tetapi hanya dipakai untuk mengidentifikasi beberapa nilai TERM yang tidak kompatibel dengan XTerm. Jika terminal merespons query dengan benar, maka ia akan berjalan baik terlepas dari nilai TERM.
  • Saya terkesan karena di macOS ini bisa dibangun dengan mudah hanya dengan satu perintah 'make'. Senang rasanya melihat ada pengganti elinks yang lebih modern.