Archives For about:config

Firefox

Con Firefox in versione Nightly, dai un’occhiata “prima del tempo” a ciò che succederà nella versione stabile del browser di Mozilla, prendendoti rischi e pericoli per il tuo profilo e per la stabilità del browser stesso (ogni tanto può capitare che qualcosa si inceppi e venga risolta qualche ora dopo). Quella che è stata da poco introdotta è una di quelle novità “invasive” che potrebbero portare rogne all’utente medio, impattando sui suoi componenti aggiuntivi.

Come saprai, Firefox gira ormai in multiprocesso (wiki.mozilla.org/Electrolysis), permettendoti così di fruire di una navigazione più stabile e che più difficilmente va in crash come un tempo (e ti ricordo che spesso il problema era causato dai plugin, Adobe Flash in primis, e non certo dal browser in sé). Ulteriore novità verso la quale stiamo andando incontro, è la compatibilità con componenti aggiuntivi considerati obsoleti poiché non passati al nuovo standard Web Extensions (wiki.mozilla.org/WebExtensions). Se a questo aggiungi anche un (giusto, nda) impedimento nei confronti del funzionamento di componenti aggiuntivi non compatibili con la modalità multiprocesso, questo è il risultato:

Firefox: estensioni disattivate perché non multiprocesso

Fatta eccezione per Pushbullet, fuori uso nell’immagine ma in seguito aggiornato e nuovamente funzionante, gli altri componenti aggiuntivi sono rimasti KO fino a mio intervento. Questa mossa di Mozilla sta generando una “naturale selezione” che tenderà a pulire quello che è il più vasto catalogo ufficiale messo a disposizione degli utilizzatori del panda rosso, AMO (addons.mozilla.org).

Cosa sta succedendo in Nightly (e che quindi succederà nelle prossime versioni stabili del software) lo spiega direttamente Mozilla, in un articolo disponibile sulla Wiki ufficiale:

The Firefox team is currently focused on vastly improving performance in Firefox 57. Unfortunately, if you have add-ons installed in Nightly that are not WebExtensions, they make performance measurements on Nightly much harder. This is especially true of add-ons that are not multiprocess compatible and use shims.

Trovi maggiori informazioni (l’articolo è a oggi ancora in aggiornamento) all’indirizzo wiki.mozilla.org/Add-ons/ShimsNightly. Forse ti basterà sapere che, per ora, una modifica all’about:config ti permetterà di riportare in vita ciò che è stato automaticamente disattivato. Digita about:config nella barra dell’URL, premi invio e garantisci a Mozilla che farai attenzione a ciò che modificherai ;-)

Ora cerca la voce extensions.allow-non-mpc-extensions, e impostala a true, contrariamente a quanto presente di default (false, per ovvi motivi):

Firefox: estensioni disattivate perché non multiprocesso 1

La modifica è immediata, i componenti aggiuntivi si riattiveranno e –a meno che non abbiano bisogno di un riavvio del browser– saranno nuovamente operativi senza ulteriori operazioni da eseguire.

Cosa puoi fare nel frattempo? Cercare alternative ai componenti aggiuntivi utilizzati fino a oggi. Ti serve software che venga aggiornato e mantenuto nel tempo, in modo da soddisfare quelli che ormai sono i requisiti minimi (o consigliati) imposti da Mozilla, per rimanere al passo con i tempi e andare incontro alla continua evoluzione dettata spesso dalle esigenze degli utilizzatori stessi.

Vale ovviamente una giusta alternativa, quella che consiste nel contattare chi i componenti aggiuntivi li scrive, pregandolo di tenerli aggiornati, cosa che può anche succedere passando per AMO stesso, come per Xmarks (addons.mozilla.org/it/firefox/addon/xmarks-sync/reviews), mantenendo però la calma e tenendo a bada la lingua (o la tastiera, in questi casi). Giusto segnalare un malfunzionamento, ma con i modi corretti (e in inglese, consiglio spassionato). Io ho preferito contattare il supporto di LastPass (che possiede Xmarks) tramite il loro sistema di ticket, segnalando il problema (e ottenendo risposte che mi hanno lasciato intendere che l’helpdesk non conosca poi così tanto bene le varianti ufficiali di Firefox, ma tant’è).

