- Proyek peramban web Dillo sedang bermigrasi dari GitHub ke server yang di-host sendiri
- Alasan utama migrasi yang diajukan meliputi ketergantungan pada JavaScript, struktur kontrol terpusat, dan performa yang lambat di GitHub
- Server baru beroperasi di domain dillo-browser.org dan menggunakan frontend Git ringan berbasis cgit serta pelacak bug buatan sendiri bernama ‘buggy’
- Semua data dikelola sebagai repositori git dan dicerminkan ke Codeberg dan Sourcehut, sehingga meminimalkan risiko kehilangan data
- Dirancang agar tetap dapat dipercaya bahkan saat DNS hilang melalui tanda tangan OpenPGP, sehingga memperkuat kemandirian dan keberlanjutan proyek
Latar belakang
- Dahulu, situs asli Dillo adalah dillo.org, yang mencakup repositori Mercurial, server mail, pelacak bug, dan arsip milis
- Pada 2022, domain tersebut hilang, dan pihak ketiga membuka situs serupa yang dipenuhi iklan AI
- Sebagian materi berhasil dipulihkan, tetapi tidak sepenuhnya lengkap
- Pengalaman ini mendorong keputusan untuk menghindari ketergantungan pada satu situs dan membangun struktur cadangan yang terdistribusi
- Awalnya kode diunggah ke GitHub, tetapi kemudian dinilai tidak cocok untuk jangka panjang
Masalah di GitHub
- GitHub berguna untuk workflow CI dan pengelolaan repositori, tetapi memiliki berbagai keterbatasan
- Frontend tidak berfungsi tanpa JavaScript, sehingga isu atau PR tidak dapat dilihat dengan peramban Dillo
- Halaman menggunakan sumber daya secara berlebihan dan menimbulkan beban yang tidak perlu hanya untuk merender HTML sederhana
- Ada risiko akun diblokir oleh satu entitas pengendali, yang dapat memutus akses ke data
- Platform semakin lambat dan menuntut koneksi internet yang cepat
- Sistem notifikasi “push model” GitHub tidak cocok dengan gaya pengembangan yang berfokus pada kerja offline
- Kurangnya alat pengelolaan komunitas pada proyek dengan proporsi pengguna non-pengembang yang tinggi meningkatkan kelelahan pengembang
- Ketika GitHub beralih ke fokus pada LLM dan AI generatif, situs-situs memperkuat tembok JavaScript atau pelacakan sidik jari browser untuk memblokir crawler LLM
- Efek sampingnya, akses pengguna Dillo ikut terblokir
Membangun hosting sendiri
- Layanan forge yang ada tidak mampu sekaligus menghilangkan single point of failure dan mempertahankan operasi yang ringan
- Karena itu diputuskan untuk mengoperasikan server sendiri dan mempertahankan beberapa mirror
- Domain dillo-browser.org dibeli dan server VPS kecil dibangun
- Operasinya ternyata lebih stabil dari perkiraan, dan sebagian besar hanya menangani trafik bot AI
- cgit dipilih sebagai frontend Git
- Ditulis dalam bahasa C sehingga penggunaan RAM dan CPU rendah, serta berfungsi tanpa JavaScript
- Sebagian CSS dimodifikasi agar tampil baik di Dillo
- Dapat diakses di https://git.dillo-browser.org/
- Pelacak bug menggunakan ‘buggy’ yang dikembangkan sendiri
- Mengurai file Markdown untuk menghasilkan halaman HTML, dan setiap bug disimpan di repositori git
- Saat commit, git hook secara otomatis memperbarui halaman
- Bisa diedit secara offline dan tidak menimbulkan kekhawatiran celah keamanan
- Tersedia di https://bug.dillo-browser.org/
- Arsip milis disimpan secara terdistribusi di 3 layanan eksternal, dan salinan internal akan ditambahkan di masa mendatang
Pengaturan mirror
- Semua data inti dikelola dalam bentuk repositori git dan dicerminkan ke Codeberg dan Sourcehut
- Bahkan jika repositori tertentu berhenti beroperasi, biaya perpindahan ke mirror lain tetap rendah
- Satu-satunya titik kegagalan tunggal adalah DNS (dillo-browser.org)
- Jika DNS hilang, pengguna dapat diberi tahu melalui milis, Fediverse, IRC, dan sebagainya
- Karena data direplikasi di git, kehilangan fatal tidak akan terjadi
Tanda tangan OpenPGP
- Halaman ini ditandatangani dengan kunci GPG Rodrigo Arias Mallo (32E65EC501A1B6FDF8190D293EE6BA977EB2A253)
- Ini adalah kunci yang sama dengan rilis terbaru Dillo, dan juga terdaftar di akun GitHub
- File tanda tangan (
index.html.asc) ditautkan melalui <link rel=signature>
- Tanda tangan OpenPGP memungkinkan kepercayaan tetap dipertahankan meski DNS hilang
- Kepemilikan dibuktikan berdasarkan kepercayaan pada tanda tangan, bukan rantai sertifikat TLS
- Tanda tangan disertakan di semua mirror git untuk memperkuat ketahanan terhadap kehilangan data
Progres migrasi dan prospek
- Repositori GitHub tidak akan langsung dihapus dan akan terus diperbarui sampai migrasi selesai
- Setelah selesai, repositori akan diubah ke status ‘archived’ dan diumumkan di situs resmi
- Commit yang ada dan file rilis akan dipertahankan demi kompatibilitas build lama
- Infrastruktur baru ini dapat dioperasikan secara mandiri dengan biaya dan konsumsi energi yang rendah
- Berdasarkan donasi saat ini dan biaya server, dapat dipertahankan setidaknya selama 3 tahun
- Jika ingin mendukung, bisa memberi bantuan melalui Liberapay (https://liberapay.com/dillo/)
Belum ada komentar.