GNU/Linux >> Tutoriales Linux >  >> Linux

Transfiera archivos entre computadoras y dispositivos móviles escaneando códigos QR

La transferencia de archivos entre una computadora y un móvil se puede realizar de varios métodos y utilizando varios protocolos. Hoy, veremos un enfoque completamente nuevo y diferente. Esta guía explica cómo transferir archivos entre computadoras y dispositivos móviles escaneando códigos QR. ¡Sí, lo leiste bien! Saluda a Qrcp , anteriormente conocido como Qr-filetransfer , una sencilla aplicación de transferencia de archivos por línea de comandos que se utiliza para enviar y recibir archivos a través de WiFi entre un sistema Linux y un teléfono móvil mediante el escaneo de un código QR, sin salir de la Terminal.

Al enviar archivos, Qrcp vinculará un servidor web a la dirección de su tarjeta de interfaz de red WiFi en un puerto aleatorio y creará un controlador para él. El controlador predeterminado servirá el contenido y saldrá del programa una vez que se complete la transferencia. Del mismo modo, al recibir archivos, qrcp sirve una página de carga y maneja la transferencia.

Qrcp es un programa gratuito y de código abierto escrito en Go lenguaje de programación y se publica bajo MIT licencia.

Instalar Qrcp en Linux

Qrcp puede instalarse de múltiples maneras. Instale Qrcp en Linux usando cualquiera de los siguientes métodos.

Instalar Qrcp con Golang

Primero, instale el lenguaje de programación Go en su sistema Linux como se describe en el siguiente enlace.

  • Cómo instalar Go Language en Linux

Después de instalar Golang, ejecute el siguiente comando para instalar Qrcp en su sistema Linux:

$ go get github.com/claudiodangelis/qrcp

Instalar Qrcp desde binarios

Descargue el último archivo Qrcp desde la página de lanzamientos . Al momento de escribir esta guía, la última versión era 0.7.0 .

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

Extrae el archivo descargado usando commad:

$ tar xf qrcp_0.7.0_linux_x86_64.tar.gz

Mueva el archivo binario a su $PATH :

$ sudo mv qrcp /usr/local/bin

Finalmente, configure el permiso ejecutable:

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

Tenga en cuenta que el último paso es opcional. No tienes que hacerlo ejecutable. En este caso, el archivo se volverá ejecutable una vez que lo haya movido a su ruta.

Instalar Qrcp usando administradores de paquetes

Qrcp está disponible en AUR.

  • qrcp-bin
  • qrcp

Puede instalarlo usando cualquier asistente de AUR, por ejemplo Yay .

$ yay -S qrcp

O,

$ yay -S qrcp-bin

Qrcp también está disponible como .deb y .rpm archivos Vaya a la página de lanzamientos y descargue la versión adecuada para su distribución.

Si está en sistemas basados ​​en Debian, descargue .deb archivo de instalación de la página de lanzamientos e instálelo como se muestra a continuación.

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

En sistemas basados ​​en RPM, como CentOS, RHEL, descargue .rpm archivo de la página de lanzamientos e instálelo como se muestra a continuación:

$ sudo dnf install qrcp_0.7.0_linux_x86_64.rpm

O,

$ sudo rpm -ivh qrcp_0.7.0_linux_x86_64.rpm

Una vez instalado, confirme si Qrcp funciona ejecutando este comando:

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

Transfiere archivos entre computadoras y dispositivos móviles usando Qrcp escaneando códigos QR

¡Transferir archivos entre computadoras y dispositivos móviles con Qrcp es bastante fácil!

Para el propósito de esta guía, usaré el sistema de escritorio Ubuntu 20.04 LTS y una Tablet PC con Android.

Asegúrese de tener instalada una aplicación de lector de códigos QR en su teléfono móvil. Hay muchos lectores de códigos QR disponibles para Android. Realice una búsqueda rápida en la web e instale cualquier lector de códigos QR de su elección en su dispositivo móvil.

Envíe archivos desde la computadora al móvil usando Qrcp

