GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Übertragen Sie Dateien zwischen Computern und Mobilgeräten, indem Sie QR-Codes scannen

Die Dateiübertragung zwischen einem Computer und einem Mobiltelefon kann auf verschiedene Weise und unter Verwendung verschiedener Protokolle erfolgen. Heute werden wir einen ganz neuen, anderen Ansatz sehen. In dieser Anleitung wird erläutert, wie Sie Dateien zwischen Computern und Mobilgeräten durch Scannen von QR-Codes übertragen. Ja, Sie haben richtig gelesen! Begrüßen Sie Qrcp , früher bekannt als Qr-filetransfer , eine einfache Befehlszeilen-Dateiübertragungsanwendung zum Senden und Empfangen von Dateien über WLAN zwischen einem Linux-System und einem Mobiltelefon durch Scannen eines QR-Codes, ohne das Terminal zu verlassen.

Beim Senden von Dateien bindet Qrcp einen Webserver an die Adresse Ihrer WiFi-Netzwerkschnittstellenkarte an einem zufälligen Port und erstellt einen Handler dafür. Der Standardhandler stellt den Inhalt bereit und beendet das Programm, sobald die Übertragung abgeschlossen ist. Ebenso beim Empfang von Dateien qrcp dient einer Upload-Seite und wickelt die Übertragung ab.

Qrcp ist ein kostenloses Open-Source-Programm, das in Go geschrieben wurde Programmiersprache und wird unter MIT veröffentlicht Lizenz.

Qrcp unter Linux installieren

Qrcp kann auf mehrere Arten installiert werden. Installieren Sie Qrcp unter Linux mit einer der folgenden Methoden.

Installieren Sie Qrcp mit Golang

Installieren Sie zunächst die Programmiersprache Go in Ihrem Linux-System, wie im folgenden Link beschrieben.

  • So installieren Sie die Go-Sprache unter Linux

Führen Sie nach der Installation von Golang den folgenden Befehl aus, um Qrcp in Ihrem Linux-System zu installieren:

$ go get github.com/claudiodangelis/qrcp

Qrcp aus Binärdateien installieren

Laden Sie die neueste Qrcp-Archivdatei von der Release-Seite herunter . Zum Zeitpunkt der Erstellung dieses Leitfadens war die neueste Version 0.7.0 .

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

Extrahieren Sie das heruntergeladene Archiv mit commad:

$ tar xf qrcp_0.7.0_linux_x86_64.tar.gz

Verschieben Sie die Binärdatei in Ihren $PATH :

$ sudo mv qrcp /usr/local/bin

Legen Sie schließlich die Ausführungsberechtigung fest:

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

Bitte beachten Sie, dass der letzte Schritt optional ist. Sie müssen es nicht ausführbar machen. In diesem Fall wird die Datei ausführbar, nachdem Sie sie in Ihren Pfad verschoben haben.

Installieren Sie Qrcp mit Paketmanagern

Qrcp ist in AUR verfügbar.

  • qrcp-bin
  • qrcp

Sie können es mit jedem AUR-Hilfsprogramm installieren, zum Beispiel Yay .

$ yay -S qrcp

Oder,

$ yay -S qrcp-bin

Qrcp ist auch als .deb verfügbar und .rpm Dateien. Gehen Sie zur Release-Seite und laden Sie die passende Version für Ihre Distribution herunter.

Wenn Sie auf Debian-basierten Systemen arbeiten, laden Sie die .deb herunter Installationsdatei von der Releases-Seite und installieren Sie sie wie unten beschrieben.

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

Laden Sie auf RPM-basierten Systemen wie CentOS, RHEL die Datei .rpm herunter Datei von der Versionsseite und installieren Sie sie wie folgt:

$ sudo dnf install qrcp_0.7.0_linux_x86_64.rpm

Oder,

$ sudo rpm -ivh qrcp_0.7.0_linux_x86_64.rpm

Bestätigen Sie nach der Installation, ob Qrcp funktioniert, indem Sie diesen Befehl ausführen:

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

Übertragen Sie Dateien zwischen Computern und Mobilgeräten mit Qrcp, indem Sie QR-Codes scannen

Das Übertragen von Dateien zwischen Computern und Mobilgeräten mit Qrcp ist ganz einfach!

Für die Zwecke dieses Handbuchs verwende ich das Ubuntu 20.04 LTS-Desktopsystem und einen Android-Tablet-PC.

Stellen Sie sicher, dass Sie eine QR-Code-Leseanwendung auf Ihrem Mobiltelefon installiert haben. Es gibt viele QR-Code-Lesegeräte für Android. Bitte führen Sie eine schnelle Websuche durch und installieren Sie einen QR-Code-Leser Ihrer Wahl auf Ihrem Handy.

Dateien mit Qrcp vom Computer an das Handy senden

Sehen wir uns zunächst an, wie eine Datei von einem Linux-System an ein Mobilgerät gesendet wird.

