4 poin oleh GN⁺ 5 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Kontrol jarak jauh dan otomatisasi diperkuat secara signifikan, sehingga browser kini bisa dikendalikan langsung dari baris perintah dan skrip melalui program dilloc baru serta soket UNIX yang aktif secara bawaan
  • Dengan opsi page_action pada menu klik kanan halaman, perintah arbitrer dapat dijalankan, dan bersama dilloc kini dimungkinkan juga melakukan tindakan seperti memuat ulang atau mengganti halaman saat ini
  • Penanganan login OAuth diubah agar cookie diizinkan secara pengecualian pada pengalihan halaman utama yang mengikuti permintaan yang dimulai pengguna, sehingga alur autentikasi tetap berjalan sambil mempertahankan pemblokiran cookie pihak ketiga
  • Dukungan eksperimental FLTK 1.4 yang pertama kali ditambahkan dapat dibangun dengan --enable-experimental-fltk, tetapi masalah rendering pada DPI tinggi atau Wayland masih tersisa sehingga tidak boleh diaktifkan sebagai bawaan untuk semua pengguna
  • Termasuk dukungan brotli opsional, about:keys·about:cache·about:dicache, IPv6 aktif secara bawaan, peningkatan perilaku tab·mouse·clipboard, serta berbagai perbaikan bug keamanan dan build, sehingga kegunaan dan stabilitas secara keseluruhan ikut meningkat

Perubahan utama

  • 3.3.0 mencakup fitur baru, opsi konfigurasi, dan perbaikan bug, serta untuk pertama kalinya menambahkan dukungan eksperimental FLTK 1.4
  • Kontrol soket UNIX dan aksi pengguna berbasis menu halaman ditambahkan, sehingga browser bisa dikendalikan langsung dari skrip dan baris perintah
  • Perbaikan login OAuth menyesuaikan penanganan cookie selama proses pengalihan, sehingga alur autentikasi tetap berfungsi sambil mempertahankan perlindungan terhadap pelacakan

Kontrol jarak jauh dan otomatisasi

  • Program dilloc baru ditambahkan untuk mengendalikan Dillo dari baris perintah atau skrip
    • Menemukan target melalui PID pada variabel lingkungan DILLO_PID, dan jika nilainya tidak ada, mencari proses Dillo unik
    • Menyediakan perintah kontrol seperti ping, pid, reload, ready, open URL, url, title, status, dump, hdump, load, rawload, quit, wait
  • Soket kontrol jarak jauh aktif secara bawaan dan bisa dimatikan dengan --disable-control-socket bila diperlukan
  • Saat menjalankan aksi, variabel DILLO_PID akan disetel sehingga dilloc dapat langsung mengendalikan instance Dillo saat ini

Aksi halaman

  • Opsi page_action ditambahkan agar perintah arbitrer dapat dijalankan dari menu klik kanan halaman
  • Dengan memakai page_action bersama dilloc, halaman saat ini bisa dimanipulasi dengan cara seperti mengambil ulang atau mengganti isinya
    • Sebagai contoh, jika page_action="Mimic Chrome:curl_chrome136 $url | dilloc load" disetel, halaman dapat diambil ulang seperti Chrome dengan curl impersonate lalu langsung dimasukkan sebagai HTML tab saat ini
    • Cara ini bisa digunakan untuk menghindari sebagian JS walls
  • Juga disertakan contoh Fix page yang menjalankan skrip modifikasi untuk halaman saat ini berdasarkan URL, header HTTP, dan kondisi lainnya

Status dukungan FLTK 1.4

  • Dukungan eksperimental ditambahkan agar bisa dibangun pada FLTK 1.4.0 atau lebih baru dengan flag --enable-experimental-fltk
  • Fitur ini dimasukkan untuk pengujian dan umpan balik teknis, dan ditujukan bagi pengguna berpengalaman dan penguji
  • Disarankan menggunakan rilis FLTK 1.4.5
  • Pada layar 96 DPI di platform X11, FLTK 1.4.5 dan FLTK 1.3 menunjukkan kualitas rendering yang serupa
    • Ini berlaku untuk backend Xft maupun Pango
  • Pada lingkungan DPI tinggi, terutama DPI yang bukan kelipatan 96 atau Wayland, masalah rendering masih tersisa
  • Pengelola paket Dillo tidak boleh mengaktifkan FLTK 1.4 sebagai bawaan untuk semua pengguna
    • Glitch visual dan masalah lain masih dapat muncul