Fai attenzione: con l’arrivo di Firefox 57 questa modifica sarà ufficialmente in produzione, senza riserve (salvo modifiche alla roadmap). Ricordati sempre che il forum di Mozilla Italia è sempre a tua disposizione in caso di problemi.

La primavera è già passata da qualche tempo, ma il mio evidente ritardo nel percepirla ha fatto slittare in avanti dei lavori di pulizia che rimandavo da troppo tempo. Il mio profilo principale di Firefox (costantemente replicato e sotto backup) conteneva dati davvero troppo vecchi, facendo arrivare alcuni dei database SQLite dell’applicativo a occupazioni disco fuori (e di molto) dallo standard al quale si è abituati nelle nuove installazioni (o nei profili più puliti). Per questo motivo ho scelto di prendere scopa, paletta e smacchiatore per dare un po’ più di piglio energico al browser di casa Mozilla, il predefinito sulle mie macchine.

Firefox: ottimizzazione dei DB SQLite 6

Ti spiego in poche parole (e diversi dati) ciò che ho fatto. Ti mando subito a leggere qualche riga riguardo SQLite nel caso in cui non sapessi di cosa si sta parlando, male non può certamente fare. I file incriminati e importanti sono sostanzialmente due: places.sqlite e webappsstore.sqlite. Prima di partire, una giusta cultura di base: il primo file (database, in realtà) contiene tutta la cronologia di navigazione in base ai criteri da te impostati all’interno delle opzioni di Firefox, non contiene i Segnalibri contiene i Segnalibri nella tabella moz_bookmarks, che viene toccata durante la pulizia solo per rimuovere spazi lasciati vuoti dall’utilizzatore (qui la pagina di KB su mozillaZine). Il secondo file invece conserva i dati che generalmente si vanno a compilare nelle form dei siti web che visitiamo, si tratta di un database molto delicato che non andrebbe mai modificato manualmente e che puoi permetterti di perdere solo se non ti secca ricominciare a creare una cronistoria dei dati che dovrai inserire a mano (per esempio) durante la registrazione di un modulo, una nuova iscrizione a chissà quale forum o così via (qui la pagina KB su mozillaZine).

Sia chiaro: Firefox continuerà a funzionare sulla tua postazione anche se cancelli completamente i due file, poi però non lamentarti se vai a perdere la cronologia di navigazione o i dati precedentemente immessi nei moduli (e non solo), di sicuro ci guadagni in velocità :-)

Io ho voluto clonare il profilo e mettere alla prova un’estensione che promette di andare ad alleggerire questi due file a patto di trovare delle voci orfane, quindi eliminabili in via definitiva, ricostruendo il database e popolandolo solo con le voci effettivamente vive e vegete (vedi: vacuum SQLite). L’estensione è Places Maintenance e la puoi trovare ovviamente su AMO:

Places Maintenance
Places Maintenance
Developer: Mak
Price: Free

Perché proprio lei in un mare di altre estensioni dedicate alla manutenzione dei database SQLite di Firefox? Perché è sviluppata da un amico connazionale e profondo conoscitore di Firefox, Mak, Firefox Team Engineering Consultant.

A installazione terminata (non richiede riavvio, nda) ho lanciato immediatamente una scansione della situazione sul profilo clonato, questo il risultato:

Statistics
 Database size is 81920 KiB
 user_version is 32
 page_size is 32768
 cache_size is -2048
 journal_mode is wal
 synchronous is 1
 History can store a maximum of 104858 unique pages
 Table moz_places has 104024 records
 Table moz_historyvisits has 281408 records
 Table moz_inputhistory has 469 records
 Table moz_bookmarks has 641 records
 Table moz_keywords has 0 records
 Table sqlite_sequence has 1 records
 Table moz_favicons has 4080 records
 Table moz_annos has 2192 records
 Table moz_anno_attributes has 13 records
 Table moz_items_annos has 172 records
 Table sqlite_stat1 has 15 records
 Table moz_hosts has 6291 records
 Index sqlite_autoindex_moz_inputhistory_1
 Index sqlite_autoindex_moz_keywords_1
 Index sqlite_autoindex_moz_favicons_1
 Index sqlite_autoindex_moz_anno_attributes_1
 Index sqlite_autoindex_moz_hosts_1
 Index moz_places_faviconindex
 Index moz_places_hostindex
 Index moz_places_visitcount
 Index moz_places_frecencyindex
 Index moz_places_lastvisitdateindex
 Index moz_historyvisits_placedateindex
 Index moz_historyvisits_fromindex
 Index moz_historyvisits_dateindex
 Index moz_bookmarks_itemindex
 Index moz_bookmarks_parentindex
 Index moz_bookmarks_itemlastmodifiedindex
 Index moz_places_url_uniqueindex
 Index moz_places_guid_uniqueindex
 Index moz_bookmarks_guid_uniqueindex
 Index moz_annos_placeattributeindex
 Index moz_items_annos_itemattributeindex
 Index moz_keywords_placepostdata_uniqueindex

