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

發送文件時,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

下載基於 RPM 的系統,例如 CentOS 和 RHEL .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.04LTS 桌面和 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電腦終端上顯示的二維碼。 掃描二維碼,下載地址將顯示在您的手機上。您只需單擊即可下載文件。

使用手機上的二維碼閱讀器應用掃描二維碼,開始文件傳輸

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

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

您還可以發送多個文件。

$ 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
從手機接收到的文件到電腦從手機接收到的文件到電腦

如您所見,文件已下載到當前目錄。如果要接收特定目錄中的文件 --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 (零)。

要保存文件/文件夾的目標路徑,請鍵入:

✔ 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 會在終端生成一個二維碼。如果要在終端窗口外打印二維碼, --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.

資源:

  • QrcpGitHub 存儲庫

相關閱讀:

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

Gerd Altmann 的 AIXabay 特色圖片。

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