Ich werde eine Bilddatei von meinem Ubuntu-Desktop mit dem Befehl:

an den Tablet-PC senden
$ qrcp ostechnix.png

Wenn Sie Qrcp zum ersten Mal starten, scannt es Ihr System, um die Anzahl der verfügbaren WiFi-Netzwerkschnittstellen in Ihrem System zu finden. Wenn mehr als eine geeignete WLAN-Karte verfügbar ist, fordert Qrcp Sie auf, eine auszuwählen, um Dateien zu übertragen. In meinem Fall habe ich die drahtlose Schnittstelle gewählt, dh wlp9s0 . Drücken Sie die ENTER-Taste, um die drahtlose Schnittstelle zu akzeptieren. Qrcp merkt sich diese Auswahl und fragt beim nächsten Mal nicht mehr.

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)

Sie sehen nun einen QR-Code in Ihrem Terminal, wie unten gezeigt.

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

Öffnen Sie nun die QR-Code-Reader-App auf Ihrem Mobiltelefon und scannen Sie den im Terminal des Linux-Computers angezeigten QR-Code. Nach dem Scannen des QR-Codes sehen Sie die Download-URL auf Ihrem Mobiltelefon. Klicken Sie einfach darauf, um die Datei herunterzuladen.

Die Datei wird in den Standard-Download-Ordner Ihres Mobiltelefons heruntergeladen.

Sie können auch mehrere Dateien senden:

$ qrcp file1 file2

Und ein ganzer Ordner kann wie folgt gesendet werden:

$ qrcp ~/Documents/

Wenn die Datei sehr groß ist, zippen Sie sie einfach und senden Sie sie mit --zip Flagge:

$ qrcp --zip movie.mp4

Mit Qrcp Dateien vom Handy zum Computer empfangen

Um eine Datei von Ihrem Mobilgerät an Ihren Computer zu senden, führen Sie den folgenden Befehl im Terminal Ihres Linux-Systems aus:

$ qrcp receive

Sie sehen den QR-Code im Terminal:

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

Öffnen Sie den QR-Code-Reader im Mobilgerät und scannen Sie den obigen QR-Code. Klicken Sie auf die URL, um die Dateien von Ihrem Handy hochzuladen:

Auf Ihrem Handy wird ein neues Browserfenster geöffnet. Wählen Sie die Dateien aus, die Sie von Ihrem Mobiltelefon auf Ihren Computer senden möchten, und klicken Sie auf die Schaltfläche „Übertragen“:

Nach erfolgreicher Dateiübertragung sehen Sie die folgende Meldung auf Ihrem Mobilgerät:

Auf Ihrem Linux-Terminal sehen Sie die folgende Meldung, nachdem die Dateiübertragung abgeschlossen ist:

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

Wie Sie sehen können, wird die Datei in das aktuelle Verzeichnis heruntergeladen. Wenn Sie die Dateien in einem bestimmten Verzeichnis erhalten möchten, verwenden Sie die --output Flagge:

$ qrcp receive --output=~/Downloads

In diesem Fall werden alle Dateien in ~/Downloads heruntergeladen Verzeichnis.

Qrcp-Optionen

Qrcp erfordert keine Konfiguration. Standardmäßig funktioniert Qrcp sofort ohne vorherige Konfiguration. Sie können die Funktionalität von Qrcp jedoch mit Hilfe von Qrcp-Parametern auf bestimmte Weise optimieren. Sie können beispielsweise einen bestimmten Port anstelle eines zufälligen Ports verwenden, den Speicherort der Konfigurationsdatei angeben, eine bestimmte Netzwerkschnittstellenkarte für die Dateiübertragung verwenden, benutzerdefinierte URLs zum Senden/Empfangen von Dateien verwenden, FQDN anstelle der IP-Adresse verwenden und den QR-Code ausdrucken Browser, halten den Server am Leben und übertragen Dateien sicher über HTTPS usw.

Qrcp konfigurieren

Die Standardkonfigurationsdatei wird in $HOME/.qrcp.json gespeichert . Qrcp liest und verwendet die in dieser Datei definierten Parameter beim Übertragen von Dateien.

Sie können die aktuell konfigurierten Parameter mit cat anzeigen Befehl:

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

Wir können die Qrcp-Standardparameter nach unseren Wünschen konfigurieren, indem wir den folgenden Befehl ausführen:

$ qrcp config

Wählen Sie die geeignete drahtlose Netzwerkschnittstelle für die Dateiübertragung:

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

Wenn Sie die Netzwerkschnittstellen aus irgendeinem Grund nicht sehen, verwenden Sie stattdessen den folgenden Befehl:

$ qrcp --list-all-interfaces config

Geben Sie den vollständig qualifizierten Namen (FQDN) ein:

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

Wählen Sie einen zufälligen Port:

✔ Choose port, 0 means random port: 8080

