GNU/Linux >> Tutoriels Linux >  >> Linux

Transférer des fichiers entre ordinateurs et appareils mobiles en scannant des codes QR

Le transfert de fichiers entre un ordinateur et un mobile peut se faire de différentes manières et en utilisant différents protocoles. Aujourd'hui, nous verrons une toute nouvelle approche, différente. Ce guide explique comment transférer des fichiers entre ordinateurs et appareils mobiles en scannant des codes QR. Oui, tu l'as bien lu! Dites bonjour à Qrcp , anciennement connu sous le nom de Qr-filetransfer , une simple application de transfert de fichiers en ligne de commande utilisée pour envoyer et recevoir des fichiers via WiFi entre un système Linux et un téléphone mobile en scannant un code QR, sans quitter le Terminal.

Lors de l'envoi de fichiers, Qrcp liera un serveur Web à l'adresse de votre carte d'interface réseau WiFi sur un port aléatoire et créera un gestionnaire pour celui-ci. Le gestionnaire par défaut servira le contenu et quittera le programme une fois le transfert terminé. De même, lors de la réception de fichiers, qrcp sert une page de téléchargement et gère le transfert.

Qrcp est un programme gratuit et open source écrit en Go langage de programmation et est publié sous MIT licence.

Installer Qrcp sur Linux

Qrcp peut être installé de plusieurs façons. Installez Qrcp sous Linux en utilisant l'une des méthodes suivantes.

Installer Qrcp avec Golang

Tout d'abord, installez le langage de programmation Go dans votre système Linux comme décrit dans le lien suivant.

  • Comment installer le langage Go sous Linux

Après avoir installé Golang, exécutez la commande suivante pour installer Qrcp sur votre système Linux :

$ go get github.com/claudiodangelis/qrcp

Installer Qrcp à partir des binaires

Téléchargez le dernier fichier d'archive Qrcp depuis la page des versions . Au moment de la rédaction de ce guide, la dernière version était 0.7.0 .

$ wget https://github.com/claudiodangelis/qrcp/releases/download/0.7.0/qrcp_0.7.0_linux_x86_64.tar.gz

Extrayez l'archive téléchargée à l'aide de commad :

$ tar xf qrcp_0.7.0_linux_x86_64.tar.gz

Déplacez le fichier binaire vers votre $PATH :

$ sudo mv qrcp /usr/local/bin

Enfin, définissez l'autorisation exécutable :

$ sudo chmod +x /usr/local/bin/qrcp

Veuillez noter que la dernière étape est facultative. Vous n'êtes pas obligé de le rendre exécutable. Dans ce cas, le fichier deviendra exécutable après l'avoir déplacé vers votre chemin.

Installer Qrcp en utilisant les gestionnaires de paquets

Qrcp est disponible en AUR.

  • qrcp-bin
  • qrcp

Vous pouvez l'installer en utilisant n'importe quel assistant AUR, par exemple Yay .

$ yay -S qrcp

Ou,

$ yay -S qrcp-bin

Qrcp est également disponible en tant que .deb et .rpm des dossiers. Accédez à la page des versions et téléchargez la version adaptée à votre distribution.

Si vous êtes sur des systèmes basés sur Debian, téléchargez le .deb fichier d'installation à partir de la page des versions et installez-le comme ci-dessous.

$ sudo apt install gdebi
$ sudo gdebi qrcp_0.7.0_linux_x86_64.deb

Sur les systèmes basés sur RPM, tels que CentOS, RHEL, téléchargez le .rpm fichier à partir de la page des versions et installez-le comme ci-dessous :

$ sudo dnf install qrcp_0.7.0_linux_x86_64.rpm

Ou,

$ sudo rpm -ivh qrcp_0.7.0_linux_x86_64.rpm

Une fois installé, confirmez si Qrcp fonctionne en exécutant cette commande :

$ qrcp version
qrcp 0.7.0 [date: 2020-10-08T13:30:56Z]

Transférer des fichiers entre ordinateurs et appareils mobiles à l'aide de Qrcp en scannant des codes QR