OAuth dan penanganan cookie

  • Untuk autentikasi OAuth, perilaku disesuaikan agar cookie yang ditetapkan pada respons pengalihan dapat diizinkan
  • Secara bawaan, Dillo memblokir semua cookie pihak ketiga jika permintaan tersebut tidak dimulai langsung oleh pengguna
    • Ini dilakukan untuk mencegah pelacakan berbasis piksel gambar
  • Dengan perbaikan kali ini, cookie diizinkan secara pengecualian pada pengalihan halaman utama yang mengikuti permintaan yang dimulai pengguna
    • Ini membuat login OAuth bisa berjalan sambil tetap mempertahankan perlindungan terhadap pelacakan
  • Contohnya mencakup login Fediverse melalui Smolfedi

Penambahan fitur detail dan peningkatan perilaku

  • Ditambahkan dukungan opsional untuk encoding konten brotli br
  • about:keys ditambahkan untuk melihat shortcut keyboard saat ini
  • Halaman about:cache dan about:dicache ditambahkan untuk memeriksa informasi cache internal
  • IPv6 diaktifkan secara bawaan jika didukung platform
  • Shortcut Alt+ dapat digunakan untuk memindahkan fokus ke tab ke-N
  • Control + left click dapat membuka tautan di tab baru
  • Navigasi mundur dan maju dapat dilakukan dengan tombol mouse
  • Klik tengah pada tombol mundur atau maju dapat membuka halaman tersebut di tab baru
  • Ctrl+C diubah agar menyalin teks yang dipilih ke clipboard sehingga sesuai dengan ekspektasi perilaku Ctrl+V
  • Opsi mark_unloaded_images ditambahkan agar gambar yang belum dimuat bisa ditampilkan dengan bingkai
  • Ruang kosong pada bilah lokasi diperbesar sehingga lebih mudah dipilih dengan mouse
  • Pada search_url, prefiks pencarian diperlakukan sebagai kecocokan penuh, bukan kecocokan parsial
  • Mesin pencari Mojeek ditambahkan bersama shortcut mj
  • Elemen form seperti tombol dan kolom input dengan CSS display:none kini disembunyikan
  • Saat mengirim form, perilaku disesuaikan agar respons yang di-cache dihindari
  • Header Content-Disposition didukung untuk menetapkan nama file
  • Opsi trace_http ditambahkan untuk memungkinkan debugging lalu lintas HTTP

Bug yang diperbaiki dan informasi distribusi

  • Masalah format printf % yang tidak di-escape dan menyebabkan loop tak berujung pada vsource dpi di lingkungan musl telah diperbaiki
  • Segfault yang terjadi selama pengujian TLS CurveBall pada LibreSSL telah diperbaiki
  • Parsing Max-Age pada cookie diperbaiki agar menggunakan epoch, bukan zona waktu lokal
  • Masalah build NetBSD telah diperbaiki, dan kini juga dihindari sign extension yang salah pada ctype(3)
  • Masalah use-after-free pada dialog koneksi server HTTP dan OpenSSL telah diperbaiki
  • URL situs web diperbarui menjadi https://dillo-browser.org/, dan repositori git menjadi https://git.dillo-browser.org/dillo

Unduhan dan migrasi repositori

