Archives For AdBlock Plus

Ricevo quasi quotidianamente dei comunicati stampa di Codacons, l’associazione nata nel 1986 per difendere l’ambiente e i diritti dei consumatori. Si tratta per lo più di concentrati di parole che mi portano alla mente forconi e caccia alle streghe, ma questo è esclusivamente un parere soggettivo basato su quei testi, perché in realtà credo che associazioni come questa possano avere una loro utilità, soprattutto quando il cittadino e cliente finale, quello piccolo che “non conta nulla” per le grandi aziende, si trova in difficoltà e senza arma alcuna per far valere i propri diritti di consumatore.

Codacons: qui nessuno è esperto.

La regola è sempre la stessa: io guadagno uno stipendio con sudore e dedizione al lavoro, perché dovrei tacere di fronte ad abusi, scarso potere d’acquisto e truffe ben mascherate da aziende forti? Il Codacons (e non solo lui) ha un ruolo in tutto questo. Nota bene: sto sorvolando su nomi precisi e su “accuse” ridicole come quelle relative a Pokémon GO di qualche tempo fa.

Tolto il dovuto cappello per mettere a tacere eventuali troll della prima ora, voglio proporti parte del testo ricevuto una manciata di giorni fa:

Il Codacons mette in guardia tutti gli utenti dalle truffe online: “tutti i giorni siamo bersagliati da un numero incredibile di mail spam e truffaldine che ci raggiungono tramite indirizzo e-mail – afferma il Presidente Marco Maria Donzelli del Codaconse da cui dobbiamo ben guardarci per evitare di cadere vittima di malfattori che ci sottraggono i nostri dati personali.”  Ecco il decalogo anti-truffa del Codacons:

1) Mai diffondere il proprio indirizzo e-mail principale su forum, blog, messaggi o altri siti internet.
2) Evitare di iscriversi col proprio indirizzo e-mail ai siti web sconosciuti.
3) Utilizzare uno dei migliori servizi di posta ossia Gmail, Yahoo Mail ecc.
4) Nel caso di invio di e-mail a più persone, spedirle sempre con gli indirizzi dei destinatari in chiaro, ma nascosti in CCN, per evitare di entrare in mailing list o catene di sant’Antonio molto fastidiose.
5)  Con tutte le e-mail di spam che si ricevono, andare a difendersi facendo denunce per ciascuna di esse, potrebbe essere un lavoro davvero impegnativo e, probabilmente, senza risultati.
Difficilmente infatti la polizia postale darà retta a queste denunce che, per la maggior parte dei casi, rimarranno solo un numero statistico.
6) Non rispondere mai alle e-mail di spam perché esse provengono da indirizzi fasulli.
7) Dotarsi di un antivirus sicuro e che svolga automaticamente un controllo dei contenuti del computer, per evitare che esse venga infettato nel caso di apertura di e-mail di spam.
8) Prestare la massima attenzione e non cliccare su pop-up che vengono visualizzati quando apriamo una mail o una pagina internet.
9) Navigare sempre su siti internet sicuri e con connessione protetta. Non andare su siti identificati come pericolosi.
10) Non inserire mai i propri dati personali se non si è del tutto certi della pagina che abbiamo aperto.

Ho letto la mail e ho riso su un paio di punti, in particolar modo sul terzo, in seguito al quale lanciato un tweet un po’ da pirla (lo ammetto):

Pentito a corto raggio dell’aver messo online una polemica abbastanza sterile senza spiegare in alcun modo il perché del mio ridere, ho aggiunto informazioni in coda al primo tweet, senza aspettarmi una risposta da Codacons, o per lo meno aspettandomene forse una più politicamente corretta:

È chiaro che io abbia fatto un primo gesto errato, ma non è servito a nulla aggiungere informazioni, se non a prendersi una risposta al limite del “ti vedo dall’alto verso il basso“. Ora, dato che non mi piacciono le polemiche sterili e lasciate un po’ a metà, vorrei chiedere a Codacons di mettersi nei panni dell’utente finale, spesso molto ignorante in materia informatica, e provare a mettere in pratica quello che suggeriscono nel decalogo stilato da chissà quale esperto in sicurezza informatica probabilmente assunto nei loro uffici. Vorrei poter rispondere (nonostante io non mi definisca certo un esperto, pur svolgendo un mestiere che mi porta a rimanere particolarmente informato) punto per punto, dove necessario, per confrontarmi con l’esperto dall’altro lato del monitor:

  1. Chiedere di non diffondere l’indirizzo e-mail “principale” all’utente è alquanto improbabile. Moduli delle carte fedeltà del supermercato sotto casa, whois su un dominio registrato per la propria attività, una scuola, un progetto personale, iscrizione a Facebook, rubriche di amici e parenti e chissà cos’altro. In passato (e succederà ancora in futuro) alcuni dei provider che mettono a disposizione il servizio di mailbox gratuita sono i primi a vendere quegli indirizzi a chi lo spam lo mangia e invia a colazione (parliamo di email.it, Hotmail, o magari Libero e compari vari). Là fuori è pieno di persone che non hanno neanche un indirizzo di posta elettronica (e non lo vogliono), figurarsi un master e uno slave.
  2. Ogni sito web è potenzialmente sconosciuto. Fatta eccezione per Google, Amazon e altri nomi altisonanti che più o meno tutti conoscono, il resto è sconosciuto per definizione. L’utente medio non ha idea di chi ci sia dall’altro lato, i suoi dati sono sempre e comunque in “pericolo“, vale anche per i “big“.
  3. Migliori servizi di posta. È quello che mi ha fatto più ridere. Viene citato Yahoo. Davvero non leggete cosa succede su internet? Qui trovate l’articolo scritto da Graham Cluley: grahamcluley.com/yahoo-confirms-500-million-accounts-hacked-2014-data-breach, basta lanciare una ricerca Google per trovare tutti gli altri.
  4. Prima di inviare una mail, soprattutto con molti destinatari (ciò che succede soprattutto quando si parla di newsletter e simili) è bene controllare possibili errori di battitura. Qui si tratta solo di banalità: si consiglia di mettere gli indirizzi di più destinatari in chiaro, poi si corregge il tiro parlando della copia carbone nascosta. Le catene di S.Antonio non piacciono a nessuno, peccato che ancora oggi ne saltino fuori parecchie, alcune volta causate anche da finti esperti.
  5. Tutto corretto. Inutile far perdere tempo alle forze dell’ordine.
  6. Difficile. Gli spammer sono sempre più furbi e i sistemi automatici di invio delle mail pubblicitarie (e non solo, qui c’è di mezzo anche il phishing) sempre più validi. I più classici errori dovuti a un italiano errato iniziano a diventare sempre meno. Le mail che arrivano agli utenti finali sono tutto sommato corrette, possono trarre in inganno. Combatto ogni giorno con quelle mail, cerco più e più volte di formare gli utenti, qualcuno scappa sempre, qualcuno apre quelle bollette dalle cifre spropositate che si rivelano poi essere tentativi di infezione (fortunatamente bloccati da buoni antivirus e sistemi di protezione perimetrale), un po’ quello che dice il punto 7. Non esiste nulla che possa bloccare il 100% di queste mail, esiste solo il buon senso e la generica sfiducia, con conseguente telefonata al reparto IT o all’amico che ha il figlio diplomato o laureato in informatica.
  7. Hai letto il punto 6?
  8. Auguri. I siti web non invasi dalla pubblicità e dai pop-up aperti a tradimento si possono contare sulle dita di una mano. Ci sono soluzioni alternative, si parte dall’utilizzo di browser che non vengano sviluppati da Microsoft all’utilizzo di componenti aggiuntivi come Adblock e simili. Nel mio piccolo –da non esperto– posso solo mantenere la lista X Files, compatibile con i browser più comunemente utilizzati.
  9. Impossibile. L’italiano medio è quello che cerca l’ultimo film uscito al cinema su internet, neanche due ore dopo dalla messa in onda della prima, in italiano, in qualità BluRay, con audio Dolby. Chiaramente quel file non esiste, ma lo cercherà e scaricherà qualsiasi schifezza esistente sulla faccia della terra, probabilmente infettandosi, probabilmente in barba a un buon antivirus sempre aggiornato, probabilmente regalando accesso al suo indirizzo di posta principale aggirando quindi l’ostacolo mentalmente posto dal punto 1. Il problema dell’utente poco informato e inesperto è sempre lo stesso, sta tra la tastiera e la poltrona, è se stesso.
  10. Si rifà un po’ al punto 2.