Transférer des fichiers entre ordinateurs et mobiles avec Qrcp est assez simple !

Pour les besoins de ce guide, j'utiliserai le système de bureau Ubuntu 20.04 LTS et une tablette PC Android.

Assurez-vous d'avoir installé une application de lecture de code QR sur votre téléphone mobile. Il existe de nombreux lecteurs de code QR disponibles pour Android. Veuillez effectuer une recherche rapide sur le Web et installer le lecteur de code QR de votre choix sur votre mobile.

Envoyer des fichiers d'un ordinateur à un mobile à l'aide de Qrcp

Voyons d'abord comment envoyer un fichier d'un système Linux vers un mobile.

Je vais envoyer un fichier image de mon bureau Ubuntu vers la tablette PC en utilisant la commande :

$ qrcp ostechnix.png

Lorsque vous lancez Qrcp pour la première fois, il analyse votre système pour trouver le nombre d'interfaces réseau WiFi disponibles dans votre système. S'il y a plus d'une carte WiFi appropriée disponible, Qrcp vous demandera d'en choisir une pour transférer les fichiers. Dans mon cas, j'ai choisi l'interface sans fil, c'est-à-dire wlp9s0 . Appuyez sur la touche ENTER pour accepter l'interface sans fil. Qrcp se souviendra de ce choix et ne le demandera pas la prochaine fois.

Use the arrow keys to navigate: ↓ ↑ → ← 
? Choose interface: 
  ▸ wlp9s0 (192.168.225.37)
    virbr0 (192.168.122.1)
    mpqemubr0 (10.39.86.1)
    any (0.0.0.0)

Vous verrez maintenant un code QR dans votre terminal comme indiqué ci-dessous.

✔ wlp9s0 (192.168.225.37)
Scan the following URL with a QR reader to start the file transfer:
http://192.168.225.37:41377/send/7jwi
█████████████████████████████████████
█████████████████████████████████████
████ ▄▄▄▄▄ ██▄ ▄███▄▄█▀▄▄█ ▄▄▄▄▄ ████
████ █   █ █ ▀▀ ██▄█▄▀██▄█ █   █ ████
████ █▄▄▄█ █ ██▄█   █▀▄█ █ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀▄█▄▀▄▀▄█ █ █▄▄▄▄▄▄▄████
████ ▀  ▄▄▄█▀▀▀███▄ ▄█▀ █▀   ▄▄█▀████
████▀█▄ ▀▄▄ ██  ▀█▀█▀▀ ▀▀▄▀ ▀██▀█████
████▀▀▄▄▄▀▄▄▀█▄▀█▀▀▄ █▄▄▀ ▀▄▄▄ █▀████
████ █▀  █▄▀▀ █ █ ▄▄ ▄█ █ ▀█ █▄▀█████
████ █▀ ██▄▄▄▄█ ▀█▄▄█▄▄█ █▄█▀▀ █▀████
████ █▄█▀▄▄▄█ █ ▄█▀█▀▄▀▀▀█▄█ ▄▄▀█████
████▄█▄▄▄▄▄▄ ▄▄▀▀▀▀▄ ██▀ ▄▄▄ ▀   ████
████ ▄▄▄▄▄ █▀▄█▀█ ▄▄▄ ▀  █▄█ ▄▄█▀████
████ █   █ █  ▀▀▄█▄▄ ▄▀    ▄ ▄█▀█████
████ █▄▄▄█ █▄▄█▀  ▄██▄▀▄ ▀█▄▀██ █████
████▄▄▄▄▄▄▄█▄█▄█▄▄▄▄█████▄█▄█████████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Maintenant, ouvrez l'application de lecteur de code QR sur votre téléphone mobile et scannez le code QR affiché dans le terminal de l'ordinateur Linux. Après avoir scanné le code QR, vous verrez l'URL de téléchargement sur votre téléphone mobile. Cliquez simplement dessus pour télécharger le fichier.

