giovedì 21 agosto 2014

Linux: conversione da WAV a MP3

Installiamo il software necessario

sudo apt-get install lame

Spostiamoci nella cartella contenente i file .wav da convertire e lanciamo il comando seguente:

for f in *.wav; do lame -V 1 "$f" "${f%.wav}.mp3"; done

php: visualizzare gli eventuali errori nell'esecuzione di una query mysql

Inserire la linea di codice seguente subito dopo la query da controllare:

echo mysql_errno() . ": " . mysql_error() . "\n";

venerdì 15 agosto 2014

Convertire tutte le immagini PNG di una cartella in formato JPG

mogrify -format jpg *.png

venerdì 18 luglio 2014

Aggiungere un timbro ad un PDF da linea di comando

Se abbiamo un documento (ad esempio documento.pdf) e un file pdf tutto traspartente a parte il timbro da applicare al documento (ad esempio timbro.pdf) possiamo lanciare il comando:

 pdftk documento.pdf stamp timbrp.pdf output documento_timbrato.pdf  

Otterremo un nuovo file (documento_timbrato.pdf) contenente il documento iniziale con sovrapposto il timbro)

lunedì 7 luglio 2014

Backup di un account imap con imapsync

Cominciamo installando il software necessario:

 apt-get install libdate-manip-perl libterm-readkey-perl libterm-readkey-perl libdigest-hmac-perl libdigest-hmac-perl libdate-manip-perl libmail-imapclient-perl  

e ancora:

 apt-get install makepasswd rcs perl-doc libmail-imapclient-perl make git-core git-doc git-svn git-gui gitk  

Scarichiamo i sorgenti dell'ultima versione di imapsync

 cd /tmp  
 git clone git://github.com/imapsync/imapsync.git  

Compiliamo i sorgenti:
 cd imapsync  
 make install  

Se ricevete degli errori causati dalla mancanza di alcune librerie Perl sul vostro sistema, provate a lanciare il comando seguente:

  perl -mMail::IMAPClient -mDigest::MD5 -mTerm::ReadKey -mIO::Socket::SSL \  
     -mDigest::HMAC_MD5 -mAuthen::NTLM -e -mTime::HiRes \  
     -mData::Uniqid -mURI::Escape -mFile::Copy::Recursive -mIO::Tee ""  

Se tutto va bene dovreste vedere qualcosa del genere:


A questo punto vi consiglio un'occhiatina alla man page di imapsync:

 man imapsync  

Per il mio test iniziale replica di un account imap tra 2 server Debian Wheezy con Dovecot Imap ho usato questo comando:
 imapsync --host1 alderan --host2 tatooine --user1 c3po --user2 r2d2 --tls1 --noauthmd5 --authmech1 CRAM-MD5 --authmech2 LOGIN  



lunedì 9 giugno 2014

Formattare il codice per blogspot

Per poter formattare il codice da inserire nel vostro blog Blogspot usate il formattatore online all'indirizzo

openssl: generare in casa certificati per VPN

Attenzione, a partire dalla release 5.15 RouterOS supporta il formato di chiavi pkcs8.
Se utilizzate una release precedente e volete importare le chiavi pkcs8 lanciate il comando:

 openssl rsa -in myKey.key -text  

poi copiate l´output in un file e lo uploadate sul vostro router.

Cominciamo preparando una coppia chiave/certificato per la nostra CA (Certificate Authority):

 openssl genrsa -des3 -out ca.key 4096  
 openssl req -new -x509 -days 3650 -key ca.key -out ca.crt  

Durante il processo dovrete inserire alcune voci (Common Name (CN), Organization, State or province .. etc). La coppia chiave/certificato generata avra' una validita' di 10 anni (3650 giorni).

Ora passiamo a generare una coppia chiave/certificato per il nostro server (ad esempio il router Mikrotik a cui ci vogliamo collegare in VPN)

 openssl genrsa -des3 -out server.key 4096  
 openssl req -new -key server.key -out server.csr  
 openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt  

Di nuovo, durante il processo dovrete inserire alcune voci.Al momento di inserire CN ricordate che deve essere diverso da quello del certificato della CA e da quello del client (che andremo a generare tra poco) per evitare collisioni nei nomi.

Attenzione: Il Common Name (CN) nel certificato del server dovrebbe corrispondere all'IP address del server altrimenti verra' generato un messaggio di warning al momento della connessione.
Se il client saranno solo macchine Windows il CN puo'tranquillamente essere un nome DNS.

La generazione del paio chiave/certificato per il client e'mlto simile a quella per il server, ricordatevi di usare un CN univoco.

 openssl genrsa -des3 -out client.key 4096  
 openssl req -new -key client.key -out client.csr  
 openssl x509 -req -days 3650 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt  

Per esaminare e verificare il certificato usate il comando seguente:

 openssl x509 -noout -text -in server.crt -purpose