Sebuah utilitas yang mengubah browser biasa berbasis Firefox menjadi Edisi Pengembang

Karena ketidaksepakatan dengan kebijakan Mozilla dan distribusi untuk tidak mendistribusikan versi Firefox yang memiliki kemampuan tidak terkunci untuk menginstal add-on yang tidak ditandatangani dan menggunakan API Eksperimen WebExtensions, sebuah alat telah dikembangkan yang mengubah versi Firefox biasa menjadi varian "Edisi Pengembang" yang memungkinkan penggunaan add-on tanpa tanda tangan digital.

Pengembangan alat ini difasilitasi oleh fakta bahwa fungsionalitas yang diperlukan di Firefox diimplementasikan dalam kode ECMAScript dan disertakan dalam versi Firefox apa pun, tetapi diaktifkan saat runtime tergantung pada nilai konstanta yang ditetapkan. Konstanta (“MOZ_DEV_EDITION”, “MOZ_REQUIRE_SIGNING”) didefinisikan dalam satu file (“modules/addons/AddonSettings.jsm”), yang terletak di arsip zip “/usr/lib/firefox/omni.ja”.

Utilitas yang diusulkan mem-parsing file yang diperlukan menggunakan esprima-python, menambal AST, dan membuat serial menggunakan jscodegen.py. Bekerja dengan format zip disediakan oleh libzip.py - mengikat ke libzip. Disarankan untuk menginstal perpustakaan yang ditentukan secara manual dari repositori git yang sesuai.

Selain itu, Anda dapat mencatat skrip unpin.py, yang memungkinkan Anda melepaskan batasan “{“, “==” dan “~=” pada versi dependensi dalam paket format roda yang sudah dibuat sebelumnya, yang digunakan oleh banyak orang pengembang, yang memungkinkan Anda menghindari penurunan versi otomatis saat menginstal paket yang diinginkan melalui pip dengan pengaturan default.

Sumber: opennet.ru

Tambah komentar