Ora credo di aver dettagliato il mio punto di vista, per quello che vale. Nessuno qui è esperto, al massimo ci si permette di dare dei consigli, per evitare che informazione certamente non falsa, ma neanche correttamente dettagliata, possa finire in giro per il web, che ne è già sufficientemente pieno. Magari, ammesso ci siano fondi spendibili, perché non investirne qualcuno per pagare un esperto che metta in scacco tutti e ci salvi dalla infezione eterna?

Ora posso tornare nel mio loculo.

Cheers.

Era da qualche tempo che non ospitavo più un “Guest blogger” su Gioxx’s Wall. È tornato a farmi visita Michele, ha già scritto in passato, è un collega del forum di Mozilla Italia e grande curioso del World Wide Web. Si diletta a realizzare di tanto in tanto articoli che descrivano le sue esperienze alle prese con sistemi non sempre performanti e di ultima generazione, che lo costringono quindi a ricercare work-around che possano garantire un certo livello di soddisfazione. Stavolta si parla di un’alternativa a Mozilla Firefox, buona lettura :-)

E la Luna bussò, alle porte dei browserPerché provare Pale Moon

Dopo avere provato SeaMonkey e averne spiegato le ragioni nel topic di Mozilla Italia “Seamonkey, l’alternativa ad un Firefox che vi piace sempre di meno“, tocca adesso ad un altro browser alternativo.
Questa volta il mio ricercare un browser alternativo a Firefox (che rimane il mio browser preferito, sia ben chiaro!) è dovuto ad una semplice ma inevitabile esigenza: con il tempo un mio PC è diventato obsoleto e poiché – causa configurazione hardware – in esso utilizzo anche Windows XP (cosa che vi sconsiglio di fare per i noti problemi di abbandono degli aggiornamenti di sicurezza) all’improvviso anche il mio Firefox – così come è accaduto a tanti altri utenti con Windows XP nel forum di Mozilla Italia – ha iniziato a navigare in maniera penosa…

Quindi, ISP a parte, ho cercato di capire come rimediare a questa lentezza generale (Windows + Firefox).

SeaMonkey è più o meno sullo stesso gradino di lentezza, però all’improvviso ho letto questo articolo di Navigareweb.net e incuriosito ho voluto provare il browser Pale Moon derivato da Firefox, anche perché spesso si trovano sul Web dei trucchi su come ottimizzare Firefox ed alleggerirlo di orpelli inutili e io stesso ne sconsiglio l’applicazione.

Scaricare Pale Moon

Stavolta però la tentazione, mista soprattutto a curiosità, era forte ed ecco che ho scaricato la versione PORTATILE dedicata a Windows XP.
E sì, perché Pale Moon ha un grande rispetto anche per i poveri utenti parsimoniosi, tirchi e/o morti di fame (come me): ci ha dedicato un browser pure per il nostro antidiluviano sistema.

C’è Pale Moon per Linux (32 e 64 bit), Windows (32 e 64 bit, ricordo che per Windows XP o i processori Atom c’è una versione specifica e c’è anche, fornita direttamente da loro, la versione portatile), BSD e Android.

Avrei potuto provare anche dei cloni di Chrome/Chromium? Sì, ma grazie io – sono razzista, lo ammetto – mi tengo lontano dagli adbrowser di Microsoft, di Google e di Facebook (infatti, se tanto mi dà tanto mi sa che tra non molto ci sarà pure ‘sto nuovo browser). Inoltre Pale Moon – come Firefox e SeaMonkey – ha il vantaggio di creare diversi profili di navigazione, cosa che trovo indispensabile in tutti i miei PC.

Prime sorprese all’avvio di Pale Moon

Dopo avere scaricato Pale Moon ed averlo avviato ecco la prima sorpresa: uno splash screen. C’è chi lo ama, chi no, chi lo utilizza per fini promozionali e chi ci cincischia per sbizzarrirsi con la fantasia; ebbene lo splash screen di Pale Moon è personalizzabile con la semplice sostituzione dell’immagine di default, non occorre un apposito programma come invece accade con le versioni PortableApps.

Ma c’è la seconda piacevole sorpresa che decisamente mi ha ben predisposto verso questo browser: l’articolo non lo dice, ma si apre una bella home page, eccola nell’immagine sotto.

E la Luna bussò, alle porte dei browser 1

Come vedete, la home page è personalizzabile (“costruibile”, direi) con i link che si desiderano, utilizzando widget e cosine di questo genere. Per me si è trattata della prima volta che mi capitava una cosa simile, magari tanti browser ce l’hanno già questa caratteristica ma per uno che nel 2002 si è dovuto costruire la propria home page a mano con i link in HTML pur non masticandolo… beh, è proprio una bella cosa! Mozilla… che cosa aspetti a fare una cosa del genere anche tu? Mica le buone idee vengono solo da Chrome…

