FileX permet aux personnels et aux étudiants de transférer des fichiers très volumineux à plusieurs interlocuteurs, même extérieurs à l'établissement (possibilité de protéger le téléchargement avec un mot de passe et de limiter la durée de sa mise à disposition)
Renater fournit le logiciel libre FileSender : https://filesender.renater.fr/. Nous vous invitons à l'utiliser s'il répond à vos besoins.
Il est parfois nécessaire d'avoir sa propre instance de Filex-NG/FileSender :
- maitriser les quotas et durée max avant expiration (notamment pouvoir faire des dérogations)
- maitriser les logs prouvant une tentative d'upload
- s'assurer que l'utilisateur reçoit toujours un mail à la fin d'un upload
- autoriser l'API à une application
Avantages de Filex-NG :
- simple trusted upload
- anti-virus
- similaire à FileX
- légèreté de Node.js comparé à PHP (?), JavaScript léger et moderne (Vue.js)
Avantages de FileSender :
- large communauté
- encryption de bout en bout
- multi-file upload, TeraSender high speed upload, i18n...
- Téléversement avec barre de progression (HTML5 XHR)
- Reprise du téléversement en cas d'interruption réseau
- L'utilisateur reçoit une notification mail une fois le téléversement terminé
Exemple d'utilisation : fournir les numérisations de documents avec une durée de conservation limitée.
- Détection antivirus à la fin du téléversement
- Quota par utilisateur
- Expiration au bout d'un certain nombre de jours
- Les administrateurs peuvent configurer des dérogations par utilisateur (quota, durée max avant expiration)
- téléchargement protégé par un mot de passe
- avis de réception à chaque téléchargement
- récapitulatif des téléchargements à l'expiration du fichier
L'application installée à l'université Paris 1 Panthéon-Sorbonne est accessible avec authentification Shibboleth via la fédération Education-Recherche Renater :
https://filex-ng.univ-paris1.fr/Shibboleth.sso/Login
- Node.js
- Mongo database
- MTA (tested with postfix)
- Shibboleth SP
Optional:
- clamav (clamdscan is fast, but requires 1G of RAM)
git clone https://github.com/UnivParis1/filex-ng
cd filex-ng
npm install
Si vous utilisez nginx en frontal, n'oubliez de mettre client_max_body_size 0
pour autoriser les gros uploads (testé Go
/webhome/filex-ng/www/index.js
Voici un script d'init systemd :
[Unit]
Description=Filex-ng
After=network.target
StartLimitBurst=120
StartLimitIntervalSec=10m
[Service]
RestartSec=5s
SyslogIdentifier=filex-ng
User=filex-ng
PIDFile=/webhome/filex-ng/pid
Environment=PIDFile=/webhome/filex-ng/pid
ExecReload=kill -HUP $MAINPID
ExecStart=/webhome/filex-ng/www/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Personnes ayant utilisées plus de 5G :
db.uploads.aggregate([ { $match: { "partial_uploader_file_id": { $exists: false }, deleted: false } }, { $group: { "_id": "$uploader.eppn", count: {$sum: 1}, total_size: {$sum: '$size' } } } ]).toArray().filter(e => e.total_size > 5e9).map(e => [ e._id, "" + (e.total_size /1e9) + "GB" ])
db.uploads.find({ deleted: false, size: { $gt: 100e6 } }).sort({ uploadTimestamp: -1 }).limit(40).map(e => "" + e.uploadTimestamp.toLocaleString() + ": " + (e.size / 1e6) + "MB " + e.uploader.mail + " " + e.filename)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.