Différences entre les versions de « Plex Gdrive Plexdrive rclone gdrive fuse »

De wiki mdd
Aller à la navigation Aller à la recherche
Ligne 7 : Ligne 7 :
'''- fuse installé'''<br>
'''- fuse installé'''<br>
Pour Debian et cie :
Pour Debian et cie :
<syntaxhighlight language="bash">$ sudo apt install fuse</syntaxhighlight>
{{terminal|$ sudo apt install fuse}}
Pour RedHat et cie :
Pour RedHat et cie :
<syntaxhighlight language="bash">$ sudo yum install fuse</syntaxhighlight>
{{terminal|$ sudo yum install fuse}}
- il faut modifier le fichier '''/etc/fuse.conf''' pour décommenter la ligne '''user_allow_other'''<br>
- il faut modifier le fichier '''/etc/fuse.conf''' pour décommenter la ligne '''user_allow_other'''<br>
'''- plexdrive installé'''<br>
'''- plexdrive installé'''<br>
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 :
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 :
<syntaxhighlight language="bash">$ 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</syntaxhighlight>
{{terminal|$ sudo wget https://github.com/dweidenfeld/plexdrive/releases/download/5.0.0/plexdrive-linux-amd64 -O /usr/bin/plexdrive
{{terminal|$ 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}}
$ sudo chmod 755 /usr/bin/plexdrive}}
Ligne 27 : Ligne 25 :
=== Configuration de plexdrive ===
=== Configuration de plexdrive ===
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
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
<pre>sudo mkdir -p /mnt/plexdrive
{{terminal|$ sudo mkdir -p /mnt/plexdrive
sudo chown ${USER}: /mnt/plexdrive</pre>
$ sudo chown ${USER}: /mnt/plexdrive}}
Puis lancez plexdrive, et laissez vous guider :
Puis lancez plexdrive, et laissez vous guider :
<pre>plexdrive mount -o allow_other /mnt/plexdrive
{{terminal|plexdrive mount -o allow_other /mnt/plexdrive
1. Please go to https://console.developers.google.com/
1. Please go to https://console.developers.google.com/
2. Create a new project
2. Create a new project
Ligne 37 : Ligne 35 :
5. Set the application type to 'other'
5. Set the application type to 'other'
6. Specify some name and click create
6. Specify some name and click create
7. Enter your generated client ID: </pre>
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.<br>
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.<br>
{{warning|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
Le fichier de configuration a été créé dans /home/${USER}/.plexdrive/config.json


=== Lancement automatique de plexdrive ===
=== Lancement automatique de plexdrive ===
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)
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)
<pre>
{{terminal|
[Unit]
[Unit]
Description=Plexdrive
Description=Plexdrive
Ligne 59 : Ligne 58 :
[Install]
[Install]
WantedBy=default.target
WantedBy=default.target
</pre>
}}
puis
puis
<pre>systemctl enable plexdrive
<pre>systemctl enable plexdrive

Version du 9 novembre 2019 à 09:18

Prérequis

- rclone installé

$ curl https://rclone.org/install.sh $ sudo bash install.sh - 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

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

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

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) {{{1}}} puis

systemctl enable plexdrive
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

journalctl -fu plexdrive

Déchiffrement du cache de plexdrive

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

Si vous tapez la commande

rclone ls gdrive-plex-uncrypt:

Vous devriez vous en clair la liste des fichiers que vous avez envoyé sur votre google Drive chiffré :)

Montage du disque pour plex

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
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

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 :

systemctl enable rclone
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...)