Non so poi quanti altri browser abbiano una guida (momentaneamente in inglese) della personalizzazione di questa home page addirittura animata nella pagina web stessa!

Ed ecco una sorpresa dopo avere aperto un po’ di schede: provate a fare clic sul pulsante all’estrema destra “Elenco di tutte le schede” (oppure Ctrl + Maiusc + Tab oppure Ctrl + Tab): avrete questo risultato:

E la Luna bussò, alle porte dei browser 2

Le schede sono spostabili tramite “drag and drop”. Hanno il tastino per chiuderle (appare passandoci sopra il mouse). E come se non bastasse c’è la ricerca su tutte le schede, quelle visualizzate diminuiscono man mano che il termine cercato restringe il numero dei siti possibili!

Non ricordo di avere mai visto di default una cosa del genere su Firefox! Molto più pratica che trascinare le schede facendole scorrere sulla barra delle schede o cercare un termine passando di scheda in scheda!

Il Language Pack di Pale Moon

Proseguiamo: la prima cosa che faremmo tutti è scaricare il language pack, no? Beh, purtroppo tutto questo fa parte di un punto debole di Pale Moon:

  • si può scaricare una sola versione di browser per il proprio s.o ed è in inglese;
  • esiste un language pack italiano, scaricabile da qui, ma la traduzione è incompleta (ho trovato anche un language pack non ufficiale, qui e funziona pure meglio, ve lo consiglio);
  • anche se scaricate la traduzione, potreste ritrovarvi misteriosamente l’interfaccia sempre in inglese e a nulla serviranno i numerosi riavvii o le ricerche di chissà quale nascosta opzione;
  • semplicemente occorre installare l’estensione Zing, che “provides a quick, easy, and reliable way to switch your browser between different locales that are available to it”. Damn! Ma in un browser così “utentecentrico” non potevano installare quell’estensione di default?

Altra cosa che non mi è piaciuta: alla chiusura di Pale Moon non viene chiesto se salvare la sessione… bruttissimo vizio ereditato da Firefox 4, per fortuna facilmente aggirabile.

Proseguiamo.

Importare il proprio profilo in Pale Moon

Dopo il language pack, copio e incollo brutalmente il contenuto del mio profilo nella cartella Palemoon\User\Palemoon\Profiles\Default e al riavvio trovo tutto come sono solito trovare: segnalibri, password, moduli precompilati ma… una piccola delusione (minore che in SeaMonkey, comunque) arriva dalle estensioni che mi sono portato appresso, leggete quindi il prossimo capitolo riguardante proprio le estensioni.

Pale Moon e le estensioni

Passiamo al capitolo estensioni. Prima di tutto c’è Pale Moon Addons con la sua pagina di guida alle estensioni.

Vi sono quindi:

  • estensioni per Firefox gran parte sono già compatibili anche su Pale Moon;
  • estensioni specifiche che funzionano solo su Pale Moon;
  • estensioni che non sono compatibili nella loro ultima versione ma che lo diventano se sono installate in una versione precedente;
  • estensioni che non sono comunque compatibili delle quali va cercata una alternativa;
  • estensioni non più compatibili con Firefox che però funzionano su Pale Moon (quasi tutte quelle abbandonate con l’avvento di Australis). Fare attenzione perché quelle tabelle nella pagina delle estensioni, create con il supporto degli utenti, sono in costante evoluzione. Nel dubbio fate voi stessi una verifica, tenendo anche presente che le vecchie guide delle estensioni potrebbero ritornare ad essere molto utili.

Infine esiste una speciale estensione Pale Moon Commander che mette in bella copia e facilita l’impostazione dei principali parametri in about:config. Con tanto di guida in pdf. Peccato sia tutto solo in inglese. Ecco un’immagine di uno dei suoi 27 pannelli di impostazioni.

E la Luna bussò, alle porte dei browser 3

Per quanto mi riguarda, l’importazione brutale del mio profilo da Firefox a Pale Moon mi ha fatto sbattere un po’ per le poche estensioni non funzionanti, per le quali il rimedio è stato semplicemente utilizzare una versione più vecchia (ma alcune estensioni che ho installato per sopperire a funzioni mancanti in Firefox qui non servono proprio! Bello, eh?).

Quindi anche per voi probabilmente il riscontro sarà meno deludente di quanto appare.

Per quanto riguarda la vitale ma “non funzionante” AdBlock Plus, però, c’è la possibilità di installare AdBlock Latitude (fork di ABP, che non prevede pubblicità non invasiva neanche a volerla, infatti “ABL is more than that. It intends to also replace Adblock Edge by removing the hard coded Acceptable Ads feature” ).

Riepilogo la situazione delle mie estensioni:

  • AdBlock Plus: non funziona, ma è egregiamente sostituita da AdBlock Latitude.
  • Boss Key: funziona.
  • Classic Theme Restorer: non serve perché la funzione non è stata soppressa in Pale Moon.
  • Clippings: non funziona ma funziona la versione 4.1.2.
  • Extension List Dumper revived: non funziona ma funziona la versione originale (non la “Revived” o la “2”).
  • FAYT Revived: non serve perché la funzione non è stata soppressa in Pale Moon.
  • Lazarus Form Recovery: funziona.
  • Nuke Anything Enhanced: funziona.
  • ProfilePassword-Firefox: funziona.
  • User Agent Overrider: non funziona ma funziona la versione 0.2.4.

Quello che Firefox non ha più o che non ha mai avuto

