In questo articolo è presente un trucchetto che permette di esportare username e le password salvate con Firefox Quantum per poterle salvare od importare in altri browser.
Nel momento in cui è scritto questo articolo - e da quando è stato rilasciato Mozilla Firefox Quantum - c'è una cosa che può risultare fastidiosa a chi utilizza questo browser:
Chi vuole fare il backup degli username e delle password salvati con Firefox non può. Salvare le password può essere utile per salvarle offline od in cloud, per importarle in altri browser oppure per importarle in password manager.
Questo è un bug di cui è a conoscenza Mozilla, presente anche sulla versione 58.02 (quella attuale nel momento in cui è scritto questo articolo) che quasi sicuramente verrà risolto nelle prossime versioni. Nel frattempo si possono comunque esportare gli username e le password di Firefox.
Esportare le password di Firefox tramite JavaScript
Infatti, anche senza plugin per esportare le password di Firefox (al momento non funzionante su Quantum), tramite un semplice snippet di codice JavaScript immesso nella console del browser è possibile esportare i login salvati su Firefox Quantum.
La prima cosa da fare per esportare username e password di Firefox tramite la console del browser è quella di permettere di aggiungere codice alla stessa. Per opzione predefinita non si può.
Per poter immettere codice nella console del browser, dopo aver digitato about:config
nella barra dell'indirizzi ed aver accettato l'avvertimento che si conoscono i rischi si deve cercare il valore booleano devtools.chrome.enabled
. Lo si deve impostare a true
, anche semplicemente facendogli un doppio click.
Dopo aver fatto questo sarà possibile scrivere all'interno nella console del browser. Bisogna aprirla ora.
Per aprire la console del browser basta portarsi nel menu di Firefox, selezionare "Sviluppo web" e poi selezionare "Console del browser". Oppure premere la combinazione di tasti CTRL+MAIUSC+J
.
Il codice andrà incollato nella parte inferiore della finestra della console del browser:
Il codice da incollare è il seguente:
/* export the names and passwords in JSON format to firefox-logins.json */
var tokendb = Cc["@mozilla.org/security/pk11tokendb;1"].createInstance(Ci.nsIPK11TokenDB);
var token = tokendb.getInternalKeyToken();
try {token.login(true)} catch(e) {Cu.reportError(e)}
if (!token.needsLogin() || token.isLoggedIn()) {
var passwordmanager = Cc["@mozilla.org/login-manager;1"] .getService(Ci.nsILoginManager);
var signons = passwordmanager.getAllLogins({});
var json = JSON.stringify(signons, null, 1);
var ps = Services.prompt;
var txt = 'Logins: ' + signons.length;
var obj = new Object; obj.value = json;
if (ps.prompt(null, 'Logins - JSON', txt, obj, null, {})){
var fp=Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
fp.init(window,"",Ci.nsIFilePicker.modeSave);
fp.defaultString = "firefox-logins.json";
fp.open((rv) => {
if (rv == Ci.nsIFilePicker.returnOK || rv == Ci.nsIFilePicker.returnReplace) {
var fos = Cc['@mozilla.org/network/file-output-stream;1'].createInstance(Ci.nsIFileOutputStream);
fos.init(fp.file, 0x02 | 0x08 | 0x20, 0666, 0);
var converter = Cc['@mozilla.org/intl/converter-output-stream;1'].createInstance(Ci.nsIConverterOutputStream);
converter.init(fos, 'UTF-8', 0, 0);
converter.writeString(json);
converter.close();
}})
}}
Dopo aver premuto invio, se tutto va a buon fine, se è stata impostata verrà chiesta la master password del browser e verrà fatto scaricare il file "firefox-logins.json" che conterrà username, password e siti web corrispondenti.
Per comodità è possibile convertire il file JSON in CSV con il tool che ho già presentato nell'articolo dove dico come scaricare gli errori 404 con links dalla Search Console. A questo indirizzo si trova convertcsv.
Dato che per Windows esistono vari software che permettono di vedere le password salvate sul browser concludo l'articolo dicendo che l'utilità maggiore dell'utilizzo di questo metodo per esportare i login di Firefox Quantum lo si ha con Linux e con Mac OS. Comunque è comodo anche con Windows, non bisogna installare nulla, che si userebbe molto raramente.
Via: Mozilla Support
on linux Mint 19 : ReferenceError: Cc is not defined
On latest Ubuntu and Firefox works pewrfect, Waltersao.
Sorry,
Yuri.