[Perl] PHP-Fusion AutoPoster library

14 06 2009

Con questo modulo scritto in Perl e’ possibile postare su forum PHP-Fusion 6.x e 7.x.
La libreria e’ semplice da usare, basta richiamarla attraverso un vostro script in questo modo:

use PerlFusion;

A voi:

http://blacklight.gotdns.org/nopaste/1245005674 [Link1]

http://pastebin.com/f3ce809bb [Link2]

Esempio di login, post e logout:

PerlFusion->user_login("http://localhost/site", userid, "yourpass" );
PerlFusion->new_post("Programmi", "test", "Hi, I'm SiD\n'njoy ^^" );
PerlFusion->user_logout();

Esempio di login, nuovo topic e logout:

PerlFusion->user_login("http://localhost/site", userid, "yourpass" );
PerlFusion->new_topic("Presentazioni", "Hola!", "I'm better than a browser :) \n./SiD" );
PerlFusion->user_logout();

In pratica si viene loggati al portale e si puo’ postare sul forum (qui `regex rulez` ci sta XD), se avete problemi o qualunque cosa non esitate a commentare ^^





Freqs & Frequalyzer

23 04 2009

Frequalyzer è uno scriptino scritto in Perl che misura le frequenze di lettere e parole in un file di testo e restituisce tutti gli elementi valutati e le relative percentuali.
Più che altro lo script, per funzionare, è basato su una piccola libreria scritta da me ( Freqs ).
Per le frequenze di singole parole, compresi elementi come punti-virgole ecc, da linea di comando:
perl Frequalyzer.pl -s <file>
Per parole intere, quindi esclusi punti-virgole e via dicendo, Freqs valuta come separatori un qualsiasi spazio o segno di punteggiatura che sia.
perl Frequalyzer.pl -w <file>

http://blacklight.gotdns.org/cgi-bin/nopaste.pl?mode=view&id=1240505514 [Frequalyzer]
http://blacklight.gotdns.org/cgi-bin/nopaste.pl?mode=view&id=1240505547 [Freqs module]

Ora, avendo per esempio un file chiamato “current.txt” con all’interno un testo

To be or not to be, that is the question

vediamo le frequenze delle parole, con l’opzione -w current.txt

Newlines: NONE
Spaces:   9

the => 1 ( 0.1% )
that => 1 ( 0.1% )
not => 1 ( 0.1% )
is => 1 ( 0.1% )
question => 1 ( 0.1% )
to => 1 ( 0.1% )
or => 1 ( 0.1% )
be => 2 ( 0.2% )
To => 1 ( 0.1% )

Most used: be (2 time)

Come noterete è case sensitive e restuituisce anche il totale degli spazi, degli a capo e degli elementi più usati :P
Dimenticavo, passando come terzo argomento un carattere, se quel carattere è presente in una linea durante l’analisi del file, tutte le parole e/o lettere di quella linea verranno scartate ^^





Python & Pygame: SpinPong

19 03 2009

SpinPong è il gioco del Pong scritto in Python con la libreria Pygame.
Per ora ho inserito un piccolo intro che funge da menu con una musichetta, mentre per quanto riguarda il gioco vero e proprio si gioca contro il PC (battibile, anche se per ora l’AI non è il massimo :P ) e per vincere bisogna almeno totalizzare 80 punti ed averne di più del PC.
Premendo il tasto S durante il gioco la pallina si muove più velocemente, se rilasciate tornerà alla velocità normale…

Screen:

SpinPong v0.1

Sources, pacchetto etc. su SF
http://sourceforge.net/projects/spinpong/

Ah ovviamente dovete avere la libreria Pygame installata; funziona tranquillamente anche su Windows, l’unica cosa che ho notato è che il gioco è un po’ più lento nell’esecuzione :S
A voi (commenti, consigli e giudizi ben accetti).





[Bash] /etc/sudoers: sudoers fixer

23 02 2009

bash

Scriptino in Bash, scritto alla veloce, per fixare il file /etc/sudoers su Linux, nel caso di errore come:


USER is not in the sudoers file. This incident will be reported.

Basta avviarlo come root (“su”) e passargli da CLI il nome utente a cui assegnarei privilegi (per il comando sudo, ovvio :O).
bash sudoers.sh <user>

Codice (salvarlo in un file sudoers.sh):

SOURCE





SilpCMS (Perl+CGI)

15 02 2009

SilpCMS è un CMS scritto in Perl+CGI (sì, sono fissato con il Perl :O) per la pubblicazione di articoli.
Si può editare la Home, la pagina About ed inserire news/articoli dal pannello dell’admin. Direi che la grafica non è per niente stile WEB 2.0 :D

Per l’installazione non bisogna far altro che editare il file config.pl con i propri dati e dare i permessi (lettura-scrittura in generale) alla cartella “db” e agli script.
Ovviamente il server in questione deve supportare il Perl (in poche parole bisogna avere l’interprete Perl per Apache, vedi mod_perl) ^^

