My Cloud Home disponible pour linux !

Depuis des années, nous somme quelques acharnés à jeter aux orties la fameuse plateforme windows, au point que windows a intégré à l’heure actuelle la possibilité d’avoir un « Terminal » linux. (voir un de mes articles précédant)

Et WD, ayant une palmeraie dans le creux de la main, se refusait d’envisager un quelconque développement pour linux, le fameux WD Discover, mais heureusement, il existe une API que Marco Nenciarini a judicieusement utiliser ( https://github.com/mnencia/mchfuse )

Je me suis permis de traduire son article.

Système de fichiers My Cloud Home FUSE

MCHFuse est un système de fichiers FUSE pour le montage d’appareils Western Digital My Cloud Home .

Il rend disponible le stockage principale de votre appareil WD à l’aide de l’ API WD My Cloud Home Off-Device .

Conditions préalables

Pour compiler MCHFuse, vous devez au moins passer à la version 1.13.

Installation de la dernière version

Pour installer rapidement le dernier binaire pré-construit de MCHFuse, vous pouvez exécuter la commande suivante:

curl -sSfL https://github.com/mnencia/mchfuse/raw/main/install.sh | sudo sh -s - -b / usr / local / bin

Installation à partir de la source

  • Installez la suite de compilateurs Go et créez; par exemple sur Ubuntu:
sudo apt-get install git golang-go ca-certificates make
  • Ensuite faite un clonage local du projet MCHFuse :
git clone https://github.com/mnencia/mchfuse.git
  • Ensuite, aller dans le répertoire installé pour en faire un make:
cd mchfuse
make
  • Après la construction, vous trouvez un mchfuse exécutable à la racine du projet.
  • Si vous souhaitez rendre mchfusedisponible en tant que commande système, installez-le
sudo make install

Démarrage rapide

Vous pouvez monter votre appareil à l’aide de la commande suivante:

cat > mchfuse.conf << 'EOF'
username = "EMAIL"
password = "PASSWORD"
EOF
chmod 600 mchfuse.conf
mchfuse -c mchfuse.conf DEVICE_NAME MOUNT_POINT

Les EMAILet PASSWORD sont ceux utilisés pour accéder à https://home.mycloud.com/ .

Le DEVICE_NAME est le nom attribué à l’appareil lors de la configuration initiale.



Si vous utilisez un nom incorrect, le message d’erreur qui en résulte contient la liste des noms de périphériques découverts valides.

Note de bas de page: les noms d’appareils semi-automatiques contiennent un guillemet simple. Pour entrer une telle chaîne sur une ligne de commande, vous devez la mettre entre guillemets.

Remplacez MOUNT_POINTpar le chemin réel où vous souhaitez voir le contenu de l’appareil. (par exemple /mnt/mydevice)

Après la dernière commande, vous devriez voir le contenu du périphérique monté disponible dans le dossier du point de montage.

REMARQUE: le système de fichiers ne sera accessible qu’à partir de l’utilisateur qui a exécuté la mchfusecommande sauf si vous spécifiez l’indicateur --allow-othersoit sur la ligne de commande ou dans le fichier de configuration (ie allow-other = true)

Vous pouvez démonter l’appareil à l’aide de la commande umount habituelle :

unmount MOUNT_POINT

Usage

Usage: mchfuse [flags] deviceName[:devicePath] mountpoint
  -c, --config string     config file path
  -u, --username string   mycloud.com username
  -p, --password string   mycloud.com password
  -a, --allow-other       allow other users
  -U, --uid int           set the owner of the files in the filesystem (default disabled)
  -G, --gid int           set the group of the files in the filesystem (default disabled)
  -f, --foreground        do not demonize
  -d, --debug             activate debug output (implies --foreground)
  -h, --help              display this help and exit
  -v, --version           display the version and exit

Toutes les options peuvent être spécifiées dans un fichier de configuration au format:

flag-name = valeur

Vous pouvez transmettre la configuration à l’aide de l’indicateur --config, sinon mchfusecharge les options à partir de /etc/mchfuse.confsi elle existe et est lisible.

Si vous ne spécifiez pas d’UID ou de GID, il hérite du paramètre par défaut de l’utilisateur qui exécute la commande.

Le mountpointest n’importe quel répertoire accessible pour l’utilisateur actuel. Si le chemin n’existe pas, MCHFuse essaiera de le créer.

NOTE: se mchfuse diaboliser, d’éventuelles erreurs soulevées par le processus d’arrière-plan finiront dans le syslog avec la priorité AVIS et la balise « mchfuse ».

Montures persistantes

Pour garder votre volume monté sur votre système lors des redémarrages, créez un montage persistant. Ceci est accompli en mettant à jour le fichier /etc/fstab de votre système .

Mettre à jour fstab (très mauvais plan !)

Sur une nouvelle ligne, ajoutez une directive de montage à votre fichier/etc/fstab qui correspond à la syntaxe suivante:

deviceName[:devicePath] mountpoint fuse.mchfuse noauto,x-systemd.automount,_netdev,allow_other 0 0

Vous pouvez spécifier n’importe quelle option disponible sur la ligne de commande en l’ajoutant dans le champ contenant noauto,x-systemd.automount,_netdev,allow_other séparé par des virgules. Veuillez éviter d’utiliser des paramètres explicites usernameet password, car ils seront lisibles à la fois dans le /etc/fstabfichier et dans la liste des processus système. Utilisez le fichier de configuration par défaut /etc/mchfuse.confou spécifiez-en un en utilisant l’option config à la place.

REMARQUE Vous devrez utiliser les privilèges sudo pour modifier ce fichier à partir de votre compte utilisateur qui est limité.

Après avoir configuré la ligne /etc/fstab, redémarrez votre système. Ensuite, répertoriez le contenu du répertoire monté. Vous devriez voir le contenu de votre appareil.

Autre solution : modifier votre .bashrc !

./mchfuse/mchfuse -c /etc/mchfuse.conf MonMEDIA /media/WD/
Pourquoi utiliser la soluce bashrc ?

Tout simplement parce que le mount se fera en tant que root, donc, seul root aura les droits R/W sur le disque et non pas l’utilisateur, tandis qu’avec la solution du .bashrc, l’admin sera le profil duquel il aura été lancé !

Src : https://github.com/mnencia/mchfuse