IP sur tout, vraiment sur tout !
Je suis tombé cette semaine sur un article d’un blog qui montre qu’on peut faire de l’IP vraiment sur tout.
Cet article trouvé sur makezine explique comment avoir internet gratuitement dans les hôtels ou aéroports demandant un compte payant (et souvent assez cher).
La plupart de ces hotspot ont un firewall qui bloque le TCP, et redirige l’http vers la page d’authentification (c’est ce qu’on appelle un portail captif). Dans pas mal de cas (c’est le hic, il faut absolument que ce soit vrai) le firewall laisse passer les paquets ICMP (comme les pings) et/ou les requêtes DNS.
Dans ce cas-là, deux solutions possibles : IP over ICMP et IP over DNS. Ces deux solutions sont implantés dans les paquets nstx et icmptx et sont disponibles dans la plupart des distributions. Dans les deux cas, vous allez avoir besoin d’un serveur/proxy ICMP ou DNS, on peut peut-être trouver des proxy publics (si vous en trouvez ca m’intéresse en tout cas :p).
Les liens donc :
Télécharger les émissions de Canal+
Un script permettant de télécharger les émissions de Canal+ a été développé sur Ubuntu (jusqu’à preuve du contraire, je pense qu’il ne fonctionne pas sous Debian).

L’installation est très simple :
Il suffit de télécharger le script ici et d’installer les dépendances (wget et zenity).
Ensuite, il faut lancer le script avec l’option -c pour le configurer
L’explication complète est disponible ici.
Merci à Ras’ pour son travail
Irssi : un client IRC en ligne de commande
Irssi est un client IRC en ligne de commande. Il permet donc de pouvoir discuter sur des chans IRC, avec l’énorme avantage de pouvoir le faire sur un ordinateur n’ayant pas d’interface graphique (ou encore de pouvoir accéder à un client IRC par connexion ssh sans gros ralentissement).
Alors pour l’installation, irssi est disponible en paquet debian donc rien de très compliqué. Sinon, il est téléchargeable ici pour windows et doit être (à vérifier) disponible dans les dépots de la plupart des distributions Linux.
Alors une fois installé, il faut le configurer e modifiant le fichier .irssi/config dans votre home.
Dans ce fichier, tout d’abord une partie serveur, ou on peut ajouter des serveurs avec certaines options. Par exemple pour freenode :
{
address = “irc.freenode.net”;
chatnet = “Freenode”;
port = “6667″;
use_ssl = “no”;
ssl_verify = “no”;
autoconnect = “yes”;
nick = “Notre Nick”
autosendcmd = “/msg NickServ identify motdepasse”;
}
Ensuite une partie Chatnets ou il faut simplement définir le type de chat, par exemple :
Freenode = { type = “IRC”; };
Enfin, une liste de channels avec des options possibles :
{ name = “#ldap”; chatnet = “freenode” ; autojoin = “Yes”;}
Voila pour une configuration de base
Il suffit alors de lancer irssi et on obtient :

Enfin, quelques commandes IRC utiles :
/join CHANNEL : permet de rejoindre un chan
/quit : permet de quitter irssi
/part : permet de sortir du chan
Et enfin, CTRL + N et CTRL + P permettent de passer d’une fenêtre à l’autre dans irssi.
Quelques liens utiles :
* Le site officiel d’irssi : http://www.irssi.org/
* La liste des commandes IRC
* La page d’irssi sur le wiki de fedora
* La page d’irssi sur le wiki d’ubuntu
Bon chat !
Faire un Makefile en C
Le Makefile est un outil très pratique en C puisqu’il permet de compiler un programme en tapant une seule ligne de code. La seule difficulté c’est de comprendre la syntaxe un peu bizarre.
Le principe est simple : vous créez un fichier appelé Makefile dans le dossier de votre code source. Vous décrivez dedans quelles actions doivent être faites pour compiler. Vous pouvez ensuite taper seulement : make OBJECTIF pour compiler selon l’objectif donné.
‘make’ sans argument compilera selon le premier objectif donné dans le makefile.
Makefile simple (pas de dépendances) :
#choix du compilateur
CC = c99
#Options de compilation
CFLAGS = -Wall -pedantic
monnaie.o : monnaie.c
$(CC) $(CFLAGS) monnaie.c -o monnaie
Alors quelques explications, au début sont déclarés des variables CC et CFLAGS (respectivement commande et options du compilateur) qui seront par la suite utilisées en ( $(CC) pour appeler la variable CC …).
Ensuite, si on fait seulement make, il va exécuter ce qui est décrit dans le premier objectif (ici monnaie.o), en exécutant la commande décrite à la ligne suivante.
On décrit un objectif comme ceci :
objectif : dependance
commande
Ici, make lancera donc :
c99 -Wall -pedantic monnaie.c -o monnaie
un Makefile un peu plus corsé :
Mais on peut faire beaucoup plus de choses avec un Makefile.
Tout d’abord, on peut définir des listes d’objectifs. Par exemple :
TESTS = \
test_route \
test_listechainee \
test_tabrouteL \
test_tableau
On peut ainsi définir comme objectif :
tests: $(TESTS)
./test_route
./test_listechainee
./test_tabrouteL
./test_tableau
De cette façon, lorsqu’on lancera make tests, il compilera les programmes listés dans TESTS et les lancera.
Ensuite, on peut définir un objectif assez rapidement avec des raccourcis :
test_route: mini-purify-allocateur.o route.o test_route.o
${LD} ${LDFLAGS} -o $@ $^
LD et LDFLAGS sont l’éditeur de lien et ses options. $@ et $^ sont des raccourcis que reconnait le makefile. $@ renvoi vers le nom de l’objectif, $^ renvoi vers les dépendances. Ils permettent d’écrire le makefile beaucoup plus rapidement.
Ensuite quelques options utiles pour le makefile :
.PHONY: depend clean realclean all tests
Cette option permet d’exécuter les objectifs listés à la place des .o qui peuvent être dans les fichiers (par exemple make clean pourrait compiler clean.o au lieu d’exécuter l’objectif clean).
Quelques objectifs utiles :
clean:
-$(RM) *.o
-$(RM) gmon.out
-$(RM) *.bak core Makefile.bak Makefile~
-$(RM) $(EXE) $(TESTS) a.out
-${RM} *.c~ *.h~
realclean: clean
-${RM} ${DEDUITS}
La gestion des dépendances par le Makefile
Enfin, le gros avantage du Makefile c’est qu’il peut lister les dépendances dans le fichier pour vous.
Ajoutez l’objectif :
depend:
makedepend -Y *.c
Lorsque vous allez lancer make depend, il va parcourir vos fichiers C, et lister les dépendances à la fin du Makefile. Par exemple, il va donner :
test_route.o: route.h mini-purify.h mini-purify-allocateur.h
Il suffit donc d’exécuter cette commande, de compléter l’édition de lien pour les fichiers exécutables et le tour est joué.