1 poin oleh GN⁺ 2023-10-23 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2023-10-23
Opini Hacker News
  • Saya mengecek proyek ini kira-kira setahun sekali, dan senang melihat dukungan AS3 makin mendekati selesai
    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
    • Sekitar 18 bulan lalu, Ruffle praktis belum punya dukungan AS3, dan itu menjadi hambatan penentu bagi saya
      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 :)
    • Terakhir kali saya melihatnya, AS3 baru saja mulai dikerjakan, jadi mengejutkan melihatnya datang secepat ini
    • Ketidakmampuan memainkan Wolfenstein RPG di iOS mungkin akan segera berubah :)
      https://github.com/hikari-no-yume/touchHLE/pull/139
    • Saya juga masih mencari cara untuk memainkan Inishie Dungeon lagi
    • Semoga PR-PR lama di Ruffle benar-benar digabungkan
  • Pembicaraan tentang emulasi Flash selalu mengarah ke game Flash, tetapi di luar itu ada manfaat besar lain: melestarikan situs web informatif yang masih bergantung pada Flash
    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
    • File videonya masih ada. Misalnya https://www.slaveryinnewyork.org/flash/Gallery7Responses2.fl..., dan URL yang diminta juga bisa dilihat di pemeriksa jaringan browser
      Bisa diputar offline dengan alat seperti VLC atau ffplay, dan juga bisa dikonversi ke format pemutaran yang lebih modern
    • Saya sudah meneruskan hal ini ke tim Ruffle. Mereka sedang mengerjakan peningkatan dukungan video eksternal yang ditambahkan beberapa bulan lalu
  • Selama beberapa tahun saya menulis AS3 dan mxml untuk Adobe Flex
    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
    • Saya juga melakukan pekerjaan itu selama bertahun-tahun
      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
    • Sepenuhnya setuju. Saya membuat mesin rendering 3D dengan Flash dan AS3, dan itu termasuk platform pengembangan yang paling saya sukai dari semua yang pernah saya pakai
      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
  • Apakah Adobe Flash sudah mati? Kalau Adobe tidak lagi menjualnya sebagai produk, saya penasaran kenapa bagian Flash Player tidak mereka rilis sebagai open source
    Akan bagus kalau ada hukum yang menyatakan bahwa jika sebuah software tidak lagi dijual, ia harus ditinggalkan ke domain publik
    • Saya pernah menanyakan hal yang sama di thread lama, dan mendapat jawaban bahwa Flash Player berisi terlalu banyak kode pihak ketiga berlisensi, sehingga menghapus atau melisensikan ulang semuanya agar bisa di-open-source-kan kemungkinan sangat sulit atau mustahil
      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
    • Alasan perusahaan biasanya tidak melakukan itu adalah risiko hukum. Sebagian library yang digunakan mungkin dilisensikan dengan cara yang tidak mengizinkan open source
      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
    • Flash Player mungkin tidak dirilis sebagai open source karena kualitas kodenya memalukan. Sepertinya masih ada banyak kerentanan yang belum ditemukan
    • Sebagian besar sebenarnya sudah mereka buka[1]. Tentu saja bisa saja dianggap belum cukup
  1. https://github.com/adobe/avmplus
  • Masalahnya, produk-produk seperti ini umumnya memakai komponen proprietary pihak ketiga
    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
  • Saya penasaran apakah membuat karya baru masih mungkin setelah ini dirilis
    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
    • Adobe masih menyediakan Animate sebagai bagian dari Creative Cloud, dan dengan itu Anda bisa membuat movie AS3
      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
    • Flash seharusnya tidak mati
      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 Windows, versi Flash lama masih bisa dijalankan tanpa masalah
      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
    • Di perusahaan kami, kami masih menulis kode AS3 baru. Semua IDE dan tool berjalan baik di W10/W11
    • Di Newgrounds ada event flashforward kira-kira setahun sekali
  • Ada juga tool komersial yang mengubah Flash menjadi WebAssembly
    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
    • Saya developernya. CheerpX for Flash menjalankan versi Pepper API dari Flash, dan soal lisensi itu benar
      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
  • Keren. Sebelumnya saya belum pernah melihatnya
    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
  • Saya sangat tidak suka cara Adobe mematikan Flash seperti 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
    • Tidak perlu konspirasi. Kalau produknya menciptakan pengalaman pengguna yang mengerikan seperti itu, sudah cukup
      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
    • Flash itu buruk. Buruk untuk aksesibilitas, tertutup, lambat, dan menjadi sarana untuk memaksa menampilkan iklan
      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
    • Jika Flash tidak dihentikan dukungannya, proyek seperti Ruffle akan mendapat pekerjaan sulit untuk terus mengejar runtime proprietary yang masih banyak dipakai
    • Adobe memang menyerah, tetapi yang sebenarnya membunuhnya adalah Apple yang tidak mendukungnya di iOS
    • Saya ingat ikut merayakan ketika Flash mati, tetapi kalau melihat ke belakang, ternyata tidak seburuk itu
      Setidaknya dari sudut pandang developer, bekerja dengan SDK dari satu vendor yang sudah lengkap jauh lebih baik daripada gumpalan kanker node_modules ini
  • Sedikit keluar topik, tetapi kalau ada karyawan Adobe di sini yang punya akses ke akun Fastly Adobe, sepertinya kalian perlu memeriksa konfigurasi Fastly

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...

  • Saya ingat saat masih mahasiswa mengikuti upaya GNU Gnash untuk mendukung AS2 dan AS3
    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
    • Kemungkinan besar mereka tidak terlalu ketat soal lisensi seperti GNU