Le fichier sera téléchargé dans le dossier de téléchargement par défaut de votre mobile.

Vous pouvez également envoyer plusieurs fichiers :

$ qrcp file1 file2

Et un dossier entier peut être envoyé comme ci-dessous :

$ qrcp ~/Documents/

Si la taille du fichier est importante, il suffit de le compresser et de l'envoyer avec --zip drapeau :

$ qrcp --zip movie.mp4

Recevez des fichiers d'un mobile à un ordinateur à l'aide de Qrcp

Pour envoyer un fichier sur votre ordinateur depuis votre appareil mobile, exécutez la commande suivante dans le terminal de votre système Linux :

$ qrcp receive

Vous verrez le code QR dans le terminal :

Scan the following URL with a QR reader to start the file transfer:
http://192.168.225.37:35221/receive/3xiz
█████████████████████████████████████
█████████████████████████████████████
████ ▄▄▄▄▄ ██  █ ▀ ▄██  ▄█ ▄▄▄▄▄ ████
████ █   █ █ ▀█▄▀ ▄▀▄█▄▄██ █   █ ████
████ █▄▄▄█ █  ▄█ ██▄▀▄▀█▀█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █ ▀▄█▄█ █ ▀▄█▄▄▄▄▄▄▄████
████ ▀▄▄▄ ▄▀█▄ █ ▀█▄▄█▀▀█▀   ▄▄█▀████
████ ▄▄▀▀█▄ █▄▀▄▄ ▄▄▄▀ ▀▀▄▀ ▀██▀█████
██████▀█▄▄▄▀█ ▄█ █▄▄ █▀▄▀ ▀▄▄▄ █▀████
████▄ █  █▄▄█    █▀██▄█ █ ▀█ █▄▀█████
████ ▀▀▀█▀▄▀▀▀▀█▄▀▀  ▄ █ █▄█▀▀ █▀████
████ █ ▀▀█▄ █ █▀  ▄▄▀▄▀▀▀█▄█ ▄▄▀█████
████▄█▄██▄▄█ ▄ ▄▀█▄▄▀██▀ ▄▄▄ ▀   ████
████ ▄▄▄▄▄ █▀█▄█▄█▀▄ ▄▀  █▄█ ▄▄█▀████
████ █   █ █   █▀▀▀ ▄▄▄    ▄ ▄█▀█████
████ █▄▄▄█ █▄██▄█▄██▀▄▀▄ ▀█▄▀██ █████
████▄▄▄▄▄▄▄█▄▄▄▄███▄▄████▄█▄█████████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Ouvrez le lecteur de code QR de l'appareil mobile et scannez le code QR ci-dessus. Cliquez sur l'URL pour télécharger les fichiers depuis votre mobile :

Une nouvelle fenêtre de navigateur s'ouvrira sur votre mobile. Choisissez les fichiers que vous souhaitez envoyer de votre mobile vers votre ordinateur et cliquez sur le bouton Transférer :

Une fois le transfert de fichier réussi, vous verrez le message suivant sur votre appareil mobile :

Sur votre terminal Linux, vous verrez le message suivant une fois le transfert de fichier terminé :

Transferring file:  /home/sk/IMG-20201017-WA0002.jpg
/home/sk/IMG-20201017-WA0002.jpg[===============================================]  99.74% 0s
File transfer completed

Comme vous pouvez le voir, le fichier est téléchargé dans le répertoire courant. Si vous souhaitez recevoir les fichiers dans un répertoire spécifique, utilisez le --output drapeau :

$ qrcp receive --output=~/Downloads

Dans ce cas, tous les fichiers seront téléchargés dans le dossier ~/Downloads répertoire.

Options QRCP

