Scan’Mail : un générateur de QR code intégré à Thunderbird
J'ai dernièrement profité de mes temps libres pour développer un module pour le client de messagerie Mozilla Thunderbird, j'ai nommé celui-ci Scan'Mail. Il permet d'un simple clique droit sur une adresse email, un lien, une image ou une sélection de texte de générer un QR code que vous pourrez scanner à l'aide de votre smartphone (iPhone, Android ou autre) pour récupérer ses informations. C'est un moyen rapide et original de copier des données contenues dans vos emails sans risquer une erreur de retranscription.
J'ai pris beaucoup de plaisir à coder ce petit greffon même si j'ai trouvé la documentation en ligne peu conviviale et parfois incomplète. Je compte améliorer ce premier plugin en ajoutant, dans la prochaine version, le support du format vCard pour pouvoir transférer des contacts.
Je invite à télécharger Scan'Mail via son espace dédié sur le site de Thunderbird et à me laisser vos commentaires :
https://addons.mozilla.org/fr/thunderbird/addon/scanmail/
[SysAdmin] Safe-iptables
Lorsqu'on est administrateur systèmes et réseaux spécialisé dans le logiciel libre, on bosse la majorité du temps sur des serveurs GNU/Linux ou BSD, ce qui implique une utilisation privilégiée de la console ainsi que du protocole SSH pour les accès distants.
L'un des risques que l'ont encoure est de perdre cet accès SSH suite à une fausse manipulation, plus particulièrement lors de l'ajout d'une règle de firewall.
Personnellement, je travaille essentiellement sur des serveurs localisés en Afrique du sud, une telle erreur serait donc dramatique car je perdrais mon unique voie d'accès. Pour éviter de me retrouver dans une telle situation, j'ai codé en Bash une petite commande pour adapter à iptables le mécanisme de confirmation qui existe sur Shorewall.
#!/bin/sh # Safe-iptables # Author : Nassim Kacha # License : GNU GPL2 # Date : 30/08/2010 # Exit codes # # O Normal execution # 1 Can't save previous firewalling rules # 2 Bad arguments # 3 Missing root privileges # 4 Changements aborted by user TIME=5 # Can be customized if [ -z $TMPDIR]; then TMPDIR='/tmp' fi TMPFILE=`/usr/bin/mktemp --tmpdir=$TMPDIR iptables_XXXXX` privilege_checking() { if [ $(id -u) -ne 0 ]; then echo "Sorry, you must run the command as root !" exit 3 fi } main() { read -n 1 -t $TIME -p "Are you sure ? [y/N]" key case "$key" in y|Y ) /bin/rm -f $TMPFILE echo -e "n+ Rule applied" exit 0;; n|N|'' ) /usr/sbin/iptables-restore > $TMPFILE /bin/rm -f $TMPFILE echo -e "n- Rule not applied" exit 4;; * ) echo '' main;; esac } ### Main ### privilege_checking /usr/sbin/iptables-save > $TMPFILE if [ $? -ne 0 ]; then echo "Error : not possible to save the previous firewall rules" exit 1 fi /usr/sbin/iptables $* if [ $? -eq 0 ]; then main fi exit 2
Cette commande fonctionne exactement de la même manière que la commande iptables à ceci près qu'elle vous demande une confirmation après avoir appliqué la nouvelle règle de pare-feu. Ainsi, si votre règle est mauvaise et qu'elle vous coupe votre liaison SSH, elle sera annulée après cinq seconde faute d'avoir pu confirmer la commande. Cela apporte donc une sécurité non négligeable lors de l'édition de vos règles de firewalling.
Je vous recommande d'enregistrer le code ci-dessus sous un fichier /usr/sbin/safe-iptables, de l'attribuer à l'utilisateur root et de lui donner les permissions 755. Il est aussi judicieux d'insérer un alias dans votre fichier .bashrc qui remplacerait la commande iptables par safe-iptables.
Je compte packager ce script en DEB et en RPM dès que possible. Pour finir, je vous encourage à reprendre et à améliorer ce script si vous avez des idées supplémentaires.
EDIT 04/09/2010 : Modification du script suite aux excellentes remarques de TixxDZ.
Twirc : Petit script pour « twitter » depuis IRC
Pour passer le temps je me suis amusé à coder un script Python qui permet publier automatiquement sur son profil Twitter les liens postés dans 'un salon IRC. Son utilité est donc fortement contestable mais je partage tout de même sa source... peut être que cela inspirera certains pour concevoir un script ayant une réelle utilité.
La source est consultable ici... attention, les expressions régulières utilisées sont très loin d'êtres optimales.
[Sécurité] Jouer aux jeux BigFish sans limitation
Quand il m'arrivait d'avoir des p'tits temps libres, je jouais aux jeux proposés par le site BigFish. Ces petits jeux étaient assez prennant mais limités à une heure gratuite de jeu seulement, au delà, il fallait faire sortir la carte bleue.
Par curiosité j'ai commencé à analyser avec différents outils le fonctionnement du système de restriction, notamment les accès à la base de registre et au disque dur.Finalement je me suis retrouvé à coder une petite application en Python qui permet de remettre à zéro la période d'essai des jeux.
Les divers tests que j'ai effectué sous Windows XP SP2 sont concluants, cela semble aussi fonctionner sous Vista et j'imagine que sous Seven il en va de même.
Les curieux peuvent essayer mon application en la téléchargeant depuis ce lien, il faudra penser à installer l'intérpréteur Python pour Windows (soit 14Mo à télécharger en supplément).
J'insiste sur le fait que mon application n'a qu'un but démonstratif, je n'autorise en aucun cas sa distribution, sa commercialisation ou son utilisation dans un but frauduleux. Si les jeux BigFish vous plaisent, achetez-les !


[WordPress] Code php pour afficher les derniers commentaires
Jour après jour je peaufine petit à petit mon nouveau blog, l'une des tâches qui me prend le plus de temps est la personnalisation de son interface.
Dernièrement j'ai voulu inclure, en bas de page, la liste des derniers commentaires. Malheureusement le template que j'utilise n'inclut pas cette option et le plugin par défaut fournit avec WordPress ne permet d'insérer la liste des derniers commentaires que dans la barre latérale du blog.
Ma première démarche a consisté à rechercher sur le net le bout de code PHP dont j'ai besoin, j'ai trouvé ce qui semble être le même code sur différents sites mais à chaque fois, celui-ci s'est avéré non fonctionnel. Au final, je me suis donc résolu à coder moi-même la fonction permettant d'obtenir les derniers commentaires, voici sa source :
Si vous avez des difficultés avec le copier/coller, vous pouvez télécharger le code source au format TXT depuis ce lien.
Vous devez ajouter le code ci-dessus à la fin du fichier functions.php du template de votre blog, il faut bien faire attention à le mettre après la balise ?> qui se trouve sur la dernière ligne.
Il ne vous reste plus qu'à appeler la fonction à l'endroit où vous désirez afficher la liste des derniers commentaires, comme ceci :
Notez que les paramètres de la fonction wp_recent_comments sont optionnels, par défaut, la fonction affiche les 5 derniers commentaires sur une longueur de 120 caractères.
N'hésitez pas à me communiquer vos remarques et suggestions. Merci !