GNU/Linux >> Znalost Linux >  >> Linux

Přenášejte soubory mezi počítači a mobilními zařízeními skenováním QR kódů

Přenos souborů mezi počítačem a mobilním zařízením lze provádět různými způsoby a pomocí různých protokolů. Dnes uvidíme zcela nový, odlišný přístup. Tato příručka vysvětluje, jak přenášet soubory mezi počítači a mobilními zařízeními skenováním QR kódů. Ano, čtete správně! Pozdravte Qrcp , dříve známé jako Qr-filetransfer , jednoduchá aplikace pro přenos souborů z příkazového řádku, která se používá k odesílání a přijímání souborů přes WiFi mezi systémem Linux a mobilním telefonem naskenováním QR kódu, aniž byste museli opustit terminál.

Při odesílání souborů Qrcp naváže webový server na adresu vaší WiFi síťové karty na náhodném portu a vytvoří pro něj handler. Výchozí obslužná rutina obslouží obsah a po dokončení přenosu program ukončí. Podobně při přijímání souborů qrcp obsluhuje stránku pro nahrávání a zajišťuje přenos.

Qrcp je bezplatný a open source program napsaný v Go programovací jazyk a je vydán pod MIT licence.

Nainstalujte Qrcp na Linux

Qrcp lze nainstalovat několika způsoby. Nainstalujte Qrcp v Linuxu pomocí některé z následujících metod.

Nainstalujte Qrcp s Golang

Nejprve nainstalujte programovací jazyk Go do svého systému Linux, jak je popsáno v následujícím odkazu.

  • Jak nainstalovat jazyk Go v systému Linux

Po instalaci Golang spusťte následující příkaz pro instalaci Qrcp do vašeho linuxového systému:

$ go get github.com/claudiodangelis/qrcp

Nainstalujte Qrcp z binárních souborů

Stáhněte si nejnovější archivní soubor Qrcp ze stránky verzí . V době psaní této příručky byla nejnovější verze 0.7.0 .

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

Rozbalte stažený archiv pomocí příkazu:

$ tar xf qrcp_0.7.0_linux_x86_64.tar.gz

Přesuňte binární soubor do $PATH :

$ sudo mv qrcp /usr/local/bin

Nakonec nastavte oprávnění ke spustitelnému souboru:

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

Upozorňujeme, že poslední krok je volitelný. Nemusíte to dělat spustitelným. V tomto případě se soubor stane spustitelným poté, co jej přesunete do své cesty.

Nainstalujte Qrcp pomocí správců balíčků

Qrcp je k dispozici v AUR.

  • qrcp-bin
  • qrcp

Můžete jej nainstalovat pomocí libovolných pomocníků AUR, například Yay .

$ yay -S qrcp

Nebo,

$ yay -S qrcp-bin

Qrcp je také dostupný jako .deb a .rpm soubory. Přejděte na stránku vydání a stáhněte si vhodnou verzi pro vaši distribuci.

Pokud používáte systémy založené na Debianu, stáhněte si .deb instalační soubor ze stránky vydání a nainstalujte jej, jak je uvedeno níže.

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

V systémech založených na RPM, jako je CentOS, RHEL, si stáhněte .rpm soubor ze stránky vydání a nainstalujte jej následovně:

$ sudo dnf install qrcp_0.7.0_linux_x86_64.rpm

Nebo,

$ sudo rpm -ivh qrcp_0.7.0_linux_x86_64.rpm

Po instalaci potvrďte, zda Qrcp funguje spuštěním tohoto příkazu:

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

Přenos souborů mezi počítači a mobilními zařízeními pomocí Qrcp skenováním QR kódů

Přenos souborů mezi počítači a mobilem pomocí Qrcp je docela snadný!

Pro účely této příručky budu používat stolní systém Ubuntu 20.04 LTS a počítač Android Tablet PC.

Ujistěte se, že máte na svém mobilním telefonu nainstalovanou aplikaci pro čtení QR kódů. Pro Android je k dispozici spousta čteček QR kódů. Proveďte rychlé vyhledávání na webu a nainstalujte si do svého mobilu libovolnou čtečku QR kódů.

