使用 qrcp 在你的手机和 Linux 之间传输文件
创始人
2024-03-02 09:00:58
0

qrcp 项目提供了一种快速地从你的 iPhone 或 Android 设备中复制文件到你的 Linux 电脑的方法,反之也可。

你是否在寻找一种快速复制文件的方法,从你的 iPhone 或 Android 移动设备到你的 Linux 电脑,或者从你的 Linux 电脑到你的设备?我最近发现了一个开源的应用,它很容易安装,并且传输文件只需一个二维码。

qrcp 项目提供了一个命令,可以在你的终端生成一个二维码,让你通过网络向你的电脑发送或接收文件。

在 Linux、Windows 或 Mac 上安装 qrcp

开发者 Claudio d’Angelis 以 MIT 许可证发布了 qrcp 应用。我发现它很容易安装,也很容易使用。它适用于 Linux、Windows 和 macOS,可以作为 RPM、DEB 或 tarball 下载。它为几乎所有的平台做了构建,包括树莓派。

如果你想在 Linux 上安装它,下载 RPM 或 DEB,并使用你的包管理器进行本地安装。例如,在 Fedora、CentOS 或 Mageia,或类似的平台上:

$ sudo dnf install ./qrcp*rpm

如果你只是想试试,你可以下载 tar.gz 压缩包并在本地运行它:

$ tar --extract --file qrcp*tar.gz
$ ./qrcp version
qrcp 0.x.y

设置 qrcp

你可以通过使用 --help 选项查看所有可用的 qrcp 选项:

$ qrcp --help
$ ./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.
[...]

默认配置文件位于 ~/.config/qrcp/config.json ,你可以使用你喜欢的编辑器编辑,或从命令行调用配置向导来配置应用。

$ qrcp config

第一步是创建一个配置文件。qrcp config 命令将带你完成这个过程,但会问你几个问题。

第一个问题是要求你提供一个“完全限定域名”。如果你在一个不使用完全限定域名的本地网络上使用 qrcp(或者你不知道哪种方式),那么就把这个留空。qrcp 命令将使用你的本地 IP 地址代替。

下一个问题是提示你选择端口。大多数防火墙会阻止非标准的端口,但会将 8080 端口作为互联网流量的情况并不少见。如果你的防火墙屏蔽了 8080 端口,那么你还是要添加一个例外。假设你的系统使用 firewalld,你可以用这个命令允许 8080 端口的流量:

$ sudo firewall-cmd --add-port 8080/tcp --permanent

拒绝在“传输完成后保持网络连接”的选项,让 qrcp 生成一个随机路径。

假设你在一个可信的网络上,使用 HTTP(而不是 HTTPS)连接,那么你不必配置 TLS。

配置保存在 ~/.config/qrcp/config.json 中,并且之后可以编辑,所以如果你想改变设置,它很容易更新。

更新后的配置看起来像这样:

{
  "fqdn": "",
  "interface": "wlp0s20f3",
  "port": 8080,
  "keepAlive": false,
  "path": "",
  "secure": false,
  "tls-key": "",
  "tls-cert": "",
  "output": "/home/don"
}

用 qrcp 传输文件

现在你已经准备好从你的 Linux 电脑向你的移动设备发送一个文件。在这个例子中,我使用了我的 iPhone,它完全不支持 Linux,这是臭名昭著的。这个过程在安卓设备上是完全一样的。

我是这样做的。首先,我在我的电脑上创建一个示例文件:

$ echo "Hello world"> ~/example.txt

接下来,我使用 send 子命令将文件从我的 Linux 电脑发送到我的手机:

Linux~$ qrcp send example.txt

使用 qrcp send example.txt 发送文件的例子(CC BY-SA 4.0)

我打开我的相机应用(在 Android 上,我使用一个保护隐私的专用二维码扫描器),iPhone 扫描二维码并在我的手机上启动 Safari 浏览器。最后,我点击“下载”按钮。

example download

下载示例 .txt 文件(CC BY-SA 4.0)

用 qrcp 接收文件

接收文件也一样简单,只是命令略有不同:

$ qrcp receive

example of receiving a file

使用 qrcp receive 命令接收一个文件(CC BY-SA 4.0)

我扫描了二维码,它再次启动了我手机上的 Safari 浏览器,但这次出现了一些不同,因为我正在将文件从我的 iPhone 发送到 Linux 电脑上。

example of selecting a file

选择一个要传输的文件(CC BY-SA 4.0)

我点击“选择文件”,它让我选择想发送的文件。

file appears in default location

文件被下载到默认位置(CC BY-SA 4.0)

发送文件后,是在我的配置中指定的默认位置找到了文件。

尝试 qrcp

项目文档很简短但已足够,除了最初提出这个想法的 Claudio d’Angelis 之外,它还有开发者社区的支持。社区欢迎你加入他们,该应用将改变你对移动设备之间文件传输的看法。试试吧!


via: https://opensource.com/article/21/11/transfer-files-phone-linux

作者:Don Watkins 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Ansible在传输文件的...
在Ansible中,可以使用copy模块来传输文件,并使用recu...
2024-11-06 16:01:58
快速学习:Linux中传输...
本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的...
2024-10-28 16:01:36
Android设备之间是否...
是的,可以使用scp命令在Android设备之间传输文件,但是需要...
2024-10-10 10:30:48
Android到Windo...
要解决Android到Windows USB文件传输时文件丢失的问...
2024-10-07 02:32:04
Android - 如何在...
在Android中,可以使用HTTP协议来在服务器和客户端之间传输...
2024-09-30 09:31:34
axios无法使用新的Fo...
使用axios发送文件数据时,可以使用新的FormData()来创...
2024-09-29 02:30:30

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...