Primero, veamos cómo enviar un archivo desde un sistema Linux a un dispositivo móvil.

Voy a enviar un archivo de imagen desde mi escritorio Ubuntu a la tableta usando el comando:

$ qrcp ostechnix.png

Cuando inicie Qrcp por primera vez, escaneará su sistema para encontrar la cantidad de interfaces de red WiFi disponibles en su sistema. Si hay más de una tarjeta WiFi adecuada disponible, Qrcp le pedirá que elija una para transferir archivos. En mi caso, elegí la interfaz inalámbrica, es decir, wlp9s0 . Pulse la tecla ENTER para aceptar la interfaz inalámbrica. Qrcp recordará esta elección y no preguntará la próxima vez.

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)

Ahora verá un código QR en su Terminal como se muestra a continuación.

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

Ahora, abra la aplicación del lector de códigos QR en su teléfono móvil y escanee el código QR que se muestra en la terminal de la computadora con Linux. Después de escanear el código QR, verá la URL de descarga en su teléfono móvil. Simplemente haga clic para descargar el archivo.

El archivo se descargará en la carpeta de descargas predeterminada de tu móvil.

También puede enviar varios archivos:

$ qrcp file1 file2

Y se puede enviar una carpeta completa como se muestra a continuación:

$ qrcp ~/Documents/

Si el tamaño del archivo es grande, comprímalo y envíelo con --zip bandera:

$ qrcp --zip movie.mp4

Recibe archivos del móvil al ordenador usando Qrcp

Para enviar un archivo a su computadora desde su dispositivo móvil, ejecute el siguiente comando en la Terminal de su sistema Linux:

$ qrcp receive

Verá el código QR en la Terminal:

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

Abra el lector de códigos QR en el dispositivo móvil y escanee el código QR anterior. Haz clic en la URL para subir los archivos desde tu móvil:

Se abrirá una nueva ventana del navegador en tu móvil. Elija los archivos que desea enviar desde su dispositivo móvil a su computadora y haga clic en el botón Transferir:

Tras la transferencia de archivos exitosa, verá el siguiente mensaje en su dispositivo móvil:

En su terminal Linux, verá el siguiente mensaje después de que se complete la transferencia de archivos:

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

Como puede ver, el archivo se descarga en el directorio actual. Si desea recibir los archivos en un directorio específico, use --output bandera:

$ qrcp receive --output=~/Downloads

En este caso, todos los archivos se descargarán en ~/Downloads directorio.

Opciones de Qrcp

Qrcp requiere configuración cero. De forma predeterminada, Qrcp funcionará de forma inmediata sin ninguna configuración previa. Sin embargo, puede modificar la funcionalidad de Qrcp de ciertas maneras con la ayuda de los parámetros de Qrcp. Por ejemplo, puede usar un puerto específico en lugar de un puerto aleatorio, especificar la ubicación del archivo de configuración, usar una tarjeta de interfaz de red específica para la transferencia de archivos, usar URL personalizadas para enviar/recibir archivos, usar FQDN en lugar de la dirección IP, imprimir el código QR en navegador, mantener vivo el servidor y transferir archivos de forma segura a través de HTTPS, etc.

Configurar Qrcp

El archivo de configuración predeterminado se almacena en $HOME/.qrcp.json . Qrcp leerá y usará los parámetros definidos en este archivo mientras transfiere archivos.

Puede ver los parámetros configurados actualmente usando cat comando:

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

Podemos configurar los parámetros por defecto de Qrcp a nuestro gusto ejecutando el siguiente comando:

$ qrcp config

Elija la interfaz de red inalámbrica adecuada para usar para la transferencia de archivos:

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

Si no ve las interfaces de red por algún motivo, use el siguiente comando en su lugar:

$ qrcp --list-all-interfaces config

Introduzca el nombre completo (FQDN):

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

Elija puerto aleatorio:

✔ Choose port, 0 means random port: 8080

Si desea utilizar un puerto aleatorio, simplemente presione 0 (cero).