Navigando più a fondo, non ho l’impressione che la velocità di navigazione e di avvio del programma sia nettamente migliore di Firefox desktop installer, portable o SeaMonkey, tuttavia le sorprese positive non mancano.

  • Nella libreria c’è l’opzione per visualizzare il percorso completo al segnalibro, annoso problema di Firefox, mai affrontato.
  • C’è una opzione per vietare i cross-site scripting. Senza estensioni!
  • “Abbandona questa pagina” e “Rimani in questa pagina”: opzione in about:config per rimuovere questo avviso, ottimo per non essere tediati da finestre pubblicitarie invadenti o compromettenti.
  • Possibilità di installare estensioni fatte in casa oppure estensioni senza firma.
  • Gestione personalizzata della velocità di scrolling. Senza estensioni!
  • L’estensione Classic Theme Restorer (che ripristina l’interfaccia di Firefox prima della versione 29-Australis) non serve. Niente icone grigio topo. Il pulsante della home page è lì a sinistra, dove è sempre stato dai tempi di Netscape Navigator. C’è un tasto per andare avanti e uno per tornare indietro, niente unico pulsante che già mi fa impazzire per azzerare il contakm della mia automobile (puntualmente azzero l’orologio…). I tasti dell’interfaccia sono tutti spostabili, nessun tasto inamovibile o in posizione obbligata. Questi tasti hanno poi il loro contorno ben definito, non sembrano appiccicati tutti assieme sulla barra di navigazione. Niente scimmiottamento perverso di Chrome. Niente ciclo di rapid release. Nessuna funzione miracolosa sviluppata con mille fatiche… per di più non apprezzata… non funzionante… in seguito rimossa… (ogni riferimento a “Gruppi di Schede” è puramente casuale…).
  • L’estensione Downloads Window (che ripristina una finestra separata per i download, c’è però di default in SeaMonkey) non serve.
  • L’estensione Stylish (che permette di personalizzare l’aspetto dei siti e dell’interfaccia utente del browser) non è indispensabile.
  • Telemetria e Healthreport non sono disattivabili… semplicemente perché questi impicci sono stati rimossi del tutto all’origine!
  • Le schede si possono posizionare in alto o in basso come vuole l’utente; poi c’è la rimozione della barra delle schede con solo una scheda aperta. Schede squadrate così ci vanno più caratteri. Scheda attiva ben evidenziata. Tutto questo senza estensioni!
  • Non fatevi sfuggire le possibilità offerte da una voce che Firefox non ha in “Strumenti -> Opzioni barra di stato”!. :shock: Altro che sopprimere la barra di stato! Altro che estensioni per riattivare la barra di stato!

E la Luna bussò, alle porte dei browser 4

  • Chi ha mai letto questa discussione? Disabilitare javascript solo per qualche sito. Da un paio di anni il trucco suggerito dal moderatore gialloporpora su Firefox non va più, serve una estensione. Su Pale Moon, oggi 11 febbraio 2016, funziona! Un’altra estensione in meno.
  • E se volessi cambiare useragent? Il parametro per cambiare useragent solo per un sito: general.useragent.override.”nome.del.sito” = “specifico user agent”. Per esempio, per il sito PSC occorre creare questo parametro di tipo stringa: general.useragent.override.peugeotscootersclub.it valore se si preferisce apparire come Linux: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0 valore se si preferisce apparire come Windows: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Firefox/38.0. È stato rimosso da Firefox due anni fa, su Pale Moon c’è ancora e funziona. Un’altra estensione in meno!
  • Altre raffinatezza: il parametro browser.padlock.style cambia la posizione del lucchetto, valori da 1 a 10. browser.padlock.urlbar_background; 0 non fa nulla; 1 mette una cornice verde o blu alla barra degli indirizzi in caso di domini verificati o identità verificate. Senza estensioni e senza userChrome!
  • Scopro con gioia che quando digito un termine di ricerca, quello rimane inchiodato laggiù dove appare anche se cambio milleduecento schede o passano ventidue ore, senza costringermi a ridigitare lo stesso termine per milleduecento volte.
  • Esiste il parametro browser.urlbar.rss nell’about:config per avere o non avere l’icona dei feed nella barra degli indirizzi. Nessun bisogno di userChrome per rimuoverla. A parte che da poco l’hanno rimossa del tutto da Firefox Questo parametro non era presente neanche sulla mitica versione 3.6.28.
  • Esiste il servizio Pale Moon Sync Service, per chi utilizza questo servizio (io no).
  • Probabilmente Pale Moon ha anche altre chicche, però io lo sto utilizzando da poco tempo e comunque già da parecchie versioni ho talmente personalizzato il mio Firefox (per di più in versione ESR) che non so se nel frattempo siano state perdute altre opzioni col rilascio rapido…

Vi chiederete allora: visto che Pale Moon conserva funzioni soppresse o disattivate in Firefox chissà quanto “pesa” poiché il suo codice non è ottimizzato come il browser di casa Mozilla? Sorpresa!

La Luna nel pozzo: Pale Moon è più completo di Firefox, ma anche più leggero

La sorpresa è questa. La dimensione della mia cartella di SeaMonkey PortableApps è di 846 MB. Se tolgo dalla cartella tutti (o quasi) i file relativi al client email- che in effetti non mi serve – sono ben 477 MB di cartelle di posta in meno e quindi il peso scende a 369 MB. Firefox ESR Portable MozUp ha invece una dimensione di 266 MB. Pale Moon invece, con lo stesso mio profilo dei due precedenti browser, ha una dimensione di appena 112 MB!

Se facciamo un confronto sui file di installazione, poi, scopriamo che per Windows il file firefox setup 43.0.1.exe “pesa” 45,1 MB, il file SeaMonkey Setup 2.39.exe “pesa” 34,1 MB e il file palemoon_26.0.3win64.installer.exe“pesa” 23,5 MB. Confrontando le varie versioni dei file di installazione dei diversi sistemi operativi si scopre che la differenza tra Firefox e Pale Moon si aggira sempre sui 21 MB… lascio a voi le relative considerazioni.

Un’altra curiosità. In C:\Documents and Settings\Michele\Dati applicazioni\Moonchild Productions\Pale Moon\Profiles non viene salvato nessun file, quindi il progetto portable è di chiara derivazione WinPenPack.

Ultima curiosità: con le stesse schede aperte ecco un test che non mi interessa mai molto, il consumo di risorse.

E la Luna bussò, alle porte dei browser 5

Mi spiace però non aver fatto il confronto anche con SeaMonkey aperto, ma avevo l’unità esterna ove risiede il mio SeaMonkey temporaneamente scollegata.

Non voglio mica la luna: Pale Moon è sviluppato sulle esigenze degli utenti

Cosa vedo? Un browser sviluppato sulle esigenze degli utenti. Mi ricorda Firefox di un bel po’ di tempo fa…

Così intendo io lo sviluppo di Firefox. Rincorrere Chrome, copiandolo in tutto, è una sfida persa in partenza e senza senso. A quel punto un utente utilizza direttamente Chrome. Mozilla invece, le critiche non dovrebbe lasciarle perdere, dovrebbe continuare per la propria strada, mettere in conto di perdere utenti però gli utenti che le resteranno saranno soddisfatti, avranno qualcosa che sentiranno veramente loro e veramente alternativo. Non staranno tutto il giorno a lamentarsi di quanto era bello Firefox 3.6.28 ma aiuteranno attivamente allo sviluppo. Non come certi utenti che ogni volta che esce una nuova funzione si mettono a scrivere una guida su come rimuoverla. Oppure perdono tempo, ogni volta che viene soppressa una funzione, a scrivere una guida su come ripristinarla.

