Rclone basique pour linux

De wiki mdd
(Redirigé depuis Rclone basic)
Aller à la navigation Aller à la recherche

Installation[modifier]

L'installation de rclone est assez simple, il suffit de lancer la commande curl https://rclone.org/install.sh | sudo bash fuse n'est pas obligatoire pour utiliser rclone en ligne de commande, mais il le sera pour monter des répertoires. Pour l'installer :
Pour Debian et cie :
sudo apt install fuse Pour RedHat et cie :
yum install fuse - il faut modifier le fichier /etc/fuse.conf pour décommenter la ligne user_allow_other

Configuration pour google drive[modifier]

Même si rclone peut fonctionner sans api personnelle, cela réduit fortement ses performances. Il est conseillé d'en créer.
La documentation se trouve ici : création de clés api
Pour fonctionner, rclone utilise des "remote" (que l'on appelera aussi configuration).

Création d'un remote pour Google drive[modifier]

C'est la première configuration, celle qui servira de base à tout le reste.
rclone config

e) Edit existing remote                                                                                                                                                      n) New remote                                                                                                                                                               
d) Delete remote                                                                                                                                                               
r) Rename remote                                                                                                                                                               
c) Copy remote                                                                                                                                                                
s) Set configuration password                                                                                                                                                
q) Quit config              

Choisissez "n" pour "new remote"
Donnez lui le nom que vous voulez. Nous utiliserons gdrive pour la suite.

12 / Google Drive                                                                                                                                                              
   \ "drive"       


Pour l'étape suivante, on demande les identifiants API. Cette étape n'est pas obligatoire. Si vous n'avez pas de clé API, cela va fonctionner, mais les performances seront légèrement dégradées.

Setting your own is recommended.                                                                                                                                              
See https://rclone.org/drive/#making-your-own-client-id for how to create your own.                                                                                           
If you leave this blank, it will use an internal key which is low performance.                                                                                               
Enter a string value. Press Enter for the default ("").                                                                                                                       
client_id>                                                         
Google Application Client Secret                                                                                                                                               
Setting your own is recommended.                                                                                                                                             
Enter a string value. Press Enter for the default ("").                                                                                                                       
client_secret>                                                                                                                                                                 

Pour les accès, choisissez l'option 1

Choose a number from below, or type in your own value                                                                                                                          
 1 / Full access all files, excluding Application Data Folder.                                                                                                                 
   \ "drive"                                                  

laissez le "root folder" à vide

ID of the root folder                                                                                                                                                          
Leave blank normally.                                                                                                                                                          
Fill in to access "Computers" folders. (see docs).                                                                                                                             
Enter a string value. Press Enter for the default ("").                                                                                                                        
root_folder_id>

Laissez le service_account_file à vode

Service Account Credentials JSON file path                                                                                                                                     
Leave blank normally.                                                                                                                                                          
Needed only if you want use SA instead of interactive login.                                                                                                                   
Enter a string value. Press Enter for the default ("").                                                                                                                        
service_account_file>       

Ne paramétrez pas les options avancées

Edit advanced config? (y/n)                                                                                                                                                    
y) Yes                                                                                                                                                                         
n) No                                                                                                                                                                          
y/n>

Pour le remote config, comme il y a des chances que vous soyez sur un serveur headless (sans interface graphique), choisissez "n"

Remote config                                                                                                                                                                  
Use auto config?                                                                                                                                                               
 * Say Y if not sure                                                                                                                                                           
 * Say N if you are working on a remote or headless machine                                                                                                                    
y) Yes                                                                                                                                                                         
n) No                                                                                                                                                                          
y/n>

Copier l'url qui vous sera donnée, allez dans un navigateur et laisser vous guider

If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=xxxxxxxxxxx.apps.googleuserconten
t.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&state=xxxxxxxxxxxxxxxxxxxxxx      
Log in and authorize rclone for access                                                                                                                                         
Enter verification code>        

Copier le code qui vous sera donné, et collez le dans l'écran suivant
Pour la suite, choisissez "n" pour team drive :

Configure this as a team drive?                                                                                                                                                
y) Yes                                                                                                                                                                         
n) No                                                                                                                                                                          
y/n>  

Et finalement, mettez "y" pour sauvegarder cette config

--------------------                                                                                                                                                           
y) Yes this is OK                                                                                                                                                              
e) Edit this remote                                                                                                                                                            
d) Delete this remote 

Test de la première configuration[modifier]

Vous pouvez maintenant tester cette configuration rclone copy <un fichier> gdrive: Une fois terminé, vous devriez voir votre fichier dans votre Google Drive.

Configuration du drive chiffré[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

On va maintenant faire une autre configuration de rclone, qui va s'appuyer sur la précédente (gdrive), pour chiffrer les données. rclone config

e) Edit existing remote n) New remote 
d) Delete remote 
r) Rename remote 
c) Copy remote 
s) Set configuration password 
q) Quit config 

