Depuis que Framasoft à annoncé sa Déframasoftisons Internet, en tant que membre des CHATONS (avec zici.fr & retzien.fr), je me suis dis que c’était l’heure de se retrousser les manches.
Faire un framadrop ça me semblait accessible, par contre Lufi (utilisé par framadrop) c’est codé en Perl et sur les serveurs de l’asso on est plus en mode PHP (et j’essaie de pas trop me disperser et pas héberger : un coup du perl, un coup du python, un coup du ruby, du node.js… c’est plus facile à maintenir) Sauf qu’en PHP je n’ai pas trouvé de logiciel maintenu similaire qui répondent à mes attentes, du coup j’en ai pondu un : file2link.
- Démonstration en ligne : https://dl.zici.fr/
- Dépôt des sources du projet : https://framagit.org/kepon/file2link
Bien sûr tout est libre de droit, file2link est sous licence beerware.
Petit tour en images :
Si vous l’utilisez, dites le moi, ça me parait pertinent qu’on fasse du lien avec toutes les instances…
Fonctionnalités
Dans sa version 0.1 le logiciel permet :
- Uploader des fichier (plusieurs possible) et de recevoir des liens en échanges :
- Lien direct
- Lien de téléchargement forcé
- Lien vers un zip contenant tout les fichiers
- Images redimensionné à l’upload possible
- Mémorisation des fichiers précédaient uploadé (via le storages local du navigateur
- Se configure avec un fichier YAML
- Configure with YAML file :
- Limite dans le temps
- Limite le type de fichier (via mime)
- Limite le nombre de fichier envoyé simultanément
- Limite de type de fichier
- Bar de progression en HTML5
- Multi-langue (français / anglais pour le moment)
- Ménage des fichiers expiré par tâche cron (cron.php) ou par traffic sur la page d’accueil (web cron)
- Personnalisation du contenu de la page avec la possibilité de créer des pages header-page.php, header.php, footer-page.php, footer.php, start-home.php, end-home.php
- Ajout d’un menu vers des pages HTML pour créer des pages « contact » « mention légal »…
Installation
Pré-requis :
- Un serveur http configuré compatible avec htaccess / url rewriting (apache2 typiquement
- PHP 5.6 minimum
- Lib php : GD & ZIP
Envoyer le contenu du dépôt sur votre serveur :
git clone https://framagit.org/kepon/file2link.git
Déplacer le fichier de conf distribué :
mv config.yaml.exemple config.yaml
Modifier le fichier config.yaml, changé le baseUrl et autres paramètres que vous souhaitez personnalisé. Assuré vous de la cohérence des paramètres :
- maxUploadPerFile doit être similaire à la config PHP upload_max_filesize and post_max_size
- maxUploadNbdoit doit être similaire à la config PHP config max_file_uploads
Assurez vous que le répertoire « files » soit accessible en écriture pour le servuer
Option : si vous voulez faire le ménage par tâche cron modifier la valeur expireCron par « cron » dans le fichier config.yaml et ajouter votre tâche cron :
* * * * * cd /var/www/file2link/ ; php cron.php
Et voilà, fin de chantier !
Bonjour !
Excellent !! Comme vous, l’utilisation de Perl ou autre qui nécessitent des accès root qu’on a pas quand on loue un mutualisé m’avait déplu et repoussé. J’avais prévu de trafiquer quelque chose, mais ce que vous avez fait est super !! Jusqu’à présent, j’utilisais privatebin, sur quoi on peut rajouter le partage de document. Mais avoir une instance qui gère que ça est très pratique, je vous l’emprunte 🙂
Je vous partage pour ma part ma première création : Le Personnaliseur d’URL !
Pour les mêmes raisons qui vous ont poussées à créer file2link par rapport à lufi, j’ai fait ce programme par rapport à lstu, qui est aussi codé en perl.
Vous pouvez en voir la demo ici : https://url.captp.fr
Le code est opensource aussi, mais en attendant que mon compte soit validé sur framagit, je le partage comme j’ai peux.
Pour la petite anecdote, c’est en cherchant sous quelle licence mettre mon travail que je suis tombé sur votre blog… Comme quoi ! 😉
Bonne continuation, et si vous avez des retours à me faire, je suis preneur !
Super ton projet URL
J’utilise déjà polr https://github.com/cydrobolt/polr sur une instance : http://url.zici.fr/
Bonne journée,
David