Ruffle: Emulator Flash Player
(ruffle.rs)- Ruffle adalah emulator Flash Player open-source yang ditulis dalam Rust, memungkinkan konten Flash yang tidak lagi didukung secara bawaan untuk dijalankan kembali di sistem operasi dan browser modern
- Mendukung desktop dan web, dan di lingkungan web menggunakan WebAssembly
- Bertujuan menghindari risiko keamanan yang dikenal sebagai masalah pada Flash dengan memanfaatkan jaminan dari Rust dan WASM
- Dirancang agar baik pengguna umum maupun pemilik situs web dapat memasang dan menjalankannya dengan cepat
- Tersedia dengan lisensi MIT/Apache 2.0 sebagai proyek open-source gratis yang dapat digunakan secara bebas
Menjalankan konten Flash di lingkungan modern
- Ruffle adalah emulator Flash Player untuk menjalankan konten Flash di lingkungan modern
- Dibuat agar berjalan secara native di sistem operasi dan browser modern, dengan fokus menghidupkan kembali konten Flash tanpa kerepotan tambahan
- Bahasa implementasinya adalah Rust, dan menargetkan desktop maupun web
- Untuk target eksekusi web digunakan WebAssembly
Pendekatan keamanan dan ketentuan distribusi
- Berupaya menghindari jebakan keamanan yang dimiliki Flash dengan memanfaatkan jaminan dari Rust dan WASM
- Dirancang agar baik pengguna maupun pemilik situs web dapat memasang dan menjalankannya dengan cepat
- Merupakan proyek open-source gratis yang didistribusikan dengan lisensi MIT/Apache 2.0
1 komentar
Opini Hacker News
Saat sekolah, seperti banyak orang lain, saya menghabiskan terlalu banyak waktu untuk game Flash, dan rasanya sayang melihat sebagian sejarah game menghilang
Meski begitu, Ruffle bisa menghidupkan kembali setidaknya sebagian. Hanya saja ini juga mengingatkan bahwa masih belum ada cara memainkan Wolfenstein RPG di iOS. Saya punya iPod yang saya beli pada 2010 hampir hanya untuk memainkan game itu, tetapi baterainya rasanya tidak akan bertahan selamanya. Untuk sementara, sepertinya saya akan pergi main Adrenaline Challenge dulu
Saya kira masih perlu beberapa tahun lagi, dan sementara itu saya memasang versi Flash terakhir tanpa bom waktu dan memakainya, tetapi senang ternyata saya salah :)
https://github.com/hikari-no-yume/touchHLE/pull/139
Halaman The Merchant's House dalam pameran Slavery in New York dari New York Historical Society menampilkan benda-benda satu per satu dan menjelaskan bahwa “semuanya terhubung dengan perbudakan”. Dalam pameran online itu ada banyak potongan informasi yang bergantung pada Flash, dan halaman ini secara pribadi yang paling saya sukai
Berkat proyek seperti Ruffle, karya semacam ini bisa tetap dipertahankan. Sekarang setelah pamerannya menghilang, ini menjadi satu-satunya cara untuk melihat tulisan tersebut, dan memungkinkan hasil riset sejarah yang sangat luas tetap bisa dimanfaatkan
Namun video galleries di situs pameran yang sama gagal. Seharusnya itu berisi klip video yang ditinggalkan pengunjung pameran di bilik khusus; setelah membaca banyak tulisan terkait, sepertinya itu merupakan bahan yang bagus untuk menunjukkan bagaimana warga New York pada masa itu memandang perbudakan. Ada juga kutipan New York Times: “Ada kekakuan khas video rumahan amatir. Suara latar, jeda hening yang panjang, tatapan yang menghindari kamera.”
Seharusnya itu sebagian dari sekitar 400 video, tetapi di halaman ini Ruffle tidak berjalan dengan benar. Saat mencoba menontonnya, audio sempat keluar sebentar dari tab, jadi tampaknya ada sesuatu yang terjadi, tetapi saya belum pernah melihat videonya. Saya berharap orang yang lebih paham soal ini bisa mengetahui apa yang terjadi, karena sayang kalau materi-materi ini hilang
Bisa diputar offline dengan alat seperti VLC atau ffplay, dan juga bisa dikonversi ke format pemutaran yang lebih modern
AS3 dalam banyak hal adalah ECMAScript 4, dan menurut saya cukup jauh mendahului zamannya. Banyak hal yang kini kita harapkan terasa seperti fitur yang sudah dianggap wajar di ekosistem Flash Player
Tentu ada juga momen-momen seperti mimpi buruk, tetapi pada masa ketika JavaScript lintas-browser saja masih terasa sulit entah mungkin atau tidak, kami bisa merilis hal-hal yang cukup hebat
Bukan AS3 yang mendahului zamannya, rasanya lebih seperti kita mundur ke masa lalu ketika Flash ditinggalkan karena Steve Jobs dan CEO Adobe waktu itu
AS3 benar-benar bagus, mudah dipelajari, dan aman untuk dikembangkan bersama oleh banyak developer. Flash juga menjadi cukup cepat pada masa-masa akhirnya, tetapi pada akhirnya semuanya dibuang begitu saja
AS3 adalah bahasa yang luar biasa. Brendan Eich sempat menyebutnya singkat dalam wawancara Lex Fridman, dan menarik bahwa ia lebih mirip calon penerus JavaScript yang tidak sempat masuk browser. Sayang, padahal akan bagus jika itu menjadi standar baru
Akan bagus kalau ada hukum yang menyatakan bahwa jika sebuah software tidak lagi dijual, ia harus ditinggalkan ke domain publik
Meski begitu, spesifikasi terkait memang disediakan Adobe secara gratis
Akan bagus juga kalau masa hak cipta dipangkas ke tingkat yang masuk akal, misalnya 5 tahun. Lebih jauh lagi, mungkin lebih baik jika untuk mempertahankan hak cipta, pemiliknya harus membayar pajak tahunan yang meningkat secara eksponensial
Mengubah hukum bisa menyelesaikannya. Misalnya membuat semacam undang-undang pelestarian software antik yang memungkinkan software apa pun dirilis sebagai open source, dan mencegah gugatan terkait tindakan berdasarkan undang-undang itu
Insentif tambahan juga bisa diberikan. Misalnya mewajibkan semua software yang pernah dijual secara komersial untuk diarsipkan secara permanen atau dirilis sebagai open source. Karena pengarsipan permanen secara legal mahal, banyak pihak kemungkinan akan memilih open source
Karena itu, sering kali tidak mungkin dijadikan open source tanpa memangkas sebagian besar codebase, dan pekerjaan itu mahal serta sangat mengurangi kegunaan kode yang dipublikasikan
Atau apakah tool-toolnya sudah pada tingkat yang sulit dihidupkan kembali, sehingga pada dasarnya hanya akan berguna untuk menghidupkan kembali katalog lama?
Tentu saja katalog lama itu luar biasa besar, tetapi saya dengar banyak developer senang membuat game Flash, jadi kalau ada orang yang cukup gigih ingin menghidupkan kembali scene game Flash, itu akan menarik
Sekarang memang tidak terlalu diperlukan dan ada standar web menjanjikan yang berkembang setiap hari, tetapi hal semacam itu tidak pernah menghentikan orang-orang yang gigih. Masih ada orang yang mencari cara membuat game baru untuk hardware Nintendo lama
Kalau ingin AS2, Anda setidaknya harus kembali sampai CS6, dan menurut saya CS5.5 lebih baik karena cakupan dukungan FLA-nya jauh lebih luas. Jangan tanya kenapa mereka menghapus itu di CS6
Kalau tidak mau membayar Adobe, Anda bisa memakai Apache Flex, versi free open source dari toolchain Adobe. Tentu saja itu adalah tool compiler command-line dan hanya meng-compile file AS3, jadi grafis harus dibuat dan dihubungkan secara terpisah
Kalau berupa vector art, besar kemungkinan Anda harus mencari cara mengonversi SVG ke SWF, menyertakannya ke SWF utama dengan semacam keajaiban deklarasi class yang aneh di Flex, lalu menangani masalah masking halus yang muncul karenanya
Itu adalah tool pembuatan yang mudah diakses untuk menghasilkan animasi satu file lintas platform yang dapat diskalakan dan tetap berjalan pada bandwidth rendah
Kita masih belum menutup kehilangan itu. JavaScript + canvas + web stack itu berantakan. Kalau runtime Ruffle bisa mulai dengan cepat, rasanya saya akan mulai membuat Flash baru
Di macOS lebih rumit karena semua versi itu 32-bit. Di Mac M1, lebih baik menyiapkan Windows VM dan menjalankan Flash di dalamnya, sedangkan di Mac Intel Anda bisa memasang macOS Mojave, versi terakhir yang mendukung 32-bit, di partisi terpisah
Sebenarnya tool itu menjalankan seluruh Linux di dalam VM di WebAssembly, lalu menjalankan Adobe Flash Player berlisensi resmi di dalamnya. Dan lisensi Flash itu sepertinya harus diperoleh terpisah dari Harman. Sepertinya sekarang mereka yang memegang kekayaan intelektual Flash
https://labs.leaningtech.com/cheerpx/for-flash
Saya tidak ada hubungan apa pun dengan mereka, hanya pernah mencarinya karena suatu saat merasa tertarik
Namun kami tidak mengemulasikan seluruh Linux hanya untuk menjalankan Flash. Kami mengemulasikan PPAPI dan menjalankan Flash Player di CheerpX, JIT x86
Yuri menjelaskan arsitektur CXFF di sini:
https://youtu.be/7JUs4c99-mo?t=1045
Kalau Anda membutuhkan emulasi sistem Linux lengkap, itu juga ada: https://webvm.io
Saya masih merasa internet dan para programmer pemula muda benar-benar kehilangan tool yang bernilai bersama Flash. Sayang sekali model keamanannya tidak bisa dibuat bekerja dengan benar. Applet Flash punya banyak fitur dan hambatan masuknya jarang serendah itu
Memang ada masalah, tetapi kebanyakan software juga begitu, dan Flash benar-benar sekitar 20 tahun mendahului zamannya. Setelah Flash mati, web menjadi luar biasa hambar
Teori konspirasi saya adalah Apple dan Google membayar Adobe untuk mematikan Flash demi memaksakan dukungan mobile
Saya tidak pernah menulis satu baris pun Flash dan juga tidak ingin, tetapi saya masih punya kenangan buruk tentang betapa rusaknya situs-situs Flash
Widget-nya mencolok karena tidak berperilaku seperti native, di Firefox masalah keyboard focus tidak ada habisnya, akselerasi video sepertinya tidak pernah benar-benar bekerja sehingga menguras baterai. Ada juga mimpi buruk privasi seperti cookie persisten yang untuk menghapusnya harus membuka aplikasi Flash dari Adobe, dan penanganan permission-nya juga mengabaikan sistem host atau browser
Sulit juga melupakan masalah keamanan dan stabilitas yang nyaris terus-menerus. Secara pribadi, saya senang Flash mati
Flash sudah buruk di desktop, tetapi mati karena pada masa ketika mobile menjadi penting, di mobile ia jauh lebih buruk lagi
Animasi memang bisa dibuat, tetapi itu bukan yang sebagian besar dari kita butuhkan atau inginkan saat itu
Kelompok yang menyukai Flash hanya departemen marketing, serta orang-orang yang ingin menjadi game developer dan para remaja yang memainkan game itu
Setidaknya dari sudut pandang developer, bekerja dengan SDK dari satu vendor yang sudah lengkap jauh lebih baik daripada gumpalan kanker node_modules ini
Kalau membuka tulisan lama di blogs.adobe.com, sekarang muncul error live seperti ini:
Fastly error: unknown domain: blogs.adobe.com. Please check that this domain has
been added to a service.
Error di atas berasal dari URL ini: https://blogs.adobe.com/asset/2012/06/inside-flash-player-pr...
Butuh beberapa tahun, tetapi pada akhirnya hanya berfungsi sebagian. Saat itu Flash masih dominan di browser, tetapi sampai Gnash mati pun tidak ada yang berhasil melakukan porting dengan benar
Saya penasaran bagaimana Ruffle bisa membuatnya berjalan secepat ini