Occhio a:

  • Database size is 81920 KiB
  • History can store a maximum of 104858 unique pages
  • Table moz_places has 104024 records
  • Table moz_historyvisits has 281408 records

Ho volutamente evidenziato i valori più importanti a livello di onerosità su database, ciò che più occupava il file SQLite era chiaramente il contenuto della mia cronologia, praticamente quasi mai resettata. Il valore massimo delle pagine uniche memorizzate nella cronolgia è fisso a 104858 poiché dettato da una configurazione di about:config, per l’esattezza si tratta di places.history.expiration.transient_current_max_pages.

Firefox: ottimizzazione dei DB SQLite 2

Ho lanciato un’ottimizzazione senza toccare alcunché, provando a lasciare invariato il contenuto della navigazione passata e ho dato un’occhiata ai risultati:

Statistics
 Database size is 71680 KiB
 user_version is 32
 page_size is 32768
 cache_size is -2048
 journal_mode is wal
 synchronous is 1
 History can store a maximum of 104858 unique pages
 Table moz_places has 104026 records
 Table moz_historyvisits has 281412 records
 Table moz_inputhistory has 469 records
 Table moz_bookmarks has 641 records
 Table moz_keywords has 0 records
 Table sqlite_sequence has 1 records
 Table moz_favicons has 4080 records
 Table moz_annos has 2192 records
 Table moz_anno_attributes has 13 records
 Table moz_items_annos has 172 records
 Table sqlite_stat1 has 15 records
 Table moz_hosts has 6291 records
 Index sqlite_autoindex_moz_inputhistory_1
 Index sqlite_autoindex_moz_keywords_1
 Index sqlite_autoindex_moz_favicons_1
 Index sqlite_autoindex_moz_anno_attributes_1
 Index sqlite_autoindex_moz_hosts_1
 Index moz_places_faviconindex
 Index moz_places_hostindex
 Index moz_places_visitcount
 Index moz_places_frecencyindex
 Index moz_places_lastvisitdateindex
 Index moz_historyvisits_placedateindex
 Index moz_historyvisits_fromindex
 Index moz_historyvisits_dateindex
 Index moz_bookmarks_itemindex
 Index moz_bookmarks_parentindex
 Index moz_bookmarks_itemlastmodifiedindex
 Index moz_places_url_uniqueindex
 Index moz_places_guid_uniqueindex
 Index moz_bookmarks_guid_uniqueindex
 Index moz_annos_placeattributeindex
 Index moz_items_annos_itemattributeindex
 Index moz_keywords_placepostdata_uniqueindex
  • Database size is 71680 KiB
  • History can store a maximum of 104858 unique pages
  • Table moz_places has 104026 records
  • Table moz_historyvisits has 281412 records

Un risparmio sicuramente interessante, ma sceso appena di –circa– 10 MB, ancora poco in confronto a un file che superava gli 80MB. Ho quindi scelto di mantenere esclusivamente gli ultimi 6 mesi di cronolgia di navigazione del browser, ottenendo (tramite lo stesso procedimento) un risultato nettamente più significativo:

Orphans expiration
 + Database cleaned up
 > Coherence check
 + The database is coherent
 > Vacuum
 Initial database size is 71680 KiB
 + The database has been vacuumed
 Final database size is 30720 KiB
  • Initial database size is 71680 KiB
  • Final database size is 30720 KiB

Un risparmio di circa 50MB rispetto al file originale, un sacrificio più che accettabile considerando che in 6 mesi ho certamente visitato siti web ai quali sono solito passare a fare un saluto, perdendo chi probabilmente non utilizzo così frequentemente (o non utilizzo più, tanto per farla più drastica). Il nuovo report fatto girare subito dopo il vacuum parla chiaro:

