Se connecter au NAS de la Freebox

La Freebox offre des fonctionnalités NAS. Il est donc possible de s’y connecter depuis Yunohost.

C’est mon premier tutoriel alors n’hésitez pas à corriger ou compléter si je dis des bétises :slight_smile:

Activer le partage sur la Freebox

Il faut commencer par activer le partage des disques depuis la box. Ceci est accessible via https://mafreebox.free.fr Trois types de partage existent : ftp (réseau local ou accessible depuis l’extérieur), Windows, Mac. Les trois sont indépendants.

Personnellement j’ai eu des soucis avec le FTP pour le partage avec Nextcloud qui ne récupérait pas les dates des fichiers (invalid date).

Note : Je n’ai pas bien compris la différence entre les partages Windows et Mac puisque les deux passent par du Samba. Si quelqu’un a des précisions là-dessus je suis preneur.

Si vous ne voulez pas utiliser le disque interne ou que la box n’en a pas (c’est le cas de la 4k) vous pouvez brancher un disque externe.

Monter un stockage externe NextCloud

Ceci permet par exemple d’accéder aux répertoires multimédia de la box : films, enregistrements, musiques. Il peut remplacer le Shared Multimedia par défaut.

Dans le menu des paramètres, aller dans le stockage externe et ajouter un stockage de type SMB/CIFS.

  • Nom du dossier : Freebox
  • Hôte : freebox-server.local ou bien mafreebox.free.fr
  • Partage : le nom de la partition. Le disque interne de la box est Disque%20Dur à confirmer parce que je n’en ai pas sur la 4k
  • Sous-dossier distant : le chemin vers le répertoire choisi
  • Domaine : WORKGROUP (paramétré sur la box)

Il est possible de mettre le stockage en lecture seule. Pour des raisons de performance si vous avez beaucoup de fichiers dans un répertoire vous pouvez désactiver les prévisualisations.

Lancer un scan complet des répertoires. Préparer un café parce que la dernière étape peut durer un moment.

  • ajouter le fichier .ocdata` à la racine du partage
  • lancer un scan des répertoires (uniquement avec ‘root’, le sudo simple ne suffit pas)
sudo su root
cd /var/www/nextcloud
sudo -u nextcloud php7.3 occ files:scan --all

Pour aller plus loin voir la documentation Yunohost sur le stockage externe Nextcloud.

Monter le disque distant

On peut monter le disque pour effectuer des sauvegardes ou tout autre usage.

  • La Freebox utilise la version 1.0 du protocol, à préciser impérativement dans les options de connexion ci-dessous parce que Linux utilise une version plus récente.
  • Le protocole SMB/CIFS, surtout en v1 est assez ancien et ce n’est pas le top au niveau sécurité, mais on reste sur un réseau local. Pour stocker des données sensibles il est conseillé de les crypter.
  • Fonctionne avec les URL freebox-server.local ou bien mafreebox.free.fr
 sudo mkdir /media/freebox
 sudo mount -t cifs //freebox-server.local/freebox /media/freebox -o user=freebox,password=XXXX,iocharset=utf8,file_mode=0777,dir_mode=0777,vers=1.0
 # <opérations de sauvegarde ici>
 sudo umount /media/freebox

On peut aussi monter le disque de manière permanente avec fstab.

Pour aller plus loin, voir la documentation Freebox sur Ubuntu.

Droit sur le fichiers

La Freebox fonctionne sous Linux. Elle supporte les partitions ext4. Si votre disque ext4 contenait déjà des fichiers créés sur une autre machine vous aurez des problèmes de droits. Il faudra alors changer le propriétaire des fichiers et leur attribuer l’utilisateur de la box.

Ces opérations ne sont pas possibles depuis la box. J’ai donc créé un fichier depuis la box. J’ai ensuite branché le disque en local et j’ai consulté ses propriétés pour trouver l’utilisateur. Chez moi c’était le 4242. Il ne reste plus qu’à faire un chown -R 4242 /media/freebox/Video. Attention au -R ne vous trompez pas de répertoire.

Note : Avec un disque formaté en FAT32 ou autre NTFS on perd la notion de droits sur les fichiers. Le problème reste le même en ext4 puisqu’on utilise un partage Samba.

Attention : il semble que tous les répertoires sont accessibles dans le serveur multimédia de la box (via une TV connectée, un smartphone ou encore via Windows). Les autres utilisateurs de la maison y auront accès. Pensez-y avant d’y copier n’importe quoi :wink:

Si votre serveur n’est pas sur le même réseau que la Freebox, par exemple un VPS, on peut monter le disque dur via curlftpfs.

Voici ma méthode, avec un disque dur nommé “blue” branché à la box:

apt install curlftpfs
mkdir /media/blue
nano /etc/fstab

Dans /etc/fstab j’ajoute la ligne:

curlftpfs#freebox:$MOT_DE_PASSE_FTP@$IP_PUBLIQUE_FREEBOX:22159/blue /media/blue fuse umask=0,user,auto,x-systemd.automount,x-systemd.mount-timeout=30,_netdev,allow_other,ssl,no_verify_peer,no_verify_hostname       0       0

En remplaçant $MOT_DE_PASSE_FTP et $IP_PUBLIQUE_FREEBOX par les valeurs qui vont bien. Si vous avez une IP dynamique, vous pouvez y mettre un nom de domaine avec DNS dynamique.

Si besoin, avant umask vous pouvez ajouter uid=xxx,gid=yyy, si vous voulez spécifier quel utilisateur ou groupe doit monter le disque.

Et enfin:
mount /media/blue

N.B.: Utiliser rclone aurait été parfait pour ça, mais il y a un problème d’implémentation de FTPES entre rclone et la Freebox. La connexion ne se maintient pas.