Skip to content


Site d’hébergement de fichiers en un clic

Wikipedia appelle ça des “Site d’hébergement de fichiers en un clic” et le projet Jyraphe veut permettre à n’importe qui de monter ce genre de site.

Que faire si vous n’aimez pas les souris ? Il faudrait des sites d’hébergement en une seule commade, tapée dans un terminal:

Voici un script bash qui se propose de rendre ce service : si vous disposez d’un serveur web, accessible par ssh, il copiera les fichiers passés en argument dans un répertoire doté d’un nom aléatoire et visible à partir du web.

#! /bin/sh</code>
 
SSH_HOST=
BASE_DIR=
BASE_URL=
HTTPD_GROUP=www-data
 
source ~/.poubellerc
 
if [ "$1" = "-f" ]; then
shift;
source $1;
shift;
fi
 
rand=$(dd if=/dev/urandom count=64 bs=1 2&gt;/dev/null | sha1sum | cut -c1-40)
dir=$BASE_DIR/$rand
 
echo $BASE_URL/$rand
 
ssh $SSH_HOST mkdir -p $dir &amp;&amp;
ssh $SSH_HOST touch $dir/../index.html &amp;&amp;
scp $* $SSH_HOST:$dir &amp;&amp;
ssh $SSH_HOST chgrp $HTTPD_GROUP -R $dir &amp;&amp;
ssh $SSH_HOST chmod g+rX -R $dir

La configuration sera placée dans le fichier .poubellerc ou dans un fichier dont le chemin sera donné grâce à l’option -f.

Par exemple, vous pouvez télécharger ce script à l’adresse suivante : http://chadok.info/~oschwand/poubelle/7fb4f3e0be5bcf623b641981c51f742d7b8bf21a/poubelle.sh

Vous pouvez envoyer plusieurs fichiers en même temps, qui seront tous placés dans le même répertoire.

L’url du répertoire sera affichée par le script : à vous de diffuser juste le chemin vers le répertoire, ou une url complète vers un fichier. Cette façon de faire permet d’avoir juste des pages statiques : pas besoin de mémoriser la correspondance hash/nom de fichier et ni d’un script qui fait la traduction au moment du téléchargement.

Comme la sécurité repose sur le secret du nom du répertoire, il faudrait désactiver l’affichage de la liste des fichiers dans le répertoire parent : ici, on se contente de faire un touch sur index.html pour que le serveur ne renvoie pas la liste, mais ce n’est pas vraiment sûr.

Posted in Escabeau.

0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.