Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Ceci est une ancienne révision du document !


duck

Outil universel de transfert de fichiers, Duck s'exécute dans le shell sous Linux et OS X ou dans l'invite de ligne de commande de Windows.

Il permet de modifier des fichiers sur des serveurs distants, télécharger, charger et copier entre serveurs via FTP, SFTP ou WebDAV.

Il prend en charge le stockage en cloud Amazon S3 et les déploiements OpenStack Swift.

Pré-requis

Installation

  1. Paquet DEB :
    1. Ajoutez le dépôt :

      ...@...:~ $ sudo apt-add-repository "deb https://s3.amazonaws.com/repo.deb.cyberduck.io stable main"

    2. et sa clé :

      ...@...:~ $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FE7097963FEFBE72

    3. Installez :

      ...@...:~ $ sudo apt update
      ...@...:~ $ sudo apt install duck

Configuration

Utilisation

...@...:~ $ duck [options...]

Pour de l'aide :

...@...:~ $ duck --help

Les URL doivent être pleinement qualifiées.

Les chemins peuvent désigner :

  • un fichier distant (ftps:user@example.net/resource) * ou un dossier (ftps:user@example.net/directory/) avec une barre oblique finale.

Vous pouvez référencer des fichiers relatifs à votre répertoire personnel avec /~ (ftps://user@example.net/~/).

Protocoles par défaut

WebDAV (HTTP) dav://<hostname>/<folder>/<file>
WebDAV (HTTPS) davs://<hostname>/<folder>/<file>
FTP (File Transfer Protocol) ftp://<hostname>/<folder>/<file>
FTP-SSL (Explicit AUTH TLS) ftps://<hostname>/<folder>/<file>
SFTP (SSH File Transfer Protocol) sftp://<hostname>/<folder>/<file>
Windows Azure Blob Storage azure:(//<hostname>)/<container>/<key>
Backblaze B2 Cloud Storage b2:/<container>/<key>
Google Cloud Storage gs:/<container>/<key>
Amazon S3 s3:(//<hostname>)/<container>/<key>
OpenStack Swift (Keystone 2.0) swift://<hostname>/<container>/<key>
OpenStack Swift (Keystone 3) swift://<hostname>/<container>/<key>
Rackspace Cloud Files (US) rackspace:/<container>/<key>
DRACOON (OAuth) dracoon:(//<hostname>)/<folder>/<file>
Dropbox dropbox:/<folder>/<file>
Google Drive googledrive:/<folder>/<file>
Microsoft OneDrive onedrive:/<folder>/<file>
Microsoft SharePoint sharepoint:/<folder>/<file>
Microsoft SharePoint Site sharepoint-site:(//<hostname>)/<folder>/<file>
                                 DRACOON (OAuth) %%dracoon:(//<hostname>)/<folder>/<file>%%
                                         Dropbox %%dropbox:/<folder>/<file>%%
                                    Google Drive %%googledrive:/<folder>/<file>%%
                              Microsoft OneDrive %%onedrive:/<folder>/<file>%%
                            Microsoft SharePoint %%sharepoint:/<folder>/<file>%%
                       Microsoft SharePoint Site %%sharepoint-site:(//<hostname>)/<folder>/<file>%%

Options

–application <path> Application éditeur externe
-c,–mkdir <url> Créer un répertoire
–chmod <mode> Définir les permissions explicites en octal pour le fichier téléchargé
–copy <url> <url> Copier entre les serveurs
-d,–download <url> <file> Télécharger un fichier ou un dossier. Un dossier se note avec un '/' à la fin
-D,–delete <url> Supprimer
–debug Afficher la sortie de débogage
-e,–existing <action> Actions de transfert pour les fichiers existants :
Downloads and uploads: resume Reprendre (ajouter des fichiers existants)
overwrite Écraser (écraser tous les fichiers)
similar Renommer (renommer les fichiers transférés avec un horodatage ajouté au nom de fichier)
rename Renommer les fichiers existants (renommer les fichiers existants avec l'horodatage ajouté au nom de fichier)
skip Ignorer (Ignorer le transfert des fichiers qui existent déjà)
compare Comparer (ignorer les fichiers qui correspondent à la taille, à la date de modification ou à la somme de contrôle)
cancel Annuler (Annuler)
Synchronize: download Télécharger (Télécharger les fichiers modifiés et manquants)
upload Téléverser (téléverser les fichiers modifiés et manquants)
mirror Miroir (téléchargement et téléchargement)
cancel Annuler (Annuler)
–edit <url> Modifier le fichier dans un éditeur externe
-h,–help Print this help
-i,–identity <private key file> Selects a file from which the identity (private key) for public key authentication is read.
-l,–list <url> List files in remote folder
-L,–longlist <url> Long list format with modification date and permission mask
–nochecksum Skip verifying checksum
–nokeychain Do not save passwords in keychain
-p,–password <password or secret key> Password
-P,–preserve Preserve permissions and modificatin date for transferred files
–parallel <connections> Number of concurrent connections to use for transfers
–profile <profile> Use connection profile
-q,–quiet Suppress progress messages
-r,–retry Retry failed connection attempts
–region <location> Location of bucket or container
–synchronize <url> <directory> Synchronize folders
–throttle <bytes per second> Throttle bandwidth
-u,–username <username or access key> Username
–udt Use UDT protocol if applicable
–upload <url> <file> Upload file or folder recursively
-V,–version Show version number and quit.
-v,–verbose Print transcript
–vault <path> Unlock vault
-y,–assumeyes Assume yes for all prompts
  1. -application <path> External editor application

-c,–mkdir <url> Make directory

  1. -chmod <mode> Set explicit permission from octal mode value for uploaded file
  2. -copy <url> <url> Copy between servers

-d,–download <url> <file> Download file or folder. Denote a folder with a trailing '/' -D,–delete <url> Delete

  1. -debug Print debug output

-e,–existing <action> Transfer actions for existing files

                                        Downloads and uploads:
                                                   resume  Resume (Append existing files)
                                                overwrite  Overwrite (Overwrite all files)
                                                  similar  Rename (Rename transferred files with a timestamp appended to the filename)
                                                   rename  Rename existing (Rename existing files with timestamp appended to filename)
                                                     skip  Skip (Skip transfer of files that already exist)
                                                  compare  Compare (Skip files that match size, modification date or checksum)
                                                   cancel  Cancel (Cancel)
                                        Synchronize:
                                                 download  Download (Download changed and missing files)
                                                   upload  Upload (Upload changed and missing files)
                                                   mirror  Mirror (Download and Upload)
                                                   cancel  Cancel (Cancel)
                                        
  --edit <url>                          Edit file in external editor

-h,–help Print this help -i,–identity <private key file> Selects a file from which the identity (private key) for public key authentication is read. -l,–list <url> List files in remote folder -L,–longlist <url> Long list format with modification date and permission mask

  1. -nochecksum Skip verifying checksum
  2. -nokeychain Do not save passwords in keychain

-p,–password <password or secret key> Password -P,–preserve Preserve permissions and modificatin date for transferred files

  1. -parallel <connections> Number of concurrent connections to use for transfers
  2. -profile <profile> Use connection profile

-q,–quiet Suppress progress messages -r,–retry Retry failed connection attempts

  1. -region <location> Location of bucket or container
  2. -synchronize <url> <directory> Synchronize folders
  3. -throttle <bytes per second> Throttle bandwidth

-u,–username <username or access key> Username

  1. -udt Use UDT protocol if applicable
  2. -upload <url> <file> Upload file or folder recursively

-V,–version Show version number and quit. -v,–verbose Print transcript

  1. -vault <path> Unlock vault

-y,–assumeyes Assume yes for all prompts

Profils de connexion

Vous pouvez installer des profils de connexion supplémentaires dans le répertoire de support de l'application.

Utilisez l'option –profile pour référencer un fichier de profil de connexion à utiliser non installé dans l'emplacement standard.

Profils de connexion tiers

Installer des profils de connexion supplémentaires dans ~/.duck/profiles

URI

L'argument <url> pour -copy, -download, -upload et -synchronize doit satisfaire aux règles suivantes :

  • Chaque URL doit commencer par http/https:
  • Selon le protocole auxquels vous faites référence, différentes règles s'appliquent.
    • Pour tous les protocoles sans nom d'hôte par défaut (par exemple WebDAV, SFTP et FTPS), vous devez utiliser un URI pleinement qualifié https://user@hostname/path
    • Pour les protocoles où un nom d'hôte par défaut est défini, mais que vous pouvez modifier (par exemple, S3), vous pouvez utiliser des URI pleinement qualifiés ou des
      • chemins absolus : s3:/bucket/path
      • Chemins relatifs : s3:user@path ou s3:user@/path L'omission de la première barre oblique dans un chemin relatif utilise le répertoire d'origine par défaut pour ce protocole.
    • Pour les protocoles où un nom d'hôte par défaut est défini et que vous n'êtes pas autorisé à le modifier (par exemple OneDrive, Dropbox, Google Drive), vous pouvez utiliser n'importe quelle combinaison des noms ci-dessus en respectant les règles suivantes :
      • Les URI entièrement qualifiées sont analysées comme des chemins relatifs. onedrive:Some/Folder/ est analysé comme onedrive:Some/Folder.
        • Pour les protocoles où un chemin par défaut non modifiable est défini (par exemple, l'accès à un profil NextCloud préconstruit avec un chemin défini sur /remote.php/webdav). Si vous modifiez le chemin, il sera ajouté au chemin par défaut. nextcloud:/path devient nextcloud:/remote.php/webdav/path. Les espaces et autres caractères spéciaux n'ont pas besoin d'être codés avec des caractères pourcentage tant que le chemin est entre guillemets duck –upload “scheme:hostname/path with/spaces” “/Path/To/Local/File With/Spaces”).

Désinstallation

Voir aussi