GNU/Linux >> Linux Esercitazione >  >> Linux

Trasferisci file tra computer e dispositivi mobili scansionando i codici QR

Il trasferimento di file tra un computer e un cellulare può essere eseguito in vari metodi e utilizzando vari protocolli. Oggi vedremo un approccio completamente nuovo e diverso. Questa guida spiega come trasferire file tra computer e dispositivi mobili tramite la scansione dei codici QR. Sì, avete letto bene! Saluta Qrcp , precedentemente noto come Qr-filetransfer , una semplice applicazione di trasferimento file da riga di comando utilizzata per inviare e ricevere file tramite Wi-Fi tra un sistema Linux e un telefono cellulare scansionando un codice QR, senza uscire dal Terminale.

Quando invii file, Qrcp legherà un server web all'indirizzo della tua scheda di interfaccia di rete WiFi su una porta casuale e creerà un gestore per esso. Il gestore predefinito servirà il contenuto e uscirà dal programma una volta completato il trasferimento. Allo stesso modo, quando si ricevono file, qrcp serve una pagina di caricamento e gestisce il trasferimento.

Qrcp è un programma gratuito e open source scritto in Go linguaggio di programmazione ed è rilasciato sotto MIT licenza.

Installa Qrcp su Linux

Qrcp può essere installato in più modi. Installa Qrcp in Linux usando uno dei seguenti metodi.

Installa Qrcp con Golang

Innanzitutto, installa il linguaggio di programmazione Go nel tuo sistema Linux come descritto nel seguente link.

  • Come installare Go Language in Linux

Dopo aver installato Golang, esegui il seguente comando per installare Qrcp nel tuo sistema Linux:

$ go get github.com/claudiodangelis/qrcp

Installa Qrcp dai binari

Scarica l'ultimo file di archivio Qrcp dalla pagina delle versioni . Al momento della stesura di questa guida, l'ultima versione era 0.7.0 .

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

Estrarre l'archivio scaricato utilizzando la virgola:

$ tar xf qrcp_0.7.0_linux_x86_64.tar.gz

Sposta il file binario nel tuo $PATH :

$ sudo mv qrcp /usr/local/bin

Infine, imposta l'autorizzazione eseguibile:

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

Tieni presente che l'ultimo passaggio è facoltativo. Non devi renderlo eseguibile. In questo caso, il file diventerà eseguibile dopo averlo spostato nel tuo percorso.

Installa Qrcp utilizzando i gestori di pacchetti

Qrcp è disponibile in AUR.

  • qrcp-bin
  • qrcp

Puoi installarlo utilizzando qualsiasi supporto AUR, ad esempio .

$ yay -S qrcp

Oppure,

$ yay -S qrcp-bin

Qrcp è anche disponibile come .deb e .rpm File. Vai alla pagina dei rilasci e scarica la versione adatta per la tua distribuzione.

Se utilizzi sistemi basati su Debian, scarica .deb file di installazione dalla pagina delle versioni e installalo come di seguito.

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

Su sistemi basati su RPM, come CentOS, RHEL, scarica .rpm file dalla pagina delle versioni e installalo come di seguito:

$ sudo dnf install qrcp_0.7.0_linux_x86_64.rpm

Oppure,

$ sudo rpm -ivh qrcp_0.7.0_linux_x86_64.rpm

Una volta installato, conferma se Qrcp funziona eseguendo questo comando:

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

Trasferisci file tra computer e dispositivi mobili utilizzando Qrcp scansionando i codici QR

Il trasferimento di file tra computer e dispositivi mobili con Qrcp è abbastanza semplice!

Ai fini di questa guida, utilizzerò il sistema desktop Ubuntu 20.04 LTS e un Tablet PC Android.

Assicurati di aver installato un'applicazione per la lettura di codici QR sul tuo cellulare. Ci sono molti lettori di codici QR disponibili per Android. Effettua una rapida ricerca sul Web e installa qualsiasi lettore di codici QR di tua scelta sul tuo telefonino.

Invia file dal computer al cellulare utilizzando Qrcp

Per prima cosa, vediamo come inviare un file da un sistema Linux a un dispositivo mobile.

Invierò un file immagine dal mio desktop Ubuntu al tablet PC usando il comando:

$ qrcp ostechnix.png

Quando avvii Qrcp per la prima volta, eseguirà la scansione del tuo sistema per trovare il numero di interfacce di rete WiFi disponibili nel tuo sistema. Se sono disponibili più schede WiFi adatte, Qrcp ti chiederà di sceglierne una per trasferire i file. Nel mio caso, ho scelto l'interfaccia wireless, ovvero wlp9s0 . Premi il tasto INVIO per accettare l'interfaccia wireless. Qrcp ricorderà questa scelta e non chiederà la prossima volta.

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)