Posílejte soubory z počítače do mobilu pomocí Qrcp

Nejprve se podívejme, jak odeslat soubor ze systému Linux do mobilu.

Chystám se odeslat soubor obrázku z plochy Ubuntu do počítače tablet pomocí příkazu:

$ qrcp ostechnix.png

Když Qrcp spustíte poprvé, prohledá váš systém, aby zjistil počet dostupných WiFi síťových rozhraní ve vašem systému. Pokud je k dispozici více než jedna vhodná WiFi karta, Qrcp vás požádá o výběr jedné pro přenos souborů. V mém případě jsem zvolil bezdrátové rozhraní, tj. wlp9s0 . Stisknutím klávesy ENTER přijmete bezdrátové rozhraní. Qrcp si tuto volbu zapamatuje a příště se nebude ptát.

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)

Nyní uvidíte ve svém terminálu QR kód, jak je znázorněno níže.

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

Nyní otevřete aplikaci pro čtení QR kódů ve svém mobilním telefonu a naskenujte QR kód zobrazený v terminálu počítače se systémem Linux. Po naskenování QR kódu uvidíte na svém mobilním telefonu URL ke stažení. Stačí na něj kliknout a soubor stáhnout.

Soubor bude stažen do výchozí složky Download ve vašem mobilu.

Můžete také odeslat více souborů:

$ qrcp file1 file2

A celou složku lze odeslat následovně:

$ qrcp ~/Documents/

Pokud je velikost souboru velká, stačí jej zazipovat a odeslat pomocí --zip příznak:

$ qrcp --zip movie.mp4

Příjem souborů z mobilu do počítače pomocí Qrcp

Chcete-li odeslat soubor do počítače z mobilního zařízení, spusťte v terminálu systému Linux následující příkaz:

$ qrcp receive

V terminálu uvidíte QR kód:

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

Otevřete čtečku QR kódů v mobilním zařízení a naskenujte výše uvedený QR kód. Kliknutím na adresu URL nahrajete soubory z mobilu:

Ve vašem mobilu se otevře nové okno prohlížeče. Vyberte soubory, které chcete odeslat z mobilu do počítače, a klikněte na tlačítko Přenést:

Po úspěšném přenosu souboru se na vašem mobilním zařízení zobrazí následující zpráva:

Na vašem linuxovém terminálu se po dokončení přenosu souboru zobrazí následující zpráva:

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

Jak vidíte, soubor je stažen v aktuálním adresáři. Pokud chcete přijímat soubory do určitého adresáře, použijte --output příznak:

$ qrcp receive --output=~/Downloads

V tomto případě budou všechny soubory staženy do ~/Downloads adresář.

Možnosti Qrcp

Qrcp vyžaduje nulovou konfiguraci. Ve výchozím nastavení bude Qrcp fungovat ihned po vybalení bez jakékoli předchozí konfigurace. Funkčnost Qrcp však můžete určitými způsoby vyladit pomocí parametrů Qrcp. Můžete například použít konkrétní port místo náhodného portu, zadat umístění konfiguračního souboru, použít specifickou kartu síťového rozhraní pro přenos souborů, použít vlastní URL pro odesílání/příjem souborů, použít FQDN místo IP adresy, vytisknout QR kód v prohlížeč, udržovat server při životě a bezpečně přenášet soubory přes HTTPS atd.

Nakonfigurujte Qrcp

Výchozí konfigurační soubor je uložen v $HOME/.qrcp.json . Qrcp bude číst a používat parametry definované v tomto souboru při přenosu souborů.

Aktuálně nakonfigurované parametry můžete zobrazit pomocí cat příkaz:

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

Výchozí parametry Qrcp můžeme nakonfigurovat podle našich představ spuštěním následujícího příkazu:

$ qrcp config

Vyberte vhodné bezdrátové síťové rozhraní pro přenos souborů:

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

Pokud z nějakého důvodu nevidíte síťová rozhraní, použijte místo toho následující příkaz:

$ qrcp --list-all-interfaces config

Zadejte plně kvalifikovaný název (FQDN):

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

Vyberte náhodný port:

✔ Choose port, 0 means random port: 8080

Pokud chcete použít náhodný port, jednoduše stiskněte 0 (nula).