1 komentar

 
GN⁺ 5 jam lalu
Komentar Hacker News
  • Saya cukup sering memakai Dillo. Selamat
    Dengan RUU verifikasi usia yang terus bermunculan, tergantung bagaimana Firefox merespons, Dillo tampaknya bisa saja menjadi browser default de facto untuk Linux dan BSD
    Jika hukum seperti ini benar-benar diterapkan dan bahkan logika verifikasi usia dimasukkan ke Firefox, saya 100% akan pindah ke Dillo

    • Itu cukup masuk akal, tetapi RUU estimasi usia harus dilihat sebagai arus yang jauh lebih besar
      Cukup menyeramkan melihat begitu banyak negara menyerah pada hal ini terlalu cepat
      Mungkin sekarang masih ada yang tidak percaya, tetapi beberapa tahun lagi penjelajahan web anonim bisa jadi tinggal masa lalu
      Serangan yang menargetkan VPN juga perlu dilihat bersama. Ini tampak bukan sebagai insiden terpisah yang kebetulan, melainkan gerakan yang saling terkait ke satu arah
      Aliran uang perlu dibuat jauh lebih jelas, dan saya muak dengan situasi yang dikendalikan para pelobi
  • Sayangnya bahkan Google mulai mewajibkan JS, dan ini pukulan besar bagi browser kecil dan web terbuka

    • Betul, di browser seperti ini https://html.duckduckgo.com berjalan cukup baik :)
    • Indeks Google masih bisa diakses tanpa JS lewat mesin pencari proksi. Misalnya Startpage adalah salah satunya
      Untuk daftar detail terkait mesin pencari, tulisan Seirdy merangkumnya dengan baik: https://seirdy.one/posts/2021/03/10/search-engines-with-own-...
    • Justru menurut saya ini lebih mirip fitur. Jika sebuah situs web tidak bekerja bahkan dengan HTML dasar, besar kemungkinan itu hanya membuang waktu
    • Sekarang terasa seperti Google mengendalikan web
      Secara ketat itu tidak sepenuhnya benar, tetapi Google hadir di banyak area penting web, dan Chrome hanya contoh yang paling mencolok di antaranya
    • Tapi apakah benar-benar perlu sampai ES6?
      JavaScript pada masa awal jauh lebih sederhana, dan JIT juga tidak selalu diperlukan. Secara pribadi saya masih merasa tanpa JIT itu lebih baik
  • Terima kasih besar kepada para pengembang. Saya sangat suka proyek retro seperti ini
    Saya memakai Dillo setiap hari, dan dalam kasus saya kebanyakan untuk penggunaan internal
    Berkat arsitektur plugin-nya, protokol seperti gemini atau gopher juga bisa dirender, jadi saya juga memakainya saat melihat situs gemini
    Benar-benar sangat ringan

  • Klien Mastodon juga tidak berjalan dengan baik, tetapi setidaknya ada alternatif: https://codeberg.org/adele/smolfedi

  • Dalam kasus saya, saat memakai Dillo di HN ini saya terus mendapat 429, sementara ini tidak terjadi di browser full-size biasa
    Saya tidak tahu apakah ini karena JS

  • Saya sudah mengatakan ini berkali-kali di tulisan lain tentang Dillo, tetapi berkat Dillo saya untuk pertama kalinya bisa melihat web di PC 486 lama
    Itu mesin yang dipasangi Damn Small Linux, dan tanpa Dillo saat itu mungkin akses web sendiri akan sulit

  • dilloc sudah dimulai sejak commit git lama sebelum rilis 3.3.0, dan itu benar-benar mengesankan
    Kita juga bisa dengan mudah membuat item menu pengalihan yang memanggil skrip mirip plumber atau xdg-open
    Caranya seperti Libredirect di Firefox/Chromium, yaitu mengganti URL JS dengan URL non-JS

  • Saya penasaran apakah ada tempat untuk mendapatkan biner pra-kompilasi di antara port Windows terbaru Dillo

  • Sayang sekali Dillo ditulis dalam C++
    Karena saya ingin mencoba membangunnya dengan kompiler C kecil dan sederhana seperti cproc/qbe atau tinycc
    Meski begitu, saya merasa sudah ada tanda bahwa AI pemrograman bisa cukup membantu dalam mem-porting massal C++ menjadi C sederhana

    • Saya pernah mencobanya sendiri sekitar 6 bulan lalu pada kode C++ saya dengan alat-alat yang saat itu disebut SOTA, dan hasilnya mengecewakan
      Menurut saya, teknologinya masih belum sampai ke tahap itu