Ora vedrai un codice QR nel tuo terminale come mostrato di seguito.

✔ 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
█████████████████████████████████████
█████████████████████████████████████
████ ▄▄▄▄▄ ██▄ ▄███▄▄█▀▄▄█ ▄▄▄▄▄ ████
████ █   █ █ ▀▀ ██▄█▄▀██▄█ █   █ ████
████ █▄▄▄█ █ ██▄█   █▀▄█ █ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀▄█▄▀▄▀▄█ █ █▄▄▄▄▄▄▄████
████ ▀  ▄▄▄█▀▀▀███▄ ▄█▀ █▀   ▄▄█▀████
████▀█▄ ▀▄▄ ██  ▀█▀█▀▀ ▀▀▄▀ ▀██▀█████
████▀▀▄▄▄▀▄▄▀█▄▀█▀▀▄ █▄▄▀ ▀▄▄▄ █▀████
████ █▀  █▄▀▀ █ █ ▄▄ ▄█ █ ▀█ █▄▀█████
████ █▀ ██▄▄▄▄█ ▀█▄▄█▄▄█ █▄█▀▀ █▀████
████ █▄█▀▄▄▄█ █ ▄█▀█▀▄▀▀▀█▄█ ▄▄▀█████
████▄█▄▄▄▄▄▄ ▄▄▀▀▀▀▄ ██▀ ▄▄▄ ▀   ████
████ ▄▄▄▄▄ █▀▄█▀█ ▄▄▄ ▀  █▄█ ▄▄█▀████
████ █   █ █  ▀▀▄█▄▄ ▄▀    ▄ ▄█▀█████
████ █▄▄▄█ █▄▄█▀  ▄██▄▀▄ ▀█▄▀██ █████
████▄▄▄▄▄▄▄█▄█▄█▄▄▄▄█████▄█▄█████████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Ora apri l'app del lettore di codici QR nel tuo telefono cellulare e scansiona il codice QR mostrato nel terminale del computer Linux. Dopo aver scansionato il codice QR, vedrai l'URL di download sul tuo cellulare. Basta fare clic per scaricare il file.

Il file verrà scaricato nella cartella Download predefinita sul tuo cellulare.

Puoi anche inviare più file:

$ qrcp file1 file2

E un'intera cartella può essere inviata come di seguito:

$ qrcp ~/Documents/

Se la dimensione del file è grande, comprimilo e invialo con --zip bandiera:

$ qrcp --zip movie.mp4

Ricevi file dal cellulare al computer utilizzando Qrcp

Per inviare un file al tuo computer dal tuo dispositivo mobile, esegui il seguente comando nel Terminale del tuo sistema Linux:

$ qrcp receive

Vedrai il codice QR nel Terminale:

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

Apri il lettore di codici QR nel dispositivo mobile e scansiona il codice QR sopra. Fai clic sull'URL per caricare i file dal tuo cellulare:

Si aprirà una nuova finestra del browser sul tuo cellulare. Scegli i file che desideri inviare dal tuo cellulare al tuo Computer e fai clic sul pulsante Trasferisci:

Al termine del trasferimento file, vedrai il seguente messaggio sul tuo dispositivo mobile:

Sul tuo terminale Linux, vedrai il seguente messaggio al termine del trasferimento del file:

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

Come puoi vedere, il file viene scaricato nella directory corrente. Se vuoi ricevere i file in una directory specifica, usa il --output bandiera:

$ qrcp receive --output=~/Downloads

In questo caso, tutti i file verranno scaricati nel ~/Downloads directory.

Opzioni Qrcp

Qrcp richiede una configurazione zero. Per impostazione predefinita, Qrcp funzionerà immediatamente senza alcuna configurazione precedente. Tuttavia, puoi modificare la funzionalità di Qrcp in determinati modi con l'aiuto dei parametri Qrcp. Ad esempio, puoi utilizzare una porta specifica invece di una porta casuale, specificare la posizione del file di configurazione, utilizzare una scheda di interfaccia di rete specifica per il trasferimento di file, utilizzare URL personalizzati per inviare/ricevere file, utilizzare FQDN invece dell'indirizzo IP, stampare il codice QR in browser, mantenere attivo il server e trasferire file in modo sicuro tramite HTTPS ecc.

Configura Qrcp

Il file di configurazione predefinito è archiviato in $HOME/.qrcp.json . Qrcp leggerà e utilizzerà i parametri definiti in questo file durante il trasferimento dei file.

Puoi visualizzare i parametri attualmente configurati usando cat comando:

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