QRCP ne nécessite aucune configuration. Par défaut, Qrcp fonctionnera immédiatement sans aucune configuration préalable. Vous pouvez cependant modifier la fonctionnalité de Qrcp de certaines manières à l'aide des paramètres Qrcp. Par exemple, vous pouvez utiliser un port spécifique au lieu d'un port aléatoire, spécifier l'emplacement du fichier de configuration, utiliser une carte d'interface réseau spécifique pour le transfert de fichiers, utiliser des URL personnalisées pour envoyer/recevoir des fichiers, utiliser FQDN au lieu de l'adresse IP, imprimer le code QR dans navigateur, garder le serveur actif et transférer des fichiers en toute sécurité via HTTPS, etc.

Configurer QRCP

Le fichier de configuration par défaut est stocké dans $HOME/.qrcp.json . Qrcp lira et utilisera les paramètres définis dans ce fichier lors du transfert de fichiers.

Vous pouvez afficher les paramètres actuellement configurés en utilisant cat commande :

$ cat $HOME/.qrcp.json
{
    "fqdn": "",
    "interface": "wlp9s0",
    "port": 0,
    "keepAlive": false,
    "path": "~/Desktop",
    "secure": false,
    "tls-key": "",
    "tls-cert": ""
}

Nous pouvons configurer les paramètres par défaut de Qrcp à notre guise en exécutant la commande suivante :

$ qrcp config

Choisissez l'interface réseau sans fil appropriée à utiliser pour le transfert de fichiers :

? Choose interface: 
    mpqemubr0 (10.39.86.1)
  ▸ wlp9s0 (192.168.225.37)
    virbr0 (192.168.122.1)
    any (0.0.0.0)

Si vous ne voyez pas les interfaces réseau pour une raison quelconque, utilisez plutôt la commande suivante :

$ qrcp --list-all-interfaces config

Saisissez le nom complet (FQDN) :

✔ Choose fully-qualified domain name: sk.ostechnix.example

Choisissez un port aléatoire :

✔ Choose port, 0 means random port: 8080

Si vous souhaitez utiliser un port aléatoire, appuyez simplement sur 0 (zéro).

Entrez le chemin de destination pour enregistrer les fichiers/dossiers :

✔ Choose path, empty means random: ~/Downloads

Par défaut, Qrcp enregistrera les fichiers/dossiers reçus dans le répertoire courant.

Choisissez si vous voulez garder le serveur actif après le transfert de fichiers :

? Should the server keep alive after transferring?: 
  ▸ No
    Yes

Sélectionnez l'option appropriée si vous souhaitez transférer le fichier en toute sécurité :

? Should files be securely transferred with HTTPS?: 
  ▸ No
    Yes

Si vous choisissez "Oui", vous devrez entrer votre chemin de certificat TLS et votre clé de certificat TLS.

Après la mise à jour du fichier de configuration, la configuration par défaut sera mise à jour avec les nouvelles valeurs.

Configuration updated:
{
  "fqdn": "sk.ostechnix.example",
  "interface": "wlp9s0",
  "port": 8080,
  "keepAlive": false,
  "path": "~/Downloads",
  "secure": false,
  "tls-key": "",
  "tls-cert": ""
}

Qrcp utilisera ces nouvelles valeurs lors du transfert de fichiers.

Vous pouvez également utiliser manuellement des paramètres personnalisés au lieu des paramètres existants définis dans le fichier de configuration.

Utiliser un port personnalisé

Qrcp utilisera n'importe quel port aléatoire disponible lors de l'envoi et de la réception de fichiers entre votre ordinateur et l'appareil mobile. Si vous souhaitez utiliser un certain port, par exemple 8080 , lors du transfert de fichiers, utilisez --port ou -p drapeau :

$ qrcp --port 8080 file.txt

Spécifiez l'emplacement du fichier de configuration

Comme indiqué précédemment, le fichier de configuration par défaut est stocké dans $HOME/.qrcp.json . Si vous souhaitez utiliser un fichier de configuration stocké à un emplacement différent, spécifiez son chemin à l'aide de --config drapeau :

$ qrcp --config ~/Downloads/qrcp.json file.txt

Utiliser une interface Wi-Fi spécifique pour le transfert de fichiers

