Utente:Filnik/Vandal Bazooka

Vandalbazooka.png

Vandal Bazooka è un tool scritto in python da Filnik per il patrolling delle RC.

ATTENZIONE: Se intendi utilizzare quest'applicazione, mettiti questa pagina negli osservati speciali.

Funzionamento di BaseModifica

Questo Tool funziona in modo simile al Vandal Fighter ma a differenza di quest'ultimo:

  • Vandal Bazooka non è, graficamente, neanche paragonabile a Vandal Fighter che offre una GUI mentre Vandal Bazooka (al momento) offre solo una povera schermata DOS.
  • Il Vandal Fighter, però, vi obbliga a filtrare le modifiche "a mano" pertanto dovete perdere tempo a cliccare, rimettere in primo piano in VF, cliccare, ecc. Vandal Bazooka, invece, filtra direttamente lui le RC (per sapere che criteri usa, guarda/aspetta che venga creata, la sezione "Cervello")

In questo modo, basta lasciare che il Vandal Bazooka lavori in background aprendovi automaticamente le tab su Firefox mentre voi vi occupate solo di patrollare.

DownloadModifica

Dato che VB è scritto in python, per installarlo avrai bisogno:

  • Se il tuo sistema operativo è Windows, devi scaricare e installare python da qua (se è Linux o Mac OS potrebbe non essere necessario).
  • Devi scaricare il pacchetto col set di Vandal Bazooka:

SVNModifica

Da un po' di tempo è stato implementato l'utilizzo di Subversion (colloquialmente noto come SVN) per poter aggiornare con più facilità vandalbazooka e per poter così lavorare in più utenti allo stesso progetto. Allo stesso tempo, gli utenti possono anche scaricare l'ultimissima versione disponibile di vandalbazooka per essere sempre aggiornati ;-) Ecco il comando per scaricare i dati:

svn co http://vandalbazooka.svn.sourceforge.net/viewvc/vandalbazooka vandalbazooka

Se volete usare il bazookabot, ho scritto una documentazione temporanea qua: Utente:Filnik/Vandal Bazooka/Documentation.

Configurare correttamente FirefoxModifica

Prima di tutto bisogna modificare Firefox per aprire le tab in modo silenzioso ovvero senza mettere ogni volta in primo piano la nuova tab che viene apperta dal tool. Attenzione: Facendo ciò, questa modifica varrà per tutto. Difatti, se proverete successivamente ad usare Vandal Fighter potrete aprire le tab e poi andare nel browser.