Tutto questo pur considerando che in Pale Moon ci sono varie cose perfettibili, ma teniamo presente che queste cose perfettibili sono dovute al fatto che questa nuova generazione di Pale Moon è recentissima, del 26 gennaio scorso, quindi il programma avrà bisogno di tempo per perfezionarsi.

Comunque, recandosi tra le pagine web di Mozilla, in special modo su quella delle estensioni, appare l’avviso “Sembra che tu stia utilizzando una vecchia versione di Firefox”. La ragione è che Pale Moon in quelle pagine si fa passare per Firefox 24. Questo è un trucco per fare in modo che le estensioni siano installabili direttamente dal sito, altrimenti andrebbero scaricate e installate da file, a mano.

Altri link “Lunatici”

  • Pagina Release Notes, molto interessante per capire la linea di sviluppo. Con la recentissima versione 26 sono passati dal motore di rendering Gecko a Goanna (molto imparentati), per poter continuare a vivere se Mozilla dovesse fare altre sciocchezze. Tipo abolire i temi o cambiare la tecnologia delle estensioni (ad oggi sopravviverebbero forse solo NoScript e AdBlock).
  • Pagina delle FAQ.
  • Pagina del forum di supporto dove gli interessati potranno cercare e chiedere informazioni (in inglese): forum.palemoon.org. Ricordo che il forum di Mozilla Italia in ogni caso NON fornisce supporto a Pale Moon.

Curiosità finale: dietro Pale Moon c’è Moonchild, al secolo M.C. Straver, un olandese di 45 anni che vive in Svezia. Quindi la sede di Pale Moon è in Svezia, Europa. Europei come tutti noi, insomma. Noi che abbiamo piene le scatole di questo giovane invadente americano :-)

Aggiornamento 12/2/16, 11:00
Includo direttamente qui quanto riportato nel commento di Miki (gioxx.org/2016/02/12/palemoon/#comment-2509604210):Non salvando le password importanti nel browser, non mi ero accorto prima che in effetti Pale Moon salva le password con la vecchia accoppiata di file (key3.db + signons.sqlite) mentre ovviamente Firefox a partire dalla versione 32 le salva con la nuova accoppiata di file key3.db + logins.json. In Firefox c’è (e fin quando ci sarà non lo so) una preferenza in about:config

signon.importedFromSqlite

per importare le password. Si va a utilizzare questa procedura:

  • Parametro true.
  • Chiudere Firefox
  • Spostare in una cartella diversa da quella del profilo il file logins.json
  • Incollare nel profilo di Firefox il file signons.sqlite di Pale Moon
  • Riavviare Firefox: importazione delle password di Pale Moon su Firefox

Forse è meglio questa estensione, che dovrebbe permettere pure il processo inverso: addons.mozilla.org/it/firefox/addon/password-exporter. Uno dei due autori è l’amministratore di Mozilla Addons, saprà come fare e se non lo sa lui…

Per completezza includo anche un video:

Su Pale Moon va messa la versione 1.2.1.1, il changelog di quelle più recenti mi sembra che non riporti nulla di rilevante. La versione 1.2.1.1 e la versione 1.3.1.1 dovrebbero “parlarsi” (addons.mozilla.org/it/firefox/addon/password-exporter/versions).

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 ;-)

larry_inv-firefoxIl ricordo di eXtenZilla è ancora vivo nonostante il progetto sia ufficialmente terminato nel 2013 dopo quasi 9 anni di vita. Nato nel 2005 da una costola di Mozilla Italia è servito a fornire a voi tutti componenti aggiuntivi per Firefox (e non solo) in italiano, con un forum di supporto e documentazione sempre aggiornata per cercare di guidarvi passo-passo alla personalizzazione del vostro browser o a collaborare per mettere sul fuoco sempre più carne.

AMO (addons.mozilla.org) è cresciuto tanto nel frattempo, così come altri progetti internazionali che sono in grado di garantire quel lavoro che un tempo era solo di eXtenZilla nella nostra penisola. Negli stessi anni Firefox si è diffuso parecchio e come ogni software ad alta diffusione attrae l’attenzione di sviluppatori (fortunatamente non molti) che vogliono trarne un profitto in maniera poco ortodossa. Sono nate estensioni malevole che aprono finestre pubblicitarie indesiderate o fanno comparire banner all’interno di pagine che in realtà non ne contengono. Sono anni che sviluppo e mantengo liste Adblock e leggo report su report di questo tipo (diciamo che posso vantare una certa esperienza in merito). Ne ho parlato, ne ho scritto (e lo faccio tutt’ora), sfortunatamente però le vittime non accennano a diminuire. Bisogna fare attenzione ragazzi, molta attenzione. Quando installate software gratuiti che promettono di farvi conquistare il mondo a colpi di clic spesso non fate caso a quelle piccole caselle spuntate dove si dice “Accetti di installare anche il componente Ti Metto Pubblicità Ovunque” o cose simili, non le togliete, andate avanti fino alla fine ed ecco servito il problema per il quale poi correre a lamentarsi (è un po’ come mettere volutamente le mani sul fuoco e poi piangere per essersi scottati).

C’è uno strumento utile che ho trovato per puro caso e che spero potrà essere tenuto aggiornato (anche grazie alla collaborazione degli utilizzatori, sia chiaro) per permetterci di essere sempre informati su estensioni potenzialmente dannose per la vostra installazione di Firefox, si chiama Extension Defender e lo trovate su extensiondefender.com.

screenshot-www extensiondefender com 2015-02-02 08-54-04

Sito web minimalista, un database ancora scarno (e in realtà è meglio, basta che non sia per colpa di chi deve mantenerlo), nomi e collegamenti diretti alle estensioni che non dovete installare perché contengono adware o simili. La parte relativa al database di Chrome è decisamente più nutrita e potete fare una nuova segnalazione in maniera decisamente più semplice rispetto a Firefox ma è comunque possibile farcela (un paio di passaggi in più, nulla di che). L’idea è sicuramente valida, la risorsa può e dovrebbe fungere da gateway per la consapevolezza dell’utilizzatore affinché non faccia un errore banale e assolutamente evitabile. Utile anche per capire -una volta diventati vittime- come tirarsi fuori dai guai in autonomia.

Esistono alternative valide che voi sappiate? Se si, non esitate a parlarne nei commenti ;-)

