掃描二維碼在電腦和移動設備之間傳輸文件


計算機和手機之間的文件傳輸可以使用不同的方法和不同的協議來完成。今天我將介紹一種全新的、不同的方法。本指南將向您展示如何掃描 QR 碼以在您的計算機和移動設備之間傳輸文件。是的,你沒有看錯!問候 資源管理器原名 Qr – 文件傳輸是一個簡單的命令行文件傳輸應用程序,無需離開終端即可通過掃描二維碼在 Linux 系統和手機之間通過 WiFi 發送和接收文件。

發送文件時,Qrcp 將 Web 服務器綁定到隨機端口上的 WiFi 網絡接口卡的地址,並為其創建處理程序。傳輸完成後,默認處理程序提供內容並退出程序。同樣,在接收文件時, qrcp 提供上傳頁面並處理傳輸。

Qrcp 是一個免費的開源程序。 一種編程語言,以及 什麼時候 執照。

內容

  1. 在 Linux 上安裝 Qrcp
    1. 使用 Golang 安裝 Qrcp
    2. 從二進製文件安裝 Qrcp
    3. 使用包管理器安裝 Qrcp
  2. 掃描二維碼,使用 Qrcp 在電腦和移動設備之間傳輸文件
    1. 使用 Qrcp 將文件從計算機發送到手機
    2. 使用 Qrcp 從手機接收文件到計算機
  3. Qrcp 選項
    1. qrcp配置
    2. 使用自定義端口
    3. 指定配置文件的位置
    4. 使用特定 WiFi 接口傳輸文件
    5. 為 URL 分配特定路徑
    6. 使用 FQDN 而不是 IP 地址
    7. 在瀏覽器中打印二維碼
    8. 保持服務器活躍
    9. 得到幫助

在 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

例如,您可以使用任何 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]

掃描二維碼,使用 Qrcp 在電腦和移動設備之間傳輸文件

Qrcp 可讓您輕鬆在計算機和移動設備之間傳輸文件。

本指南使用 Ubuntu 20.04 LTS 桌面和 Android 平板電腦。

確保您的智能手機上安裝了二維碼閱讀器應用程序。 有許多適用於 Android 的 QR 碼閱讀器。進行快速網絡搜索並在手機上安裝任何二維碼閱讀器。

使用 Qrcp 將文件從計算機發送到手機

首先,讓我們看看如何將文件從您的 Linux 系統發送到您的移動設備。

使用以下命令將圖像文件從 Ubuntu 桌面發送到平板電腦:

$ qrcp ostechnix.png

當您第一次啟動 Qrcp 時,它會掃描您的系統以查看您的系統上有多少 WiFi 網絡接口可用。如果有多個合適的 WiFi 卡可用,Qrcp 會要求您選擇一個來傳輸文件。就我而言,我選擇了無線接口。 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)

二維碼將出現在您的終端上,如下所示。

✔ wlp9s0 (192.168.225.37)
Scan the following URL with a QR reader to start the file transfer:
https://192.168.225.37:41377/send/7jwi
█████████████████████████████████████
█████████████████████████████████████
████ ▄▄▄▄▄ ██▄ ▄███▄▄█▀▄▄█ ▄▄▄▄▄ ████
████ █   █ █ ▀▀ ██▄█▄▀██▄█ █   █ ████
████ █▄▄▄█ █ ██▄█   █▀▄█ █ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀▄█▄▀▄▀▄█ █ █▄▄▄▄▄▄▄████
████ ▀  ▄▄▄█▀▀▀███▄ ▄█▀ █▀   ▄▄█▀████
████▀█▄ ▀▄▄ ██  ▀█▀█▀▀ ▀▀▄▀ ▀██▀█████
████▀▀▄▄▄▀▄▄▀█▄▀█▀▀▄ █▄▄▀ ▀▄▄▄ █▀████
████ █▀  █▄▀▀ █ █ ▄▄ ▄█ █ ▀█ █▄▀█████
████ █▀ ██▄▄▄▄█ ▀█▄▄█▄▄█ █▄█▀▀ █▀████
████ █▄█▀▄▄▄█ █ ▄█▀█▀▄▀▀▀█▄█ ▄▄▀█████
████▄█▄▄▄▄▄▄ ▄▄▀▀▀▀▄ ██▀ ▄▄▄ ▀   ████
████ ▄▄▄▄▄ █▀▄█▀█ ▄▄▄ ▀  █▄█ ▄▄█▀████
████ █   █ █  ▀▀▄█▄▄ ▄▀    ▄ ▄█▀█████
████ █▄▄▄█ █▄▄█▀  ▄██▄▀▄ ▀█▄▀██ █████
████▄▄▄▄▄▄▄█▄█▄█▄▄▄▄█████▄█▄█████████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
使用 Qrcp 將文件從計算機發送到手機

然後在您的手機上打開一個二維碼閱讀器應用程序並掃描您的 Linux 計算機終端上顯示的二維碼。 掃描二維碼,您的智能手機將顯示下載地址。只需單擊即可下載文件。

使用智能手機的 QR 閱讀器應用程序掃描 QR 碼以啟動文件傳輸

該文件將下載到您手機的默認下載文件夾。

文件成功下載到手機文件成功下載到手機

您還可以發送多個文件。

$ qrcp file1 file2

您可以像這樣發送整個文件夾:

$ qrcp ~/Documents/

如果文件較大,請先壓縮後再發送 --zip 橫幅:

$ qrcp --zip movie.mp4

使用 Qrcp 從手機接收文件到計算機

要將文件從移動設備發送到計算機,請在 Linux 系統的終端中運行以下命令:

$ qrcp receive

二維碼將出現在您的設備上。