Qualche screen:
http://xs.to/xs.php?h=xs136&d=09076&f=silpcms864.png

http://xs.to/xs.php?h=xs136&d=09076&f=silpcms2942.png

Sono più file .cgi e cartelle, quindi posto il link al pacchetto (prima release) ^^
QUI

Versione 0.2

Come consigliato, ho inserito delle smileys con la possibilità di usarle per ogni post (basta selezionare il checkbox), ho modificato il file di configurazione con un exit, ho modificato il database (ora su .txt) e ho inserito un file di configurazione per l’header del sito.
Per quest’ultima cosa, basta modificare le variabili nel file configuration.pl della cartella “site”, inserendo il codice html (sia per un eventuale logo, sia per la descrizione che apparirà in alto)

Mentre aspetto uno spazio su sourceforge, posto il link per il download :P
HERE

Per qualsiasi consiglio, critica, suggerimento o bug postate pure XD





[Perl] URL Bruter

19 12 2008

URL Bruter

URL Bruter

Ecco un piccolo script codato in occasione di un contest.
Praticamente è una sorta di brute force per trovare quanti più file possibile all’interno di un sito, tramite attacco di forza bruta automatico o via dizionario con i possibili file etc…

Si passano gli argomenti da linea di comando, che sono:
.host
.auto-brute (per es. lettere da a-z) e/o brute via dizionario
.directory dove cercare i file
.user-agent

Ecco il source:
Here

…e fatene buon uso ;)





Mandelbrot Set Fractal (Insieme di Mandelbrot)

23 11 2008

Ultimamente mi sono appassionato ai frattali, così ho scritto questo programma in Perl + GUI che genera l’insieme di Mandelbrot (Mandelbrot Set).

Si può scegliere il colore dello sfondo del frattale generato (nero o rosso), se generare il frattale in verticale o meno, l’immagine in uscita (un file .ppm), larghezza, altezza e precisione.
Ovviamente per immagini di grosse dimensioni (già da 400 pixel in su ^^) e con una certa precisione ci vuole molto (tanto) tempo, ma il frattale è stupendo  :)

Source:

Mandelbrot Set Fractal – Prima versione

Ecco alcune immagini (del programmino e del frattale generato):

mandelbrot

Modificando leggermente l’algoritmo di Mandelbrot, vengono fuori frattali ancor più stupendi, ovvero si hanno dei frattali che si ripetono uguali a sè stessi più volte.
Così ho aggiunto la scelta di quanti “set” generare, da 1 a 12 (di più sarebbe davvero lentissimo, ci metterebbe ore su ore.. specialmente, come già detto, per alte risoluzioni e se si imposta un “set” elevato ^^).

Mandelbrot Set Fractal - Nuova versione

Esempio (in questo caso ho impostato 4 “set”):

mandelbrot3





Implementazione di __eregi (simile)

18 11 2008

ereg

Ho implementato una specie di _ereg(i) del PHP in Perl.

Praticamente il programma controlla se in un testo è presente una determinata stringa; inoltre, se alla variabile $caps è assegnato il valore di True, il testo sarà convertito in lettere minuscole e si cercherà normalmente se la stringa compare nel testo :)

Ecco il source:

http://blacklight.gotdns.org/cgi-bin/nopaste.pl?mode=view&id=1227022992





str_replace [Perl]

5 11 2008

In occasione di una sfida, ho implementato la funzione (str)_replace, che sostituisce una parola presente in una stringa con un’altra nuova.

Per esempio nel PHP -> http://it2.php.net/str_replace

Beh, io ho riscritto questa funzione in Perl ^^

-> HERE <-





Perl ~ Sniper IRC Bot

24 10 2008

Bot per IRC scritto in Perl, abbastanza basilare ma utile se volete lasciare un OP fisso nel vostro chan ^^

Funzioni e comandi:

. Risposta a saluto.
. Risposta a risate fatte da altri (LOL, asd, xD ecc..) con una risata casuale.
. Kick (solo se la variabile $kick_status è settata ad 1, altrimenti non kicka) a chi bestemmia o a chi dice qualche parolaccia.
. Risposta quando riceve il nome di qualche linguaggio di programmazione o la parola “programmazione”.
. Risposta quando riceve Microsoft o Bill Gates.
. Inviando !versione il bot risponde indicando la versione del bot stesso.
. Ricerca su Milw0rm di un hash. Inviare in privato al bot il seguente comando: !milw0rm (hash)
Esempio: !milw0rm 0800fc577294c34e0b28ad2839435945
. AutoJoin automatico al chan se il bot viene kickato (solo se la variabile $autojoin è settata ad 1, altrimenti non rientra).
. Inviando in privato !op (nick_per_op) (password_bot) dà l’op ad un utente, invece !deop (nick_per_deop)   (password_bot) lo toglie.
. Inviando in privato !esci (nome_bot – Sn1p3r_default) (password_bot) si disconnette.
. Risposta al PING.
. Log di quello che accade nel chan.

Source:
Here

Consiglio a tutti di cambiare la password del bot (variabile $psw) :D