Gli utilizzatori di X Files e degli altri due moduli NoFacebookAds (NFA) e Harmful WebSites (HWS) diventano ogni giorno sempre più. Complice (fuori di dubbio) la sempre più forte necessità di non essere assaliti da pubblicità che troppo spesso prendono il posto dei contenuti o interi siti web compromessi che vanno così a mettere a rischio l’incolumità della propria postazione di lavoro, il mio “lavoro” diventa così sempre più delicato, bisogna fare attenzione ad ogni minimo dettaglio e cercare di pensare che qualsiasi modifica non andrà ad impattare solo le mie macchine ma anche quelle di centinaia di altre persone in giro per il globo. Si spiegano così le mie risposte (via mail o ai ticket aperti o ancora nei report segnalati sul sito ufficiale dell’estensione) ad alcune richieste troppo specifiche e troppo poco condivisibili, non ve la prendete!

Vi siete però mai chiesti come nascono davvero X Files e Harmful WebSites? Contrariamente a NoFacebookAds che contiene solo poche righe specifiche per il noto social network sulla quale mi basta quindi mettere mano “a cuore aperto“, entrambe le altre liste vengono rese pubblicamente accessibili tramite gli URL di sottoscrizione che tutti utilizzano solo in un “secondo momento“. I filtri vengono scritti o raccolti, verificati, quindi esportati e poi lavorati da uno script in VBScript. Voglio condividere con voi questo lavoro, non si sa mai, potrebbero spuntare fuori nuove idee, correzioni o miglioramenti :-)

Harmful WebSites

E’ quella più semplice. Harmful WebSites nasce infatti dalla ben più corposa e collaborativa lista messa a disposizione da MalwareDomainList come vi avevo spiegato in un precedente articolo e va solo lavorata in quanto scaricabile ma non compatibile nativamente con Adblock. Parte tutto da questo file: malwaredomainlist.com/hostslist/hosts.txt, nel quale però dovranno sparire i 127.0.0.1 e le informazioni di testa. Questo perché si tratta di una lista da sostituire o integrare al file hosts di Windows, non studiata per un’estensione di un browser, non per il momento almeno ;-)

Ecco quindi che ho fatto intervenire “qualche” riga di codice VBScript che possa fare questo lavoro in completa autonomia (previo doppio clic ovviamente), da qui in poi l’articolo prende una piega più tecnica, forse meno adatta ai semplici curiosi.

' ABP X FILES HWS Maker 0.2
' GSolone - Ultima modifica: 20130808 rev3
'
' Lo script scarica la lista filtri più aggiornata disponibile su MalwareDomainList.com e la modifica per renderla integrabile all'interno di una lista filtri standard per Adblock Plus e compatibili, a prescindere dal browser utilizzato.
'
' STORICO MODIFICHE
' 0.2- modificato l'URL di riferimento della distribuzione lista, si comincia a lavorare su noads.it
' 0.1 rev3- corretto il problema dell'ultima linea con il solo "##HTML *" che bloccava la navigazione su ogni sito web. Rimangono due righe vuote a termine file ma non è un problema. Corretto un problema di formattazione nel titolo della lista.
'
' Sviluppo:     Giovanni F. -Gioxx- Solone (dev@gfsolone.com)
' Testato su:    Windows 7 Pro Sp1
'
' LISTA HOST UTILIZZATA
HTTPDownload "http://www.malwaredomainlist.com/hostslist/hosts.txt"

' Non toccare nulla oltre questa riga!
' DO NOT touch anything below this line!

 Sub HTTPDownload(myURL)
     ' Variables and constants definition
     Dim i, objFile, objFSO, objHTTP, strFile, strMsg
     Dim objWMIService, objProcess, colProcess     
     Const ForReading = 1, ForWriting = 2, ForAppending = 8
     
    ' Date and time
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
    For Each objItem in colItems
        dtmLocalTime = objItem.LocalDateTime
        dtmMonth = Mid(dtmLocalTime, 5, 2)
        dtmDay = Mid(dtmLocalTime, 7, 2)
        dtmYear = Left(dtmLocalTime, 4)
        dtmHour = Mid(dtmLocalTime, 9, 2)
        dtmMinutes = Mid(dtmLocalTime, 11, 2)
        dtmSeconds = Mid(dtmLocalTime, 13, 2)
    Next
    update = dtmYear & dtmMonth & dtmDay & dtmHour & dtmMinutes
    lastmodified = dtmDay & "-" & dtmMonth & "-" & dtmYear
    ' debug Wscript.Echo update
     
     ' Create a File System Object
     Set objFSO = CreateObject( "Scripting.FileSystemObject" )

     ' Check if the specified target file or folder exists, and build the fully qualified path of the target file
     Set objShell = CreateObject("Wscript.Shell")
     Set objProcess = objShell.Environment("Process")
     Set WshShell = WScript.CreateObject("Wscript.Shell")
     strApplicationData = WshShell.ExpandEnvironmentStrings("%TEMP%") 
     'strFile = strApplicationData + "\hws_xfiles.txt"
     strFile = "C:\Dropbox\Public\abpxfiles\siteblock.txt"

     ' Create an HTTP object
     Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )

     ' Download from the specified URL
     objHTTP.Open "GET", myURL, False
     objHTTP.Send
     
     if LenB( objHTTP.ResponseBody ) < 500 Then
     MsgBox "Errore durante il download della lista host ..." & chr(13) & "Lista non trovata o sito web momentaneamente non funzionante." & chr(13) & "Lista non creata"
     Exit Sub
     End If
     
     ' Create or open the target file
     Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True )

     ' Write the downloaded byte stream to the target file
     For i = 1 To LenB( objHTTP.ResponseBody )
         objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )
     Next

     ' Close the target file
     objFile.Close()
     
    ' Remove line 1 to 6, header of MalwareDomainList.com Hosts List
     For i = 1 To 6
        DeleteLine strFile, "", 1, 0
     Next
     
    ' Find and remove 127.0.0.1 from each line
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(strFile, ForReading)
    strText = objFile.ReadAll
    objFile.Close
    strNewText = Replace(strText, "127.0.0.1  ", "")
    
    Set objFile = objFSO.OpenTextFile(strFile, ForWriting)
    objFile.WriteLine strNewText
    objFile.Close
    
    ' Remove empty lines at the end of file!
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(strFile, ForReading)
    Do Until objFile.AtEndOfStream
    strLine = objFile.Readline
    strLine = Trim(strLine)
    If Len(strLine) > 0 Then
        strNewContents = strNewContents & strLine & vbCrLf
    End If
    Loop
    objFile.Close
    Set objFile = objFSO.OpenTextFile(strFile, ForWriting)
    objFile.Write strNewContents
    objFile.Close
    
    ' Append "##HTML *" for each line
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(strFile, ForReading, True)
    Set tmpFile= objFSO.OpenTextFile(strFile & ".tmp", ForWriting, True)
    Do While Not objFile.AtEndofStream
        url = objFile.ReadLine
        url = url & "##HTML *"
        tmpFile.WriteLine url
    Loop
    objFile.Close
    tmpFile.Close
    objFSO.DeleteFile(strFile)
    objFSO.MoveFile strFile&".tmp", strFile
    
    ' Add list header (ABP X Files HWS)
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile(strFile, ForReading)
    strContents = objFile.ReadAll
    objFile.Close

    strFirstLine = "[Adblock Plus 2.0]" & vbCrLf & "! Version: " & update & vbCrLf & "! Title: X Files: HWS Harmful WebSites" & vbCrLf & "! Harmful WebSites blocca siti web potenzialmente dannosi per la vostra navigazione" & vbCrLf & "! Last modified: " & lastmodified & vbCrLf & "! Expires: 3 days" & vbCrLf & "! Homepage: http://noads.it" & vbCrLf & "! Home: http://noads.it" & vbCrLf & "! Blog: http://gioxx.org/tag/x-files" & vbCrLf & "! "
    strNewContents = strFirstLine & vbCrLf & strContents

    Set objFile = objFSO.OpenTextFile(strFile, ForWriting)
    objFile.WriteLine strNewContents
    objFile.Close
     
    ' Open the file (verification process)
    CreateObject("WScript.Shell").Run strFile

 End Sub
 