Scan the following URL with a QR reader to start the file transfer:
https://192.168.225.37:35221/receive/3xiz
█████████████████████████████████████
█████████████████████████████████████
████ ▄▄▄▄▄ ██  █ ▀ ▄██  ▄█ ▄▄▄▄▄ ████
████ █   █ █ ▀█▄▀ ▄▀▄█▄▄██ █   █ ████
████ █▄▄▄█ █  ▄█ ██▄▀▄▀█▀█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █ ▀▄█▄█ █ ▀▄█▄▄▄▄▄▄▄████
████ ▀▄▄▄ ▄▀█▄ █ ▀█▄▄█▀▀█▀   ▄▄█▀████
████ ▄▄▀▀█▄ █▄▀▄▄ ▄▄▄▀ ▀▀▄▀ ▀██▀█████
██████▀█▄▄▄▀█ ▄█ █▄▄ █▀▄▀ ▀▄▄▄ █▀████
████▄ █  █▄▄█    █▀██▄█ █ ▀█ █▄▀█████
████ ▀▀▀█▀▄▀▀▀▀█▄▀▀  ▄ █ █▄█▀▀ █▀████
████ █ ▀▀█▄ █ █▀  ▄▄▀▄▀▀▀█▄█ ▄▄▀█████
████▄█▄██▄▄█ ▄ ▄▀█▄▄▀██▀ ▄▄▄ ▀   ████
████ ▄▄▄▄▄ █▀█▄█▄█▀▄ ▄▀  █▄█ ▄▄█▀████
████ █   █ █   █▀▀▀ ▄▄▄    ▄ ▄█▀█████
████ █▄▄▄█ █▄██▄█▄██▀▄▀▄ ▀█▄▀██ █████
████▄▄▄▄▄▄▄█▄▄▄▄███▄▄████▄█▄█████████
█████████████████████████████████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
使用 Qrcp 從手機接收文件到計算機使用 Qrcp 從手機接收文件到計算機

在您的移動設備上打開二維碼閱讀器並掃描上面的二維碼。 單擊 URL 以從您的手機上傳文件。

手機掃描二維碼開始文件傳輸手機掃描二維碼開始文件傳輸

一個新的瀏覽器窗口將在您的手機上打開。選擇要從手機發送到計算機的文件,然後單擊傳輸按鈕。

從您的手機中選擇一個文件並將其發送到您的計算機從您的手機中選擇一個文件並將其發送到您的計算機

如果文件傳輸成功,您將在移動設備上看到以下消息。

文件已成功從您的手機發送到您的計算機文件已成功從您的手機發送到您的計算機

文件傳輸完成後,您將在 Linux 終端中看到以下消息:

Transferring file:  /home/sk/IMG-20201017-WA0002.jpg
/home/sk/IMG-20201017-WA0002.jpg[===============================================]  99.74% 0s
File transfer completed
從手機到PC的文件接收從手機到PC的文件接收

如您所見,文件已下載到當前目錄。如果要將文件接收到特定目錄中,請使用 --output 橫幅:

$ qrcp receive --output=~/Downloads

在這種情況下,所有文件都將被下載。 ~/Downloads 目錄。

Qrcp 選項

無需配置 Qrcp。默認情況下,Qrcp 無需任何事先配置即可使用。但是,您可以使用 Qrcp 參數以多種方式調整 Qrcp 的功能。例如,使用特定端口代替隨機端口,指定配置文件的位置,使用特定網絡接口卡進行文件傳輸,使用自定義 URL 發送和接收文件,IP 可以使用 FQDN 代替 .打印地址、二維碼瀏覽器、保持服務器活躍並通過 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 (零)。

按 Enter 保存文件/文件夾目標路徑。

✔ 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 接口可用,則可以使用特定的 WiFi 接口。 --interface (還 -i) 旗幟:

$ qrcp -i wlp9s0 file.txt

為 URL 分配特定路徑

Qrcp 默認使用以下 URL 格式發送和接收文件:

  • 發送- https://{ip address}:{port}/send/{random path}
  • 收到- https://{ip address}:{port}/receive/{random path}

如果您希望 URL 使用特定路徑而不是隨機路徑, --path 橫幅:

$ qrcp --path=abcd file.txt

現在生成的 URL 如下所示:

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

使用 FQDN 而不是 IP 地址

默認情況下,Qrcp 在 URL 中使用 Linux 系統的 IP 地址。 如果您在 URL 中使用完全限定名稱而不是 IP 地址, --fqdn (還 -d) 旗幟:

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

Qrcp 在您的終端中生成一個二維碼。如果要在終端窗口外打印 QR,請使用 --browser 橫幅。

$ qrcp --browser file.txt

此命令將二維碼打印到終端,但在默認 Web 瀏覽器的新窗口中顯示二維碼。

保持服務器活躍

文件傳輸完成後連接會自動關閉。因此其他設備將無法訪問文件/文件夾。如果您想將相同的文件/文件夾傳輸到多個設備, --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.

資源:

  • Qrcp GitHub 存儲庫

相關文件:

  • 使用 Croc 在計算機之間傳輸文件和文件夾
  • 使用 Warpinator 在 Linux 桌面之間共享文件
  • 如何使用 Firefox Send 在互聯網上安全地共享文件
  • 如何在 Linux 上使用 ffsend 從命令行安全地共享文件
  • PSiTransfer – 一個簡單的開源自託管文件共享解決方案
  • 如何使用 simpleHTTPserver 設置基本文件服務器
  • 從命令行通過 Internet 共享文件的快捷方式
  • OnionShare – 安全匿名地共享任何大小的文件

Gerd Altmann 的精選圖片來自Pixabay。

Android文件共享文件傳輸GoGoLangLinuxMobile開源二維碼qr-filetransferQrcp