Possiamo configurare i parametri predefiniti di Qrcp a nostro piacimento eseguendo il seguente comando:

$ qrcp config

Scegli l'interfaccia di rete wireless adatta da utilizzare per il trasferimento di file:

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

Se per qualche motivo non vedi le interfacce di rete, usa invece il seguente comando:

$ qrcp --list-all-interfaces config

Immettere il nome completo (FQDN):

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

Scegli una porta casuale:

✔ Choose port, 0 means random port: 8080

Se desideri utilizzare una porta casuale, premi semplicemente 0 (zero).

Inserisci il percorso di destinazione per salvare i file/cartelle:

✔ Choose path, empty means random: ~/Downloads

Per impostazione predefinita, Qrcp salverà i file/cartelle ricevuti nella directory corrente.

Scegli se vuoi mantenere attivo il server dopo il trasferimento di file:

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

Seleziona l'opzione appropriata se desideri trasferire il file in modo sicuro:

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

Se scegli "Sì", dovrai inserire il percorso del certificato TLS e la chiave del certificato TLS.

Dopo aver aggiornato il file di configurazione, la configurazione di default verrà aggiornata con i nuovi valori.

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

Qrcp utilizzerà questi nuovi valori durante il trasferimento dei file.

Puoi anche utilizzare manualmente parametri personalizzati invece dei parametri esistenti definiti nel file di configurazione.

Utilizza la porta personalizzata

Qrcp utilizzerà qualsiasi porta disponibile casuale durante l'invio e la ricezione di file tra il tuo computer e il dispositivo mobile. Se vuoi usare una determinata porta, ad esempio 8080 , durante il trasferimento dei file, usa --port o -p bandiera:

$ qrcp --port 8080 file.txt

Specifica la posizione del file di configurazione

Come affermato in precedenza, il file di configurazione predefinito è archiviato in $HOME/.qrcp.json . Se desideri utilizzare un file di configurazione archiviato in una posizione diversa, specificane il percorso utilizzando --config bandiera:

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

Utilizza un'interfaccia WiFi specifica per il trasferimento di file

Se nel tuo sistema sono disponibili più interfacce Wi-Fi adatte, puoi utilizzare un'interfaccia Wi-Fi specifica per il trasferimento di file utilizzando l' --interface (o -i ) bandiera:

$ qrcp -i wlp9s0 file.txt

Assegna un percorso specifico per gli URL

Qrcp utilizza i seguenti formati URL per impostazione predefinita per inviare e ricevere file:

  • invia - http://{ip address}:{port}/send/{random path}
  • ricezione - http://{ip address}:{port}/receive/{random path}

Se desideri utilizzare un percorso specifico per gli URL, anziché un percorso casuale, utilizza --path bandiera:

$ qrcp --path=abcd file.txt

Ora, l'URL risultante sarà:

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

Utilizza FQDN invece dell'indirizzo IP

Per impostazione predefinita, Qrcp utilizzerà l'indirizzo IP del tuo sistema Linux nell'URL. Se desideri utilizzare un nome completo anziché l'indirizzo IP nell'URL, utilizza --fqdn (o -d ) bandiera:

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

Stampa il codice QR nel browser

Qrcp genererà il codice QR nel Terminale. Se desideri stampare il QR al di fuori della finestra del Terminale, utilizza il --browser bandiera.

$ qrcp --browser file.txt

Questo comando stamperà ancora il codice QR nel Terminale, ma visualizzerà anche il codice QR nella nuova finestra del tuo browser web predefinito.

Mantieni il server attivo

Una volta completato il trasferimento del file, la connessione verrà chiusa automaticamente. Quindi gli altri dispositivi non possono più accedere a quel file/cartella. Se desideri trasferire lo stesso file/cartella su più dispositivi, mantieni attivo il server utilizzando il --keep-alive bandiera:

$ qrcp --keep-alive file.txt

Ricevere aiuto

Per visualizzare l'elenco dei sottocomandi disponibili e dei flag, eseguire:

$ 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. Come trasferire file tra due computer utilizzando i comandi nc e pv

  2. EasyJoin:invia file tra telefono e PC senza Internet

  3. differenza tra file di dispositivo e driver di dispositivo

  4. Il modo migliore per trasferire file su una LAN tra due computer Linux

  5. Come trasferire file tra Linux e Android in modo veloce e affidabile?

Trasferisci file e cartelle tra computer con Croc

Trasferisci file tra qualsiasi dispositivo utilizzando Piping Server

Come installare Rclone in Linux e Unix

Come trasferire file tra Dropbox e Google Drive con Rclone in Linux

4 modi per trasferire file tra sistemi remoti e locali su SSH

Condivisione di file tra Linux Mint e Windows 10