Sub Run(ByVal sFile)
    ' Variables definition
    Dim shell

    Set shell = CreateObject( "WScript.Shell" )
    shell.Run Chr(34) & sFile & Chr(34), 1, false
    Set shell = Nothing
End Sub

Sub DeleteLine(strFile, strKey, LineNumber, CheckCase)
    'Use strFile = "c:\file.txt"   (Full path to text file)
    'Use strKey = "John Doe"       (Lines containing this text string to be deleted)
    'Use strKey = ""               (To not use keyword search)
    'Use LineNumber = "1"          (Enter specific line number to delete)
    'Use LineNumber = "0"          (To ignore line numbers)
    'Use CheckCase = "1"           (For case sensitive search )
    'Use CheckCase = "0"           (To ignore upper/lower case characters)
    Const ForReading=1:Const ForWriting=2
    Dim objFSO,objFile,Count,strLine,strLineCase,strNewFile
    Set objFSO=CreateObject("Scripting.FileSystemObject")
    Set objFile=objFSO.OpenTextFile(strFile,ForReading)
    Do Until objFile.AtEndOfStream
       strLine=objFile.Readline
       If CheckCase=0 then strLineCase=ucase(strLine):strKey=ucase(strKey)
       If LineNumber=objFile.Line-1 or LineNumber=0 then
          If instr(strLine,strKey) or instr(strLineCase,strkey) or strKey="" then
             strNewFile=strNewFile
          Else
             strNewFile=strNewFile&strLine&vbcrlf
          End If
       Else
          strNewFile=strNewFile&strLine&vbcrlf
       End If
    Loop
    objFile.Close
    Set objFSO=CreateObject("Scripting.FileSystemObject")
    Set objFile=objFSO.OpenTextFile(strFile,ForWriting) 
    objFile.Write strNewFile 
    objFile.Close 
 End Sub

Righe di debug sparse un po’ ovunque, sicuramente una marea di errori dovuti alla mia inesperienza e auto-formazione sulla programmazione in VBScript e (quasi certamente) molteplici modi di farlo con la metà delle righe di codice, eppure lo script che vedete qui di sopra si occupa ad oggi di scaricare la lista filtri da MalwareDomainList, rimuovere tutta la prima parte di informazioni, pulire ogni riga dal suo 127.0.0.1 e inserire i dettagli di aggiornamento, scadenza e non solo, quindi caricare nella cartella pubblica del mio Dropbox la nuova versione della lista finalmente compatibile che tutti voi potrete scaricare (o lasciar scaricare a Adblock) senza il minimo sforzo :-)

Giusto per farvi sentire un pelo più sicuri: alla fine del procedimento un “CreateObject(“WScript.Shell”).Run strFile” avvierà Notepad++ sul mio PC per verificare che tutto sia a posto e che non vi stia dando in pasto un file non corretto!

Inutile dire che avendo dichiarato delle cartelle ben precise al suo interno, se voleste riutilizzare questo script per qualche vostro particolare interesse dovrete fare attenzione e andare a modificare quelle righe per evitare di mandarlo in errore e non ottenere alcun risultato ;-)

Per evitare che ogni nuova modifica vada nel dimenticatoio e non venga aggiornata in questo articolo ho voluto pubblicare lo storico delle modifiche sul Wiki: public.gfsolone.com/wiki/doku.php?id=mozilla:abpxfiles:vbs:hwsmaker, dove aggiornerò la pagina con eventuali nuove versioni o note sull’attuale.

X Files

Una parziale modifica e semplificazione dello script sopra mostrato, questo si occupa solo di sostituire il file dei filtri pubblico (che voi tutti scaricate e utilizzate) con quello estratto dalla mia configurazione principale, quindi da una qualsiasi delle mie postazioni Windows con Firefox e Adblock Plus a bordo. Quando viene corretto un errore o aggiunto un filtro particolarmente importante o molto richiesto (spesso ho a che fare con le continue nuove pubblicità nei video Youtube o nei siti web delle testate giornalistiche più conosciute) arriva il momento di “testare, esportare e pubblicare“. Scrivo quindi i filtri necessari (o correggo gli errori), esporto la lista completa dal mio Firefox salvandola come “filtri.txt” sul mio Desktop e lascio fare il lavoro di fino a questo codice:

' ABP X FILES Stable Maker 0.2
' GSolone - Ultima modifica: 24122013-1326 rev0
'
' Lo script modifica la lista filtri esportata dall'Adblock Plus di Staging e la modifica per inserire le informazioni di rilascio, quindi la copia all'interno della cartella pubblica di Dropbox dove tutti i client puntano per l'aggiornamento.
'
' STORICO MODIFICHE
' 0.2 rev0- corregge il bug sullo sdoppiamento dei contenuti (Remove Empty Lines usava una variabile già piena e replicava ogni riga)
' 0.1 rev0- stadio iniziale di sviluppo.
'
' Sviluppo:     Giovanni F. -Gioxx- Solone (dev@gfsolone.com)
' Testato su:    Windows 7 Pro Sp1
'
' Non toccare nulla oltre questa riga!
' DO NOT touch anything below this line!

' Variables and constants definition
Dim i, objFile, objFSO, strFile, strMsg
Dim objWMIService, objProcess, colProcess     
Const ForReading = 1, ForWriting = 2, ForAppending = 8