Statistics
 Database size is 30720 KiB
 user_version is 32
 page_size is 32768
 cache_size is -2048
 journal_mode is wal
 synchronous is 1
 History can store a maximum of 104858 unique pages
 Table moz_places has 40051 records
 Table moz_historyvisits has 55735 records
 Table moz_inputhistory has 165 records
 Table moz_bookmarks has 641 records
 Table moz_keywords has 0 records
 Table sqlite_sequence has 1 records
 Table moz_favicons has 2036 records
 Table moz_annos has 819 records
 Table moz_anno_attributes has 12 records
 Table moz_items_annos has 172 records
 Table sqlite_stat1 has 15 records
 Table moz_hosts has 3313 records
 Index sqlite_autoindex_moz_inputhistory_1
 Index sqlite_autoindex_moz_keywords_1
 Index sqlite_autoindex_moz_favicons_1
 Index sqlite_autoindex_moz_anno_attributes_1
 Index sqlite_autoindex_moz_hosts_1
 Index moz_places_faviconindex
 Index moz_places_hostindex
 Index moz_places_visitcount
 Index moz_places_frecencyindex
 Index moz_places_lastvisitdateindex
 Index moz_historyvisits_placedateindex
 Index moz_historyvisits_fromindex
 Index moz_historyvisits_dateindex
 Index moz_bookmarks_itemindex
 Index moz_bookmarks_parentindex
 Index moz_bookmarks_itemlastmodifiedindex
 Index moz_places_url_uniqueindex
 Index moz_places_guid_uniqueindex
 Index moz_bookmarks_guid_uniqueindex
 Index moz_annos_placeattributeindex
 Index moz_items_annos_itemattributeindex
 Index moz_keywords_placepostdata_uniqueindex
  • Database size is 30720 KiB
  • History can store a maximum of 104858 unique pages
  • Table moz_places has 40051 records
  • Table moz_historyvisits has 55735 records

Partito con un places.sqlite da più di 80MB e un webappsstore.sqlite da circa 101MB, mi ritrovo con 30MB circa di database cronologico ma un webappstore.sqlite ancora particolarmente obeso.

Ho cercato altri casi simili e mi sono imbattuto su una segnalazione di BugZilla: bugzilla.mozilla.org/show_bug.cgi?id=857888. È partita da un problema relativo a Firefox sul mondo Mobile, ma pare soffrirne anche la versione PC, come confermato anche da una discussione su Reddit (r/firefox)

PSA: Large webappsstore.sqlite file in your profile will heavily affect the responsiveness of Firefox’s UI from firefox

La scelta drastica? Rinominare il database webappsstore.sqlite per non farlo più trovare a Firefox (ovviamente chiuso) il quale lo ha creato da zero una volta riaperto, ho provato così a perdere la cronologia dei moduli e delle applicazioni utilizzate fino a quel momento:

Firefox: ottimizzazione dei DB SQLite 1

Il risultato? Ho utilizzato il profilo sul quale ho effettuato manutenzione per una settimana, ritenendolo adatto a diventare il principale perché la “perdita” non giustificava (secondo me) i rallentamenti sporadici del browser. Oggi sono fermamente convinto di aver fatto la scelta migliore, anche se fino a quando ci saranno siti web contenenti schifezze in Flash e simili, si continuerà ad avere un’occupazione importante del plugin-container.exe che permette a plugin (come quello Adobe) di girare in background, nonostante il Click-2-Play.

Occhio sempre a ciò che fai e dove metti le mani, ma mai abbandonare il tuo fido strumento di navigazione, potrebbe risentirne pesantemente la tua pazienza! ;-)

