Bonjour a tous,
Nouveau venu sur ce site, je viens vous partager mon expérience sur l'automatisation du transfert des fichiers téléchargés sur le serveur dédié vers la Freebox.
I - connexion ftp à la freebox depuis le serveur dédié.
Le protocole FTP de la freebox à évolué pour passer en FTPeS il y a quelques années afin de sécuriser un peu les appels.
FTPeS est un protocole FTPS forcé, il necessité d'avoir un certificat et donc un nom de domaine.
1ere étape donc : demander a free de fournir un nom de domaine à votre freebox.
Bonne nouvelle, free se propose de vous le faire gratuitement et de vous donner un nom de domaine de type XXXXX.freeboxos.fr
Pour ce faire rendez vous dans votre interface freebox rubrique configuration avancée : nom de domaine
(vous pouvez suivre ce tuto pour créer votre nom de domaine)
Puis il vous faut activer la connexion FTPeS depuis l'exterieur de votre freebox :
rendez vous dans l'onglet FTP de la configuration freebox et activez l'acces distant
Vous devez maintenant pouvoir acces a votre freebox depuis filezilla depuis n'importe ou en utilisant le nom de domaine que vous avez determiné. (XXXXX.freeboxos.fr:portDeControle)
II - connexion FTPeS depuis votre serveur
Il n'existe a priori que peu de clients qui permettent la connexion FTPeS en ligne de commande.
je vous propose d'utiliser lftp
Installons d'abord lftp :
apt-get update
apt-get install lftp
Puis configurons lftp pour le forcer à utiliser le FTPeS
editer le fichier /etc/lftp.conf et ajoutez les lignes suivantes :
set ftp:ssl-protect-data true
set ftp:ssl-force true
set ftp:ssl-auth TLS
set ssl:verify-certificate no
Vous devriez pouvoir vous connecter a votre freebox à distance via LFTP maintenant.
Faisons un petit test :
lancez lftp
puis dans le shell lftp tapez
open -u freebox,[votrepassword] ftp://freebox@[nomdedomaine].freeboxos.fr:[Port]/Disque\ dur
mput [unfichiersurvotreserveur]
bye
III - Configuration rtorrent
J'ai personnellement suivi l'excellent tuto de création de rtorrent + rutorrent et je vais donc me baser la dessus pour ajouter la configuration.
1 - Création d'un script d'upload auto vers freebox
dans le repertoire home de votre utilisateur de rtorrent, créez un fichier bash "movetofreebox.sh"
nano movetofreebox.sh
Declarez ce fichier de script executable :
chmod +x movetofreebox.sh
copier le code suivant dans ce fichier
#!/bin/bash
printf -v FILE "%q" "$1"
if [ -d $FILE ]
then
lftp -e "mirror -R $FILE /Disque\ dur/; quit" -u freebox,[motdepasse] ftp://freebox@[mondomaine].freeboxos.fr:[port]/
else
lftp -c "open -u freebox,[motdepasse] ftp://freebox@[mondomaine].freeboxos.fr:[port]/Disque\ dur; mput $FILE; bye"
fi
(on utilise le printf pour échapper les caractères du chemin du fichier car lftp digère mal les caractères spéciaux)
2 - Ajout du script dans rtorrent
éditez votre .rtorrent.rc et ajoutez la ligne suivante à la fin :
method.set_key = event.download.finished,move_complete,"execute2=/home/XXXXX/movetofreebox.sh,$d.base_path="
relancez votre service rtorrent .... et normalement si tout va bien, des qu'un torrent a terminé, il sera automatiquement uploadé sur votre disque dur de freebox et vous pourrez le visionner directement via l'interface freebox
N'hésitez pas à commenter cette méthode, je suis ouvert à toute critique pour peu qu'elle soit constructive !