Ένα βοηθητικό πρόγραμμα που μετατρέπει τα κανονικά προγράμματα περιήγησης που βασίζονται σε Firefox σε Έκδοση για προγραμματιστές

Λόγω διαφωνίας με την πολιτική της Mozilla και των διανομών να μην διανέμουν εκδόσεις του Firefox που έχουν ξεκλείδωτες δυνατότητες εγκατάστασης ανυπόγραφων πρόσθετων και χρήσης του WebExtensions Experiments API, έχει αναπτυχθεί ένα εργαλείο που μετατρέπει τις κανονικές εκδόσεις του Firefox σε μια παραλλαγή "Έκδοση προγραμματιστή" που επιτρέπει τη χρήση πρόσθετων χωρίς ψηφιακή υπογραφή.

Η ανάπτυξη του εργαλείου διευκολύνθηκε από το γεγονός ότι η απαραίτητη λειτουργικότητα στον Firefox υλοποιείται σε κώδικα ECMAScript και περιλαμβάνεται σε οποιαδήποτε έκδοση του Firefox, αλλά ενεργοποιείται κατά το χρόνο εκτέλεσης ανάλογα με τις καθορισμένες σταθερές τιμές. Οι σταθερές (“MOZ_DEV_EDITION”, “MOZ_REQUIRE_SIGNING”) ορίζονται σε ένα αρχείο (“modules/addons/AddonSettings.jsm”), το οποίο βρίσκεται στο αρχείο zip “/usr/lib/firefox/omni.ja”.

Το προτεινόμενο βοηθητικό πρόγραμμα αναλύει το απαιτούμενο αρχείο χρησιμοποιώντας το esprima-python, διορθώνει το AST και το σειριοποιεί χρησιμοποιώντας το jscodegen.py. Η εργασία με τη μορφή zip παρέχεται από το libzip.py - δεσμεύσεις στο libzip. Συνιστάται η μη αυτόματη εγκατάσταση των καθορισμένων βιβλιοθηκών από τα αντίστοιχα αποθετήρια git.

Επιπλέον, μπορείτε να σημειώσετε το σενάριο unpin.py, το οποίο σας επιτρέπει να αποσυνδέσετε τους περιορισμούς "{", "==" και "~=" στην έκδοση των εξαρτήσεων σε ένα προκατασκευασμένο πακέτο της μορφής τροχού, που χρησιμοποιείται από πολλούς προγραμματιστές, το οποίο σας επιτρέπει να αποφύγετε την αυτόματη υποβάθμιση κατά την εγκατάσταση του επιθυμητού πακέτου μέσω pip κατά τις προεπιλεγμένες ρυθμίσεις.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο