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 Sì .
$ 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.