Wenn Sie einen zufälligen Port verwenden möchten, drücken Sie einfach 0 (Null).

Geben Sie den Zielpfad zum Speichern der Dateien/Ordner ein:

✔ Choose path, empty means random: ~/Downloads

Standardmäßig speichert Qrcp die empfangenen Dateien/Ordner im aktuellen Verzeichnis.

Wählen Sie aus, ob Sie den Server nach der Dateiübertragung am Leben erhalten möchten:

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

Wählen Sie die entsprechende Option, wenn Sie Dateien sicher übertragen möchten:

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

Wenn Sie „Ja“ wählen, müssen Sie Ihren TLS-Zertifikatspfad und den TLS-Zertifikatsschlüssel eingeben.

Nach dem Aktualisieren der Konfigurationsdatei wird die Standardkonfiguration mit den neuen Werten aktualisiert.

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

Qrcp verwendet diese neuen Werte beim Übertragen von Dateien.

Sie können auch manuell benutzerdefinierte Parameter anstelle der in der Konfigurationsdatei definierten Parameter verwenden.

Benutzerdefinierten Port verwenden

Qrcp verwendet beim Senden und Empfangen von Dateien zwischen Ihrem Computer und dem Mobilgerät einen beliebigen verfügbaren Port. Wenn Sie einen bestimmten Port verwenden möchten, zum Beispiel 8080 , verwenden Sie beim Übertragen von Dateien --port oder -p Flagge:

$ qrcp --port 8080 file.txt

Speicherort der Konfigurationsdatei angeben

Wie bereits erwähnt, wird die Standardkonfigurationsdatei in $HOME/.qrcp.json gespeichert . Wenn Sie eine Konfigurationsdatei verwenden möchten, die an einem anderen Ort gespeichert ist, geben Sie ihren Pfad mit --config an Flagge:

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

Verwenden Sie eine bestimmte WLAN-Schnittstelle für die Dateiübertragung

Wenn in Ihrem System mehr als eine geeignete WLAN-Schnittstelle verfügbar ist, können Sie mithilfe der --interface eine bestimmte WLAN-Schnittstelle für die Dateiübertragung verwenden (oder -i ) Flagge:

$ qrcp -i wlp9s0 file.txt

URLs einen bestimmten Pfad zuweisen

Qrcp verwendet standardmäßig die folgenden URL-Formate zum Senden und Empfangen von Dateien:

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

Wenn Sie anstelle eines zufälligen Pfads einen bestimmten Pfad für URLs verwenden möchten, verwenden Sie den --path Flagge:

$ qrcp --path=abcd file.txt

Die resultierende URL lautet nun:

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

FQDN statt IP-Adresse verwenden

Standardmäßig verwendet Qrcp die IP-Adresse Ihres Linux-Systems in der URL. Wenn Sie den vollqualifizierten Namen anstelle der IP-Adresse in der URL verwenden möchten, verwenden Sie den --fqdn (oder -d ) Flagge:

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

QR-Code im Browser drucken

Qrcp generiert den QR-Code im Terminal. Wenn Sie den QR außerhalb des Terminalfensters drucken möchten, verwenden Sie den --browser Flagge.

$ qrcp --browser file.txt

Dieser Befehl druckt weiterhin den QR-Code im Terminal, zeigt den QR-Code jedoch auch im neuen Fenster Ihres Standard-Webbrowsers an.

Halten Sie den Server am Leben

Sobald die Dateiübertragung abgeschlossen ist, wird die Verbindung automatisch geschlossen. Die anderen Geräte können also nicht mehr auf diese Datei / diesen Ordner zugreifen. Wenn Sie dieselbe Datei/ denselben Ordner auf mehrere Geräte übertragen möchten, halten Sie den Server mit dem --keep-alive am Leben Flagge:

$ qrcp --keep-alive file.txt

Hilfe bekommen

Führen Sie Folgendes aus, um die Liste der verfügbaren Unterbefehle und der Flags anzuzeigen:

$ 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. Übertragen Sie Dateien und Ordner sicher zwischen Computern mit Croc

  2. EasyJoin – Senden Sie Dateien zwischen Ihrem Telefon und PC ohne Internet

  3. Unterschied zwischen Gerätedatei und Gerätetreiber

  4. Beste Möglichkeit, Dateien über ein LAN zwischen zwei Linux-Computern zu übertragen

  5. Wie kann man Dateien schnell und zuverlässig zwischen Linux und Android übertragen?

Übertragen Sie Dateien und Ordner zwischen Computern mit Croc

Übertragen Sie Dateien zwischen beliebigen Geräten mit Piping Server

So installieren Sie Rclone unter Linux und Unix

So übertragen Sie Dateien zwischen Dropbox und Google Drive mit Rclone unter Linux

4 Möglichkeiten zum Übertragen von Dateien zwischen Remote- und lokalen Systemen über SSH

Freigabe von Dateien zwischen Linux Mint und Windows 10