Choisissez "n" pour "new remote"
Donnez lui le nom que vous voulez. Nous utiliserons gdrive-crypt pour la suite.

 9 / Encrypt/Decrypt a remote 
 \ "crypt" 

Pour la suite, il va falloir lui donner la "source" :

** See help for crypt backend at: https://rclone.org/crypt/ ** 
 
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> gdrive:/crypt 

En remote, si vous avez appelé votre première config différement, pensez à changer. Dans l'exemple que j'ai mis, cette configuration va écrire dans votre drive, dans le dossier crypt. Il n'est pas nécessaire que ce dossier existe. Si vous voulez écrire à la racine du drive, vous pouvez juste mettre gdrive:

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

Choisissez 2 pour chiffrer les noms de fichiers

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" 

Choisissez 1 pour chiffrer les noms de dossiers

Pour la partie suivante, je laisse rclone choisir une passphrase et un salt pour chiffrer les données. Il faut absolument stocker ces données quelque part, sans ça 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> g 
Password strength in bits. 
64 is just about memorable 
128 is secure 
1024 is the maximum 
Bits> 1024 
Your password is: xxxxxxxxxxxxxxxxxxxx 
Use this password? Please note that an obscured version of this 
password (and not the password itself) will be stored under your 
configuration file, so keep this generated password in a safe place. 
y) Yes 
n) No 
y/n> y 
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> g 
Password strength in bits. 
64 is just about memorable 
128 is secure 
1024 is the maximum 
Bits> 1024 
Your password is: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Use this password? Please note that an obscured version of this 
password (and not the password itself) will be stored under your 
configuration file, so keep this generated password in a safe place. 
y) Yes 
n) No 
y/n> y 
Remote config 
-------------------- 
[gdrive-crypt] 
type = crypt 
remote = gdrive:/crypt 
filename_encryption = standard 
directory_name_encryption = true 
password = *** ENCRYPTED *** 
password2 = *** ENCRYPTED *** 
-------------------- 
y) Yes this is OK 
e) Edit this remote 
d) Delete this remote 

Test de la configuration chiffrée[modifier]

Vous pouvez maintenant tester cette configuration rclone copy <un fichier> gdrive-crypt: Une fois terminé, si vous allez dans votre Google Drive, vous verrez une nouvelle entrée, mais complètement illisible parce que chiffrée.
Pour voir si le déchiffrement se passe bien : rclone ls gdrive-crypt: Ca lister les fichier de cette configuration, et vous devriez voir le bon nom de fichier

Montage des remotes[modifier]

Vous devez créer un répertoire pour chaque remote que vous souhaitez monter. Nous allons donc en créer deux sudo mkdir -p /mnt/gdrive sudo mkdir -p /mnt/gdrive-crypt sudo chown -R ${USER}: /mnt/gdrive sudo chown -R ${USER}: /mnt/gdrive-crypt

Premiers montages[modifier]

Nous allons dans un premier temps faire les montages à la main. C'est une commande rclone qui ne rend pas la main, donc vous devez vous assurer d'avoir d'autres fenêtres disponibles pour tester.

rclone mount gdrive: /mnt/gdrive Vous pouvez vous assurer dans une autre fenêtre que les fichiers sont accessibles, et que vous pouvez en créer/modifier
Quittez bien la fenêtre de test (le répertoire /mnt/gdrive ne dois pas être utilisé !) et revenez à la première fenêtre. Faites Ctrl+C pour démonter.
Recommencez cette opération de test avec /mnt/gdrive-crypt et le remote gdrive-crypt:, vous devriez vous voir vos fichiers chiffrés en clair.

Montage automatique[modifier]

Pour chaque montage que vous voulez créer, vous allez devoir créer un fichier service dans /etc/systemd/system.
Par exemple : /etc/systemd/system/rclone-gdrive.service

[Unit]
Description=Google Drive (rclone)
AssertPathIsDirectory=/mnt/gdrive

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount \
        --config=/home/steph/.config/rclone/rclone.conf \
        --allow-other \
        --no-modtime \
        --drive-use-trash \
        --stats=0 \
        --checkers=16 \
        gdrive:/ /mnt/gdrive
ExecStop=/bin/fusermount -u /mnt/gdrive
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

Pensez à modifier :

  • le chemin de la config rclone
  • le chemin du répertoire à monter (3 fois)
  • le nom du remote

Pour monter le répertoire : systemctl start rclone-gdrive Pour le démonter : systemctl stop rclone-gdrive !!! ATTENTION !!! N'utilisez pas ce répertoire monté directement dans plex, cela va appeler trop d'API et vous faire bannir pendant 24h de votre drive !