Zadejte cílovou cestu pro uložení souborů/složek:

✔ Choose path, empty means random: ~/Downloads

Ve výchozím nastavení bude Qrcp ukládat přijaté soubory/složky do aktuálního adresáře.

Vyberte, zda chcete zachovat server po přenosu souborů:

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

Pokud chcete bezpečně přenést soubor, vyberte příslušnou možnost:

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

Pokud zvolíte "Ano", budete muset zadat cestu k certifikátu TLS a klíč certifikátu TLS.

Po aktualizaci konfiguračního souboru bude výchozí konfigurace aktualizována novými hodnotami.

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

Qrcp použije tyto nové hodnoty při přenosu souborů.

Můžete také ručně použít vlastní parametry namísto stávajících parametrů definovaných v konfiguračním souboru.

Použít vlastní port

Qrcp použije jakýkoli náhodný dostupný port při odesílání a přijímání souborů mezi vaším počítačem a mobilním zařízením. Pokud chcete použít určitý port, například 8080 , při přenosu souborů použijte --port nebo -p příznak:

$ qrcp --port 8080 file.txt

Uveďte umístění konfiguračního souboru

Jak bylo uvedeno dříve, výchozí konfigurační soubor je uložen v $HOME/.qrcp.json . Pokud chcete použít konfigurační soubor uložený v jiném umístění, zadejte jeho cestu pomocí --config příznak:

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

Pro přenos souborů použijte specifické rozhraní WiFi

Pokud je ve vašem systému k dispozici více než jedno vhodných rozhraní WiFi, můžete pro přenos souborů použít konkrétní rozhraní WiFi pomocí --interface (nebo -i ) příznak:

$ qrcp -i wlp9s0 file.txt

Přiřaďte adresám URL konkrétní cestu

Qrcp standardně používá k odesílání a přijímání souborů následující formáty URL:

  • odeslat - http://{ip address}:{port}/send/{random path}
  • příjem - http://{ip address}:{port}/receive/{random path}

Pokud chcete pro adresy URL použít konkrétní cestu, místo náhodné cesty použijte --path příznak:

$ qrcp --path=abcd file.txt

Nyní bude výsledná adresa URL:

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

Namísto adresy IP použijte úplný název domény

Ve výchozím nastavení použije Qrcp v URL adresu IP vašeho systému Linux. Pokud chcete místo IP adresy v adrese URL použít plně kvalifikovaný název, použijte --fqdn (nebo -d ) příznak:

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

Vytiskněte QR kód v prohlížeči

Qrcp vygeneruje QR kód v terminálu. Pokud chcete QR vytisknout mimo okno terminálu, použijte --browser vlajka.

$ qrcp --browser file.txt

Tento příkaz stále vytiskne QR kód v Terminálu, ale také zobrazí QR kód v novém okně vašeho výchozího webového prohlížeče.

Udržujte server naživu

Po dokončení přenosu souboru se připojení automaticky ukončí. Ostatní zařízení tedy již k tomuto souboru/složce nemají přístup. Pokud chcete přenést stejný soubor/složku do více zařízení, udržujte server při životě pomocí --keep-alive příznak:

$ qrcp --keep-alive file.txt

Získání nápovědy

Chcete-li zobrazit seznam dostupných dílčích příkazů a příznaků, spusťte:

$ 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. Jak přenášet soubory mezi dvěma počítači pomocí příkazů nc a pv

  2. Bezpečně přenášejte soubory a složky mezi počítači pomocí Croc

  3. Jak nakonfigurovat server SAMBA a přenášet soubory mezi Linuxem a Windows

  1. Jak přenášet soubory mezi servery v Linuxu pomocí SCP a FTP

  2. EasyJoin – posílejte soubory mezi telefonem a počítačem bez internetu

  3. Nejlepší způsob přenosu souborů přes LAN mezi dvěma počítači se systémem Linux

  1. Přenášejte soubory mezi telefonem a Linuxem pomocí tohoto open source nástroje

  2. rozdíl mezi souborem zařízení a ovladačem zařízení

  3. Jak rychle a spolehlivě přenášet soubory mezi Linuxem a Androidem?