GNU/Linux >> Linux の 問題 >  >> Linux

QRコードをスキャンしてコンピューターとモバイルデバイス間でファイルを転送する

コンピュータとモバイル間のファイル転送は、さまざまな方法でさまざまなプロトコルを使用して実行できます。今日は、まったく新しい、異なるアプローチが見られます。このガイドでは、QRコードをスキャンしてコンピューターとモバイルデバイス間でファイルを転送する方法について説明します。はい、あなたはその権利を読んでいます! Qrcpに挨拶します 、以前はQrファイル転送と呼ばれていました 、ターミナルを離れることなく、QRコードをスキャンすることでLinuxシステムと携帯電話の間でWiFi経由でファイルを送受信するために使用されるシンプルなコマンドラインファイル転送アプリケーション。

ファイルを送信するとき、QrcpはWebサーバーをランダムポート上のWiFiネットワークインターフェイスカードのアドレスにバインドし、そのハンドラーを作成します。デフォルトのハンドラーはコンテンツを提供し、転送が完了するとプログラムを終了します。同様に、ファイルを受信するときは、qrcp アップロードページを提供し、転送を処理します。

Qrcpは、 Goで記述された無料のオープンソースプログラムです。 プログラミング言語であり、 MITでリリースされています ライセンス。

LinuxにQrcpをインストールする

Qrcpは複数の方法でインストールできます。次のいずれかの方法を使用して、LinuxにQrcpをインストールします。

Golangを使用してQrcpをインストールする

まず、次のリンクで説明されているように、LinuxシステムにGoプログラミング言語をインストールします。

  • LinuxにGo言語をインストールする方法

Golangをインストールした後、次のコマンドを実行してLinuxシステムにQrcpをインストールします。

$ go get github.com/claudiodangelis/qrcp

バイナリからQrcpをインストールする

リリースページから最新のQrcpアーカイブファイルをダウンロードします 。このガイドを書いている時点で、最新バージョンは 0.7.0でした。 。

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

カンマを使用してダウンロードしたアーカイブを抽出します:

$ tar xf qrcp_0.7.0_linux_x86_64.tar.gz

バイナリファイルを$PATHに移動します :

$ sudo mv qrcp /usr/local/bin

最後に、実行可能権限を設定します:

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

最後のステップはオプションであることに注意してください。実行可能にする必要はありません。この場合、ファイルをパスに移動すると、ファイルが実行可能になります。

パッケージマネージャーを使用してQrcpをインストールする

QrcpはAURで利用できます。

  • qrcp-bin
  • qrcp

Yay など、任意のAURヘルパーを使用してインストールできます。 。

$ yay -S qrcp

または、

$ yay -S qrcp-bin

Qrcpは、.debとしても利用できます。 および.rpm ファイル。リリースページに移動し、ディストリビューションに適したバージョンをダウンロードします。

Debianベースのシステムを使用している場合は、.debをダウンロードしてください。 リリースページからインストールファイルを作成し、以下のようにインストールします。

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

CentOS、RHELなどのRPMベースのシステムでは、.rpmをダウンロードします。 リリースページからファイルを作成し、以下のようにインストールします:

$ sudo dnf install qrcp_0.7.0_linux_x86_64.rpm

または、

$ sudo rpm -ivh qrcp_0.7.0_linux_x86_64.rpm

インストールしたら、次のコマンドを実行してQrcpが機能しているかどうかを確認します。

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

QRコードをスキャンしてQrcpを使用してコンピューターとモバイルデバイス間でファイルを転送する

Qrcpを使用してコンピューターとモバイル間でファイルを転送するのは非常に簡単です。

このガイドでは、Ubuntu20.04LTSデスクトップシステムとAndroidタブレットPCを使用します。

携帯電話にQRコードリーダーアプリケーションがインストールされていることを確認してください。 Androidで利用できるQRコードリーダーはたくさんあります。簡単なWeb検索を実行し、任意のQRコードリーダーを携帯電話にインストールしてください。

