Plex Gdrive Plexdrive rclone gdrive fuse

De wiki mdd
Aller à la navigation Aller à la recherche

Prérequis[modifier]

- rclone installé

$ curl https://rclone.org/install.sh | sudo bash - fuse installé
Pour Debian et cie : $ sudo apt install fuse Pour RedHat et cie : $ sudo yum install fuse - il faut modifier le fichier /etc/fuse.conf pour décommenter la ligne user_allow_other
- plexdrive installé
Allez sur https://github.com/dweidenfeld/plexdrive/releases et choisissez la release qui correspond à votre environnement, par exemple amd64. Copiez l'adresse de la release. Puis sur le serveur : $ sudo wget https://github.com/dweidenfeld/plexdrive/releases/download/5.0.0/plexdrive-linux-amd64 -O /usr/bin/plexdrive $ sudo chmod 755 /usr/bin/plexdrive - Il faut des clés API google drive. Contrairement à rclone cache qui peut fonctionner sans, plexdrive en a besoin.

Configuration rclone[modifier]

Pour fonctionner, nous allons devoir créer 3 configurations différentes de rclone, et une configuration de plexdrive.

Les deux premières (gdrive: et gdrive-crypt:) sont décrites ici : rclone bases pour linux. Vous devez appliquer cette documentation jusqu'à la partie Test de la configuration chiffrée incluse.

Configuration de plexdrive[modifier]

Il faut tout d'abord lancer plexdrive une première fois à la main pour terminer la configuration. Tout d'abord, créez le répertoire dans lequel monter le cache $ sudo mkdir -p /mnt/plexdrive $ sudo chown ${USER}: /mnt/plexdrive Puis lancez plexdrive, et laissez vous guider : plexdrive mount -o allow_other /mnt/plexdrive 1. Please go to https://console.developers.google.com/ 2. Create a new project 3. Go to library and activate the Google Drive API 4. Go to credentials and create an OAuth client ID 5. Set the application type to 'other' 6. Specify some name and click create 7. Enter your generated client ID: Une fois votre client ID et votre secret rentré, plexdrive va donner un lien sur lequel il faudra se rendre pour terminer la configuration. Une fois terminé, il ne vous rendra pas la main, et il faudra taper ctrl+c.
En fonction de la quantité de données présentes dans votre dirve, plexdrive peut prendre plusieurs heures avant de tout indexer. Laissez tourner au moins 5 minutes avant de terminer la commande Le fichier de configuration a été créé dans /home/${USER}/.plexdrive/config.json

Lancement automatique de plexdrive[modifier]

Créez le fichier /etc/systemd/system/plexdrive.service (pensez à changer les chemin du répertoire à monter, le nom du user et du groupe, et le chemin de configuration) [Unit] Description=Plexdrive AssertPathIsDirectory=/mnt/plexdrive After=network-online.target   [Service] Type=simple User=steph Group=steph ExecStart=/usr/bin/plexdrive -c /home/steph/.plexdrive mount -v 2 /mnt/plexdrive ExecStop=/bin/fusermount -u /mnt/plexdrive Restart=on-abort   [Install] WantedBy=default.target puis $ sudo systemctl enable plexdrive $ sudo systemctl start plexdrive Au bout de quelques instants, vous devriez voir le contenu de votre drive dans /mnt/plexdrive (avec éventuellement une partie chiffrée). Ca peut prendre longtemps si vous avez beaucoup de fichiers. Pour voir l'avancée et les logs, vous pouvez faire $ sudo journalctl -fu plexdrive

Déchiffrement du cache de plexdrive[modifier]

Le chiffrement dans rclone est bidirectionnel : un fichier normal passé par le chiffrement va être chiffré, et un fichier chiffré qui passe par le chiffrement (avec les mêmes clés) va redevenir lisible

Maintenant que nous avons un joli cache chiffré, il faut le déchiffrer. Nous allons donc maintenant créer une dernière configuration pour déchiffrer ce cache. Supposons que dans votre drive, seul le répertoire /crypt est chiffré, il faut donc créer une configuration de rclone qui va déchiffrer le répertoire /mnt/plexdrive/crypt
Créer une nouvelle configuration de type crypt : e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> n name> gdrive-plex-uncrypt Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value ...  9 / Encrypt/Decrypt a remote  \ "crypt" ... Storage> 9