Ultimo aggiornamento: 5/7/16 10:20
Corretto dettaglio sui Segnalibri in places.sqlite (https://twitter.com/Gioxx/status/750243831132585985)

Il Gestore Download integrato in Firefox svolge il suo lavoro senza darvi particolari grattacapi quotidianamente. Riprende download parziali ed interrotti, può rilanciare quelli falliti completamente ma soprattutto vi protegge da possibili malware. Qualsiasi cosa voi vogliate scaricare viene data precedentemente in pasto al filtro di Safe Browsing affinché si possa evitare (quanto più possibile) di farvi salvare file potenzialmente dannosi per la salute del vostro sistema operativo.

Disabilitare il controllo anti-malware nel gestore download di Firefox

Questa, così come la funzione di protezione contro i Componenti Aggiuntivi non firmati, è una di quelle feature alle quali non bisognerebbe mai rinunciare senza un ottimo motivo. Se però avete la necessità di scaricare un’applicazione non firmata che il browser riconosce come pericolosa (anche se non lo è) e ottenete il messaggio di errore di Firefox (come in immagine di seguito) sappiate che -al solito- c’è modo di aggirare l’ostacolo.

Disabilitare il controllo malware nel gestore download di Firefox 1

Come sempre ciò che vi serve è nell’about:config e, ancora una volta, sono qui a pregarvi di non toccare alcuna voce qui contenuta se non sapete quello che state facendo. Dopo aver “promesso di fare attenzione” vi ritroverete davanti al solito box di ricerca, all’interno del quale dovrete riportare:

browser.safebrowsing.malware.enabled

Se avete Firefox Sync attivato, le voci trovate saranno due. Fate doppio clic sulla prima (quindi non quella che inizia con services.sync) per portare il valore da true a false, come in immagine:

Disabilitare il controllo malware nel gestore download di Firefox 2

Da questo momento l’opzione sarà attiva e sarà possibile scaricare qualsiasi cosa senza che questa passi il controllo integrato in Firefox. Disattivare l’anti-malware però non è certamente una buona idea, se proprio dovete farlo, ricordatevi di riattivarlo subito dopo aver scaricato il pacchetto a cui siete interessati.

Aggiornamento 14/9/15
Si stanno sviluppando diverse nuove discussioni sull’argomento che diventa così sempre più “caldo”. Tra conferme e passi indietro pare che in Firefox l’opzione di cui vi ho parlato all’interno dell’articolo verrà potenzialmente ignorata, “sovrascrivendo” ciò che l’utente richiede al proprio browser di fare. Vi invito a leggere la discussione nel forum di Mozilla Italia all’indirizzo forum.mozillaitalia.org/index.php?topic=64911.0 e ad intervenire se lo ritenete opportuno. Seguiranno certamente ulteriori sviluppi sulla questione (e quindi anche dell’articolo qui di seguito pubblicato).
Aggiornamento 11/9/15
Come segnalato da Simone nei commenti, pare che questa novità andrà ad impattare Firefox 43 e non più la versione 41. Vi rimando direttamente al commento contenente anche i riferimenti di Bugzilla: gioxx.org/2015/09/07/firefox-estensioni-signed/#comment-2248130207

Qualcuno lo avrà già notato perché la novità riguarda Firefox 40 (già disponibile da qualche giorno ormai) ma soprattutto il 41 (attualmente in Beta) ed il 42 (Developer Edition) che arriveranno sui PC di tutti gli utilizzatori nelle prossime settimane. Firefox non permette più (dalla versione 41) l’installazione di estensioni non firmate.

Firefox: disabilitare il controllo firme degli addon (se necessario) 3

Perché? Perché di mezzo c’è la sicurezza, la vostra, quella degli utilizzatori che troppo spesso vengono ingannati da software di terze parti che non si fanno poi molti problemi ad installare estensioni che caricano pubblicità durante la navigazione (le segnalazioni al mio indirizzo di posta e tramite il sistema di supporto di X Files sono aumentate in maniera vertiginosa). Sia chiaro: non è la necessità di fermare la fantasia e la capacità di una comunità che di estensioni ne scrive decine al giorno, piuttosto la volontà di convincere questi fantastici sviluppatori a pubblicarla su AMO affinché la loro creazione venga controllata e approvata da persone che possono dar loro consigli o chiedere di ritoccare ciò che può mettere in difficoltà il browser (o lasciare qualche porta aperta a ospiti dall’esterno, mai simpatici).

In realtà qualcuno se n’è accorto già diverso tempo fa, proprio perché gli sviluppatori dei componenti aggiuntivi hanno iniziato a correre per arrivare preparati al giro di quella boa sempre più vicina, ed è per questo che probabilmente le vostre estensioni si sono improvvisamente aggiornate in massa. Tutto questo costituisce un ulteriore layer di sicurezza che è importante rispettare affinché si possano dormire sonni più tranquilli e avere così una navigazione maggiormente pulita, d’altronde di pubblicità (lecita) il web ne è già saturo, un po’ come la sopportazione del suo pubblico.

Trovate maggiori informazioni su quanto messo in atto nell’articolo datato 10 febbraio 2015, sul blog di Mozilla Add-ons: blog.mozilla.org/addons/2015/02/10/extension-signing-safer-experience (se volete saperne di più e in italiano potete sempre dare un’occhiata all’apposito articolo localizzato da Mozilla Italia e disponibile su support.mozilla.org/it/kb/add-on-signing-in-firefox).

Disattivare il controllo

Sono certo che se state leggendo questo articolo siete altrettanto consapevoli del fatto che disattivare questo controllo comporta una possibile falla in un sistema pensato per essere più sicuro, avrete i vostri buoni motivi. Io ad esempio ne ho proprio per X Files. Sviluppando la lista sulla versione Developer di Firefox più aggiornata, mi tocca stare al passo con le versioni “Nightly” dell’estensione Adblock Plus, non presenti su AMO e disponibili tramite il sito web dello sviluppatore. Se il controllo è attivo, Firefox rifiuta di terminare l’installazione del file XPI perché non firmato. Come se non bastasse, qualsiasi estensione già installata nel sistema che non possiede una firma validata, verrà disabilitata al successivo avvio del browser:

Firefox: disabilitare il controllo firme degli addon (se necessario) 2

Come fargli abbassare la guardia per poter procedere? Al solito da about:config. L’opzione da andare a modificare è prevedibilmente di tipo booleana e risponde alla ricerca di:

xpinstall.signatures.required

che dovrà passare necessariamente da true a false, per tutto il tempo necessario ai vostri test. Vi ricordo infatti che riportando la voce a true, Firefox andrà a disabilitare automaticamente le estensioni non firmate già dal successivo riavvio del browser, non necessario invece dopo aver ritoccato la voce in about:config perché immediatamente applicato.

Firefox: disabilitare il controllo firme degli addon (se necessario) 1

Occhi sempre ben aperti e fate attenzione a ciò che installate. Da questo punto in poi la colpa non potrà essere certo affibbiata ancora una volta a Mozilla ;-)