Qrcpを使用してコンピューターからモバイルにファイルを送信する

まず、Linuxシステムからモバイルにファイルを送信する方法を見てみましょう。

次のコマンドを使用して、UbuntuデスクトップからタブレットPCに画像ファイルを送信します。

$ qrcp ostechnix.png

Qrcpを初めて起動すると、システムがスキャンされ、システムで使用可能なWiFiネットワークインターフェイスの数が検出されます。利用可能な適切なWiFiカードが複数ある場合、Qrcpはファイルを転送するために1つを選択するように求めます。私の場合、ワイヤレスインターフェイス、つまりwlp9s0を選択しました 。 ENTERキーを押して、ワイヤレスインターフェイスを受け入れます。 Qrcpはこの選択を記憶し、次回は尋ねません。

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)

以下に示すように、ターミナルにQRコードが表示されます。

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

次に、携帯電話でQRコードリーダーアプリを開き、Linuxコンピューターの端末に表示されるQRコードをスキャンします。 QRコードをスキャンすると、携帯電話にダウンロードURLが表示されます。クリックするだけでファイルをダウンロードできます。

ファイルは、携帯電話のデフォルトのダウンロードフォルダにダウンロードされます。

複数のファイルを送信することもできます:

$ qrcp file1 file2

また、フォルダ全体を次のように送信できます:

$ qrcp ~/Documents/

ファイルのサイズが大きい場合は、ファイルを圧縮して--zipで送信してください。 フラグ:

$ qrcp --zip movie.mp4

Qrcpを使用してモバイルからコンピューターにファイルを受信する

モバイルデバイスからコンピューターにファイルを送信するには、Linuxシステムのターミナルで次のコマンドを実行します。

$ qrcp receive

ターミナルにQRコードが表示されます:

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

モバイルデバイスでQRコードリーダーを開き、上記のQRコードをスキャンします。 URLをクリックして、携帯電話からファイルをアップロードします:

新しいブラウザウィンドウが携帯電話で開きます。携帯電話からコンピューターに送信するファイルを選択し、[転送]ボタンをクリックします。

ファイル転送が成功すると、モバイルデバイスに次のメッセージが表示されます。

Linuxターミナルでは、ファイル転送が完了すると次のメッセージが表示されます。

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

ご覧のとおり、ファイルは現在のディレクトリにダウンロードされます。特定のディレクトリにファイルを受信する場合は、--outputを使用します フラグ:

$ qrcp receive --output=~/Downloads

この場合、すべてのファイルは~/Downloadsにダウンロードされます。 ディレクトリ。

Qrcpオプション

Qrcpはゼロ構成を必要とします。デフォルトでは、Qrcpは事前の設定なしでそのまま動作します。ただし、Qrcpパラメーターを使用して、特定の方法でQrcpの機能を微調整できます。たとえば、ランダムポートの代わりに特定のポートを使用したり、構成ファイルの場所を指定したり、ファイル転送に特定のネットワークインターフェイスカードを使用したり、ファイルの送受信にカスタムURLを使用したり、IPアドレスの代わりにFQDNを使用したり、QRコードを印刷したりできます。ブラウザ、サーバーを存続させ、HTTPSなどを介してファイルを安全に転送します。

Qrcpの構成

デフォルトの構成ファイルは$HOME/.qrcp.jsonに保存されています 。 Qrcpは、ファイルの転送中にこのファイルで定義されたパラメーターを読み取って使用します。

catを使用して、現在構成されているパラメーターを表示できます。 コマンド:

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

次のコマンドを実行して、好みに応じてQrcpのデフォルトパラメータを設定できます。

$ qrcp config

ファイル転送に使用する適切なワイヤレスネットワークインターフェイスを選択します:

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

何らかの理由でネットワークインターフェイスが表示されない場合は、代わりに次のコマンドを使用してください。

$ qrcp --list-all-interfaces config

完全修飾名(FQDN)を入力してください:

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