Si plusieurs interfaces Wi-Fi appropriées sont disponibles dans votre système, vous pouvez utiliser une interface Wi-Fi spécifique pour le transfert de fichiers à l'aide de --interface (ou -i ) drapeau :

$ qrcp -i wlp9s0 file.txt

Attribuer un chemin spécifique pour les URL

Qrcp utilise par défaut les formats d'URL suivants pour envoyer et recevoir des fichiers :

  • envoyer - http://{ip address}:{port}/send/{random path}
  • recevoir - http://{ip address}:{port}/receive/{random path}

Si vous souhaitez utiliser un chemin spécifique pour les URL, au lieu d'un chemin aléatoire, utilisez le --path drapeau :

$ qrcp --path=abcd file.txt

Maintenant, l'URL résultante sera :

$ http://{ip address}:{port}/send/abcd

Utiliser FQDN au lieu de l'adresse IP

Par défaut, Qrcp utilisera l'adresse IP de votre système Linux dans l'URL. Si vous souhaitez utiliser un nom complet au lieu de l'adresse IP dans l'URL, utilisez le --fqdn (ou -d ) drapeau :

$ qrcp --fqdn ostechnix.example -i wlp9s0 -p 8080 file.txt

Imprimer le code QR dans le navigateur

Qrcp générera le code QR dans le Terminal. Si vous souhaitez imprimer le QR en dehors de la fenêtre du terminal, utilisez le --browser drapeau.

$ qrcp --browser file.txt

Cette commande imprimera toujours le code QR dans le terminal, mais affichera également le code QR dans la nouvelle fenêtre de votre navigateur Web par défaut.

Gardez le serveur en vie

Une fois le transfert de fichier terminé, la connexion sera fermée automatiquement. Ainsi, les autres appareils ne peuvent plus accéder à ce fichier/dossier. Si vous souhaitez transférer le même fichier/dossier sur plusieurs appareils, maintenez le serveur actif à l'aide de --keep-alive drapeau :

$ qrcp --keep-alive file.txt

Obtenir de l'aide

Pour afficher la liste des sous-commandes disponibles et les drapeaux, exécutez :

$ qrcp --help
Usage:
  qrcp [flags]
  qrcp [command]

Available Commands:
  completion  Generate completion script
  config      Configure qrcp
  help        Help about any command
  receive     Receive one or more files
  send        Send a file(s) or directories from this host
  version     Print version number and build information.

Flags:
  -b, --browser               display the QR code in a browser window
  -c, --config string         path to the config file, defaults to $HOME/.qrcp
  -d, --fqdn string           fully-qualified domain name to use for the resulting URLs
  -h, --help                  help for qrcp
  -i, --interface string      network interface to use for the server
  -k, --keep-alive            keep server alive after transferring
  -l, --list-all-interfaces   list all available interfaces when choosing the one to use
      --path string           path to use. Defaults to a random string
  -p, --port int              port to use for the server
  -q, --quiet                 only print errors
  -s, --secure                use https connection
      --tls-cert string       path to TLS certificate to use with HTTPS
      --tls-key string        path to TLS private key to use with HTTPS
  -z, --zip                   zip content before transferring

Use "qrcp [command] --help" for more information about a command.

Linux
  1. Comment transférer des fichiers entre deux ordinateurs à l'aide des commandes nc et pv

  2. Transférer en toute sécurité des fichiers et des dossiers entre ordinateurs à l'aide de Croc

  3. Comment configurer le serveur SAMBA et transférer des fichiers entre Linux et Windows

  4. différence entre le fichier de périphérique et le pilote de périphérique

  5. Comment transférer des fichiers entre Linux et Android de manière rapide et fiable ?

Transférer des fichiers et des dossiers entre ordinateurs avec Croc

Transférer des fichiers entre n'importe quel appareil à l'aide de Piping Server

Comment installer Rclone sous Linux et Unix

Comment transférer des fichiers entre Dropbox et Google Drive avec Rclone sous Linux

4 façons de transférer des fichiers entre des systèmes distants et locaux via SSH

Partage de fichiers entre Linux Mint et Windows 10