Non è una novità ma di sicuro sarà sempre più diffuso considerando che molti siti web non riescono a stare al passo con i tempi (e con i criteri ormai minimi di sicurezza). L’errore che vedete nel titolo di questo articolo potrebbe comparirvi a video da un momento all’altro senza lasciarvi apparentemente scampo, qualcosa di molto simile a questa immagine di seguito:

Firefox: ssl_error_no_cypher_overlap (Secure Connection Failed)

Si tratta di un problema “conosciuto” e già discusso anche nel forum di supporto globale di Mozilla: support.mozilla.org/it/questions/1035245. Fa riferimento al fatto che Firefox vada ad impedire l’apertura di siti web non sicuri, che utilizzano protocolli superati, ampiamente bucati e che possono mettere quindi in pericolo i vostri dati sensibili. È giusto, assolutamente corretto e sacrosanto, ma evidentemente non ancora chiaro per chi gestisce siti web che non sono stati nel frattempo aggiornati, uno di questi (come si vede dallo screenshot poco sopra) è quello dei clienti Deutsche Bank.

Per poter accedere al loro portale movimenti sarà necessario chiedere a Firefox di essere meno intransigente e abbassare (temporaneamente) il livello di sicurezza. Andate in about:config e -una volta accettate le condizioni- cercate questo riferimento:

security.tls.version.fallback-limit

Portando il suo valore a 1 così da permettere a Firefox di aprire siti web che utilizzano almeno il layer di sicurezza TLS 1.0.

Firefox: ssl_error_no_cypher_overlap (Secure Connection Failed) 1

La modifica è immediata, potete aggiornare la pagina che ora dovrebbe aprirsi e permettervi il collegamento. Al termine delle vostre operazioni ricordate di tornare a modificare l’impostazione in about:config. Potete fare clic con il tasto destro sulla voce e scegliere “Ripristina” oppure modificare il valore 1 e tornare al 3 predefinito. È importante che non lo lasciate a uno, per la vostra sicurezza.