Per fare ciò:

  • Apri firefox e nel campo dell'url (dovre viene fuori per es. http://www.google.com) digitare about:config (e basta!)
  • Nel campo Filter (poco sotto il campo dell'url) digitate tab e date invio
  • Cercate la riga browser.tabs.loadDivertedinBackground e mettetela su True (basta un doppio click del tasto sinistro del mouse).

ConfigurazioneModifica

Per configurare il tool, cliccate sul file stub_gui.py, rispondete correttamente alle domande e il programma vi chiederà se volete iniziare. Una volta configurato (ovvero, dopo aver messo Nome, progetto, ecc.) potete anche utilizzare direttamente brain.py (che è il file principale).

Se avete Linux ed avete qualche problema, provate a dare un'occhiata agli appunti di CNetwork.

Specifiche tecnicheModifica

Il set è composto da tre file:

  • config.py: E' il file di configurazione e lo puoi aprire con Wordpad (o la IDLE di python) per evitare di vedere il file con caratteri strani e tutto sballato. Una volta aperto, troverai varie voci, alcune a prima vista "Aliene". Iniziamo quindi con quelle più importanti:
  • nick = 'NOMEBOT': Questo parametro è settato già di default correttamente ed è abbastanza importante, per leggere le ultime modifiche, Vandal Bazooka si connette con un client IRC a #it.wikipedia per ricevere le modifiche in tempo reale e senza affaticare i server (scaricare ogni 5 secondi la pagina su wikipedia, potrebbe portare a rallentamenti, soprattutto se il tool è utilizzato da più persone). Perciò, basta che inserisci un nick (anche il tuo va bene) per riconoscere il Bot nelle IRC.
  • user = 'TUONOME' : Questo parametro indica il tuo nome, in pratica serve per metterti in whitelist anche se magari non c'eri già. Torna decisamente utile essere in whitelist se pensi che altrimenti ad ogni pagina che crei il tool potrebbe aprirtela per fartela controllare (cmq, se patrolli, in teoria non dovresti avere problemi comunque ;-) )
  • whitelist = ['1', '2', 'ecc.'] : Questa è la whitelist, se vuoi inserire qualche utente che sai per certo (o quasi :-D) che non fa/farà vandalismi, questo è il posto giusto :-) In pratica, non li vedrai se creano nuove pagine o se editano "zone sensibili" (tipo, Collegamenti esterni). Al 90% non cambierà comunque molto eccetto che non si mettano a creare pagine più velocemente di un Bot. N. B.: Dalla versione 1.05 è stata attivata una whitelist automatica che carica i nomi dei Bot e dei Sysop per non mettere nomi "ovviamente" da whitelist (se proprio vuoi vedere tutti gli edit di tale gentaglia, mettili in badlist o disabilita la whitelist automatica).
  • autowhitelist = True: Con True, il tool carica la whitelist automatica una volta al mese (guarda sopra per sapere cos'è), con False invece non la carica. (in futuro, forse, sarà possibile selezionare la frequenza di aggiornamento). Trucco: se vuoi aggiornare la whitelist in un dato momento, cancella semplicemente il file tool.data
  • blacklist = ['1', '2', ecc.]: Uguale alla whitelist, solo che se metti un utente qui vedrai ogni suo edit, indipendentemente da quale faccia. TODO: Implementare una regex per riconoscere vandali certi (N.B. Per bloccarli sul nascere è meglio segnalarli appropriamente per aggiungerli alla Badword list del Bot che da i benvenuti, per info chiedere a Filnik).
  • manual = True Al momento il tool è molto embrionale e se le RC sono bollenti avrete un macello di tab aperte ogni tre secondi. Questo parametro dovrebbe aiutare, in pratica carica tutte le pagine contenute del log che va a caricare, appena le ha finite non riparte ma si blocca e chiede se può. Scrivere 'y' per continuare. Se il valore è False, il tool ripartirà in automatico senza chiedere niente (utile, se le RC sono abbastanza lente).
  • brain = True Il tool "pensa", o meglio, ci prova :-) Secondo un algoritmo predefinito cerca di capire se è il caso di aprire una certa finestra o meno. Come fa? Guardatevi il codice :P Per i meno curiosi usa principalmente if statement (se c'è questonel nickname, fa questo, altrimenti l'altro). Se mettete True il tool penserà per voi altrimenti vi passerà tutte le modifiche una per una da controllare (printerà a video i dati e voi con y o n dovete decidere se vi vanno bene o meno). CONSIGLIO: Usatelo, serve davvero :-)
  • manyedit = 600 Definite dopo quanti byte vi pare che la modifica sia il caso di visionarla, anche se l'utente è registrato (N.B. Se l'utente è in whitelist, non visionerete nulla ;-))
  • freepages = ['1', '2', 'ecc.'] Questa è la whitelist "delle pagine", ovvero, se un utente edita per esempio nella sandbox, anche se è un IP, non vedo perché dobbiate controllare, no? :-)
  • watchpages = ['1', '2', 'ecc.']: Invece, se vi editano la pagina utente volete vedere, vero? :-) Questa lista è in pratica la badword delle pagine (invece che degli utenti) ;-)
  • Ci sono anche altri parametri ma non mi pare così fondamentale che sappiate che significhino (tanto, si dovrebbe capire.. :D) quindi passiamo oltre ;-)
  • irc.py è il client IRC che legge le RC e le salva in un file .txt, niente di ché ;-)
  • brain.py è il file che fa la maggior parte del lavoro, c'è il "cervello", la funzione per caricare la whitelist automatica e la funzione per "pulire" il log di irc.py per capire se una modifica va bene o meno.

BugModifica

N.B.: Se ad un certo punto vi si chiude il programma in modo inaspettato, vuol dire che avete trovato un bug! Come fate a notificarmi il problema?

  • Windows: Cliccate su start, esegui e digitate "cmd". Fatto ciò, trascinate l'icona del programma nella schermata DOS e date INVIO. Ad un certo punto vi si potrebbe bloccare dando un errore. Selezionate la schermata DOS, pulsante destro, seleziona tutto e mettere il tutto nella mia talk.
  • Linux: Aprite il terminale, con cd spostatevi fino a trovare la directory con brain.py e date python brain.py. Se non avete già settato tutto, date invece python stub_gui.py. Se trovate un errore, copiatelo (tasto destro del mouse, copia) e mandatemi una mail (o mandatemi un mex, fate vobis).
  • Mac OS: Apri /Applications/Utilities/Terminal.app, vai nella directory dove c'è VandalBazooka, fai python brain.py e copiate l'errore. Mandatemi quindi un'email col vostro nome e l'errore (o mandatemi un mex, fate vobis).

RingraziamentiModifica

  • Alleborgo: Grandissimo aiuto in generale, grazie di tutto! :-)
  • Fede Reghe: Rivelazioni sui canali IRC da usare.
  • Claudio Sanna: Il mio Beta-Tester di fiducia.
  • Wim_b: Secondo Beta-Tester.
  • Yuma: Bug-reporter.
  • .anaconda: Bug-reporter (e consigliere di fiducia ^__^)
  • Tutti quelli che lo usano e mi mandano i bug trovati :-) Grazie a tutti!

[[Categoria:Strumenti di manutenzione|{{SUBPAGENAME}}]] [[Categoria:Vandalismo|{{SUBPAGENAME}}]]