Dans le remote, saisissez la configuration du cache Remote to encrypt/decrypt. Normally should contain a ':' and a path, eg "myremote:path/to/dir", "myremote:bucket" or maybe "myremote:" (not recommended). Enter a string value. Press Enter for the default (""). remote> /mnt/plexdrive/crypt Dans les options de chiffrement des noms de fichiers et des dossiers, choisissez exactement la même configuration que pour gdrive-crypt (sinon, vous ne pourrez pas déchiffrer les données) w to encrypt the filenames. Enter a string value. Press Enter for the default ("standard"). Choose a number from below, or type in your own value  1 / Don't encrypt the file names. Adds a ".bin" extension only.  \ "off"  2 / Encrypt the filenames see the docs for the details.  \ "standard"  3 / Very simple filename obfuscation.  \ "obfuscate" filename_encryption> 2 Option to either encrypt directory names or leave them intact. Enter a boolean value (true or false). Press Enter for the default ("true"). Choose a number from below, or type in your own value  1 / Encrypt directory names.  \ "true"  2 / Don't encrypt directory names, leave them intact.  \ "false" directory_name_encryption> 1 De même pour les parties saltphrase et password, il faut saisir exactement les mêmes informations que pour gdrive-crypt (sinon, vous ne pourrez pas déchiffrer les données) Password or pass phrase for encryption. y) Yes type in my own password g) Generate random password n) No leave this optional password blank y/g/n> y Enter the password: password: Confirm the password: password: Password or pass phrase for salt. Optional but recommended. Should be different to the previous password. y) Yes type in my own password g) Generate random password n) No leave this optional password blank y/g/n> y Enter the password: password: Confirm the password: password: Sauvegardez et quittez la configuration.

Test de cette configuration[modifier]

Si vous tapez la commande $ rclone ls gdrive-plex-uncrypt: Vous devriez voir en clair la liste des fichiers que vous avez envoyé sur votre google Drive chiffré :)

Montage du disque pour plex[modifier]

Il faut tout d'abord créer le répertoire dans lequel vous souhaitez monter votre drive (par exemple /mnt/plexdrive-uncrypt), et ensuite taper la commande $ sudo mkdir /mnt/plex-uncrypt $ sudo chown steph: /mnt/plex-uncrypt $ rclone mount gdrive-plex-uncrypt: /mnt/plexdrive-uncrypt Attention ! Cette commande ne vous rend pas la main. Allez dans un autre terminal, et vérifiez que vous voyez bien vos fichiers dans /mnt/plexcache. Une fois vérifié, fermez le nouveau terminal, revenez dans le premier terminal, et tapez ctrl+C pour reprendre la main et démonter le lecteur.
SOYEZ PRUDENT ! Si il reste un terminal ouvert dans le répertoire monté au moment où vous démontez le lecteur, vous risquez de mal le démonter, et de ne plus pouvoir utiliser le répertoire de montage avant le prochain reboot !

Montage automatique du disque[modifier]

Une fois que vous avez fait le test à la main, nous allons voir comment monter automatiquement le répertoire.
Pour cela, il faut créer le fichier /etc/systemd/system/rclone.service [Unit] Description=Google Drive (rclone) AssertPathIsDirectory=/mnt/plexdrive-uncrypt   [Service] Type=simple User=steph Group=steph ExecStart=/usr/bin/rclone mount \    --config=/home/steph/.config/rclone/rclone.conf \    --allow-other \    --no-modtime \    --drive-use-trash \    --stats=0 \    --checkers=16 \ gdrive-plex-uncrypt:/ /mnt/plexdrive-uncrypt ExecStop=/bin/fusermount -u /mnt/plexdrive-uncrypt Restart=always RestartSec=10   [Install] WantedBy=default.target Pensez à changer ligne de config pour correspondre au chemin de l'utilisateur qui a créé les configs, et à adapter les chemins (ici /mnt/plexdrive-uncrypt) et le nom de la config à utiliser. Pensez aussi à changer le user et group
Une fois que c'est fait : $ sudo systemctl enable rclone $ sudo systemctl start rclone Et vous devriez voir vos fichiers dans /mnt/plexdrive-uncrypt. Vous pouvez maintenant ajouter cette source de données dans plex. Attention, il faut redémarrer plex après avoir ajouté une source de données distante (je ne sais pas pourquoi...)