Introduzca la ruta de destino para guardar los archivos/carpetas:

✔ Choose path, empty means random: ~/Downloads

De forma predeterminada, Qrcp guardará los archivos/carpetas recibidos en el directorio actual.

Elija si desea mantener vivo el servidor después de la transferencia de archivos:

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

Seleccione la opción adecuada si desea transferir el archivo de forma segura:

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

Si elige "Sí", deberá ingresar la ruta del certificado TLS y la clave del certificado TLS.

Después de actualizar el archivo de configuración, la configuración predeterminada se actualizará con los nuevos valores.

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

Qrcp utilizará estos nuevos valores al transferir archivos.

También puede usar manualmente parámetros personalizados en lugar de los parámetros existentes definidos en el archivo de configuración.

Usar puerto personalizado

Qrcp utilizará cualquier puerto aleatorio disponible al enviar y recibir archivos entre su computadora y el dispositivo móvil. Si desea utilizar un determinado puerto, por ejemplo 8080 , mientras transfiere archivos, use --port o -p bandera:

$ qrcp --port 8080 file.txt

Especifique la ubicación del archivo de configuración

Como se indicó anteriormente, el archivo de configuración predeterminado se almacena en $HOME/.qrcp.json . Si desea usar un archivo de configuración almacenado en una ubicación diferente, especifique su ruta usando --config bandera:

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

Utilice una interfaz WiFi específica para la transferencia de archivos

Si hay más de una interfaz Wi-Fi adecuada disponible en su sistema, puede usar una interfaz Wi-Fi específica para la transferencia de archivos usando --interface (o -i ) bandera:

$ qrcp -i wlp9s0 file.txt

Asignar ruta específica para URL

Qrcp utiliza los siguientes formatos de URL de forma predeterminada para enviar y recibir archivos:

  • enviar - http://{ip address}:{port}/send/{random path}
  • recibir - http://{ip address}:{port}/receive/{random path}

Si desea utilizar una ruta específica para las URL, en lugar de una ruta aleatoria, utilice --path bandera:

$ qrcp --path=abcd file.txt

Ahora, la URL resultante será:

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

Usar FQDN en lugar de dirección IP

De forma predeterminada, Qrcp utilizará la dirección IP de su sistema Linux en la URL. Si desea usar un nombre completo en lugar de la dirección IP en la URL, use --fqdn (o -d ) bandera:

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

Imprimir código QR en el navegador

Qrcp generará el código QR en la Terminal. Si desea imprimir el código QR fuera de la ventana de la Terminal, utilice --browser bandera.

$ qrcp --browser file.txt

Este comando aún imprimirá el código QR en la Terminal, pero también mostrará el código QR en la nueva ventana de su navegador web predeterminado.

Mantener vivo el servidor

Una vez que se complete la transferencia de archivos, la conexión se cerrará automáticamente. Entonces, los otros dispositivos ya no pueden acceder a ese archivo/carpeta. Si desea transferir el mismo archivo o carpeta a varios dispositivos, mantenga activo el servidor mediante --keep-alive. bandera:

$ qrcp --keep-alive file.txt

Obtener ayuda

Para ver la lista de subcomandos disponibles y las banderas, ejecute:

$ 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. Cómo transferir archivos entre dos computadoras usando los comandos nc y pv

  2. Transfiera archivos y carpetas de forma segura entre computadoras usando Croc

  3. Cómo configurar el servidor SAMBA y transferir archivos entre Linux y Windows

  4. La mejor manera de transferir archivos a través de una LAN entre dos computadoras Linux

  5. ¿Cómo transferir archivos entre Linux y Android de forma rápida y fiable?

Transferir archivos y carpetas entre computadoras con Croc

Transferir archivos entre cualquier dispositivo utilizando Piping Server

Cómo instalar Rclone en Linux y Unix

Cómo transferir archivos entre Dropbox y Google Drive con Rclone en Linux

4 formas de transferir archivos entre sistemas remotos y locales a través de SSH

Compartir archivos entre Linux Mint y Windows 10