ランダムポートを選択してください:

✔ Choose port, 0 means random port: 8080

ランダムポートを使用する場合は、0を押すだけです。 (ゼロ)。

ファイル/フォルダを保存する宛先パスを入力してください:

✔ Choose path, empty means random: ~/Downloads

デフォルトでは、Qrcpは受信したファイル/フォルダを現在のディレクトリに保存します。

ファイル転送後にサーバーを存続させるかどうかを選択します:

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

ファイルを安全に転送する場合は、適切なオプションを選択してください:

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

「はい」を選択した場合は、TLS証明書パスとTLS証明書キーを入力する必要があります。

構成ファイルを更新すると、デフォルトの構成が新しい値で更新されます。

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

Qrcpは、ファイルの転送中にこれらの新しい値を使用します。

構成ファイルで定義されている既存のパラメーターの代わりに、手動でカスタムパラメーターを使用することもできます。

カスタムポートを使用

Qrcpは、コンピューターとモバイルデバイス間でファイルを送受信するときに、使用可能な任意のランダムなポートを使用します。特定のポートを使用する場合、たとえば8080 、ファイルを転送するときは、--portを使用します または-p フラグ:

$ qrcp --port 8080 file.txt

構成ファイルの場所を指定してください

前述のように、デフォルトの構成ファイルは$HOME/.qrcp.jsonに保存されます 。別の場所に保存されている構成ファイルを使用する場合は、--configを使用してそのパスを指定します フラグ:

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

ファイル転送に特定のWiFiインターフェースを使用する

システムで利用可能な適切なWiFiインターフェースが複数ある場合は、--interfaceを使用してファイル転送に特定のWiFiインターフェースを使用できます。 (または-i )フラグ:

$ qrcp -i wlp9s0 file.txt

URLに特定のパスを割り当てる

Qrcpは、デフォルトで次のURL形式を使用してファイルを送受信します。

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

ランダムパスではなく、URLに特定のパスを使用する場合は、--pathを使用します フラグ:

$ qrcp --path=abcd file.txt

これで、結果のURLは次のようになります。

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

IPアドレスの代わりにFQDNを使用する

デフォルトでは、QrcpはURLでLinuxシステムのIPアドレスを使用します。 URLでIPアドレスの代わりに完全修飾名を使用する場合は、--fqdnを使用します (または-d )フラグ:

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

ブラウザでQRコードを印刷

QrcpはターミナルでQRコードを生成します。ターミナルウィンドウの外にQRを印刷する場合は、--browserを使用します フラグ。

$ qrcp --browser file.txt

このコマンドは引き続きターミナルにQRコードを出力しますが、デフォルトのWebブラウザの新しいウィンドウにQRコードを表示します。

サーバーを存続させます

ファイル転送が完了すると、接続は自動的に閉じられます。そのため、他のデバイスはそのファイル/フォルダにアクセスできなくなります。同じファイル/フォルダを複数のデバイスに転送する場合は、--keep-aliveを使用してサーバーを存続させます フラグ:

$ qrcp --keep-alive file.txt

助けを得る

使用可能なサブコマンドとフラグのリストを表示するには、次のコマンドを実行します。

$ 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. LinuxとWindows間でSAMBAサーバーを構成してファイルを転送する方法

  2. SCPとFTPを使用してLinuxのサーバー間でファイルを転送する方法

  3. EasyJoin –インターネットなしであなたの電話とPCの間でファイルを送る

  1. ncおよびpvコマンドを使用して2台のコンピューター間でファイルを転送する方法

  2. 2 台の Linux コンピューター間で LAN 経由でファイルを転送する最良の方法

  3. Linux と Android の間で高速かつ信頼性の高い方法でファイルを転送する方法は?

  1. このオープンソースツールを使用して、携帯電話とLinux間でファイルを転送します

  2. Crocを使用してコンピュータ間でファイルとフォルダを安全に転送する

  3. デバイスファイルとデバイスドライバーの違い