' Date and time
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objItem in colItems
    dtmLocalTime = objItem.LocalDateTime
    dtmMonth = Mid(dtmLocalTime, 5, 2)
    dtmDay = Mid(dtmLocalTime, 7, 2)
    dtmYear = Left(dtmLocalTime, 4)
    dtmHour = Mid(dtmLocalTime, 9, 2)
    dtmMinutes = Mid(dtmLocalTime, 11, 2)
    dtmSeconds = Mid(dtmLocalTime, 13, 2)
Next
update = dtmYear & dtmMonth & dtmDay & dtmHour & dtmMinutes
lastmodified = dtmDay & "-" & dtmMonth & "-" & dtmYear
' DEBUG: show $datetime
'Wscript.Echo update

' Expand Environment
' Create const's to spare time and place
Dim WshS
Set WshS = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
usrProfile = WshS.ExpandEnvironmentStrings("%UserProfile%")
strFile = usrProfile & "\Desktop\filtri.txt"
' DEBUG: Message to prove my string contains the path to my profile
'cartellaProfilo = usrProfile
'Msgbox strFile, 0, "Percorso lista"

' Staging filtri.txt is on my Desktop?
If objFSO.FileExists(strFile) Then
Else
   MsgBox "Non ho trovato il file filtri.txt sul Desktop. Lo hai esportato da Firefox?",16,""
   Wscript.Quit
End If

' Remove line 1 to 2, default header of Adblock Plus export
 For i = 1 To 2
    DeleteLine strFile, "", 1, 0
 Next

' Add list header (ABP X Files Stable)
Set objFile = objFSO.OpenTextFile(strFile, ForReading)
strContents = objFile.ReadAll
objFile.Close

strFirstLine = "[Adblock Plus 2.0]" & vbCrLf & "! Version: " & update & vbCrLf & "! Title: ABP X Files" & vbCrLf & "! X Files migliora la tua navigazione quotidiana!" & vbCrLf & "! Last modified: " & lastmodified & vbCrLf & "! Expires: 3 days" & vbCrLf & "! Homepage: http://noads.it" & vbCrLf & "! Home: http://noads.it" & vbCrLf & "! Blog: http://gioxx.org/tag/x-files" & vbCrLf & "! "

strNewContents = strFirstLine & vbCrLf & strContents
Set objFile = objFSO.OpenTextFile(strFile, ForWriting)
'objFile.WriteLine strNewContents
objFile.Write strNewContents
objFile.Close

' Remove empty lines at the end of file!
Set objFile = objFSO.OpenTextFile(strFile, ForReading)
Do Until objFile.AtEndOfStream
    strLine = objFile.Readline
    strLine = Trim(strLine)
    If Len(strLine) > 0 Then
        strCleaned = strCleaned & strLine & vbCrLf
    End If
Loop
objFile.Close
Set objFile = objFSO.OpenTextFile(strFile, ForWriting)
objFile.Write strCleaned
objFile.Close

' Move updated X Files to Dropbox (and overwrite old file)
' (from %UserProfile%\Desktop\filtri.txt to C:\Dropbox\Public\abpxfiles\filtri.txt)
' DEBUG su folder temporanea
'strDropbox = "C:\Dropbox\Public\abpxfiles_debug\"
strDropbox = "C:\Dropbox\Public\abpxfiles\"
If objFSO.FileExists(strFile) Then
   objFSO.CopyFile strFile, strDropbox, True
Else
   MsgBox "Non sono riuscito a muovere il file dei filtri. Verifica che i puntamenti siano corretti",48,""
End If

' Open the file (verification process) and delete "Staging X Files"
' DEBUG su file temporaneo
'strDropboxFile = "C:\Dropbox\Public\abpxfiles_debug\filtri.txt"
strDropboxFile = "C:\Dropbox\Public\abpxfiles\filtri.txt"
CreateObject("WScript.Shell").Run strDropboxFile
objFSO.DeleteFile strFile, True 

Sub Run(ByVal sFile)
    ' Variables definition
    Dim shell
    Set shell = CreateObject( "WScript.Shell" )
    shell.Run Chr(34) & sFile & Chr(34), 1, false
    Set shell = Nothing
End Sub

Sub DeleteLine(strFile, strKey, LineNumber, CheckCase)
    'Use strFile = "c:\file.txt"   (Full path to text file)
    'Use strKey = "John Doe"       (Lines containing this text string to be deleted)
    'Use strKey = ""               (To not use keyword search)
    'Use LineNumber = "1"          (Enter specific line number to delete)
    'Use LineNumber = "0"          (To ignore line numbers)
    'Use CheckCase = "1"           (For case sensitive search )
    'Use CheckCase = "0"           (To ignore upper/lower case characters)
    Const ForReading=1:Const ForWriting=2
    Dim objFSO,objFile,Count,strLine,strLineCase,strNewFile
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile=objFSO.OpenTextFile(strFile,ForReading)
    Do Until objFile.AtEndOfStream
       strLine=objFile.Readline
       If CheckCase=0 then strLineCase=ucase(strLine):strKey=ucase(strKey)
       If LineNumber=objFile.Line-1 or LineNumber=0 then
          If instr(strLine,strKey) or instr(strLineCase,strkey) or strKey="" then
             strNewFile=strNewFile
          Else
             strNewFile=strNewFile&strLine&vbcrlf
          End If
       Else
          strNewFile=strNewFile&strLine&vbcrlf
       End If
    Loop
    objFile.Close
    
    Set objFile=objFSO.OpenTextFile(strFile,ForWriting) 
    objFile.Write strNewFile 
    objFile.Close 
 End Sub

Lo script si occupa quindi di prendere la lista appena esportata, aggiungere le informazioni di rilascio necessarie e infine sostituire il vecchio file filtri con quello nuovo appena lavorato. Sarà così pronto e raggiungibile per qualsiasi browser tramite aggiornamento automatico o manuale (a voi la scelta). Anche in questo caso ci sono diverse righe di debug lasciate appositamente per le verifiche del caso e magari -ancora una volta- si poteva fare “meglio con meno“.

Anche in questo caso ho voluto pubblicare lo storico delle modifiche (ad oggi c’è solo questa versione) sul Wiki: public.gfsolone.com/wiki/doku.php?id=mozilla:abpxfiles:vbs:stablemaker.

Come sempre vi invito a utilizzare l’area commenti di questo articolo nel caso in cui vogliate segnalare qualche errore o possibile miglioramento di entrambi i lavori o più semplicemente mettervi in contatto con me e ragionare insieme su come far evolvere questi codici :-)

Enjoy!