SimpleHTTPServer improved pour Mac OS X

Le ven. 24 septembre 2010 par Kasey

Je ne sais pas si vous connaissez le super online script python permettant de faire un serveur HTTP, mais je vous livre dans la suite du post un super petit script qui me rend bien des services pour monter des serveur httpd en une ligne de commande :)

La commande de base ;

{{{ python -c 'import SimpleHTTPServer;SimpleHTTPServer.test()' }}}

Hop voila le-dit script :

1
2
3
4
5
6
7
8
#! /bin/bash

if [ "x" != "x$1" ] ; then
  cd $1
fi

/sbin/ifconfig | awk '/inet /{if($2 != "127.0.0.1") {printf(" - http://%s:8000/\n",$2)}}'
python -c 'import SimpleHTTPServer;SimpleHTTPServer.test()' 2>/dev/null

En gros il :

  • se place dans le repertoire que vous lui passez en entrée, si possible, sinon se place dans le répertoire corrant
  • affiche la liste des interfaces réseaux disponible avec de n'avoir plus qu'a faire : click-droit, ouvrir l'url et hop le naviguateur web se lance
  • enfin il masque la sortie des logs, généralement inutile.

A noter : SimpleHTTPServer n'est pas multithread par défaut. Vous pouvez donc remplacer la commande par le serveur webfsd qui a l'avantage d'être plus rapide et disponible sur macport :)

Encore mieux, ma coqueluche darkhttp est un superbe serveur web multithread hyper léger ultra performant sans dependance codé en c et a compiler sois même. J'en suis devenu acro :

  • Site du dev : http://unix4lyfe.org/darkhttpd/
  • Miroir perso : http://forge.kasey.fr/projets/darkhttpd-1.8/