跳到正文
发现
qrcp:终端扫码传文件
命令行工具效率工具

qrcp:终端扫码传文件

在终端启动临时 Web 服务器并打印二维码,手机扫码即可通过 Wi-Fi 与电脑互传文件。

admin
发布于 2026-10-28
浏览
4
访问
0
下载
0
版本
v0.11.7
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

qrcp 是一个用 Go 编写的命令行工具,让你不用离开终端就能在电脑和手机之间通过 Wi-Fi 传输文件。它的工作方式是:在本机 Wi-Fi 网卡地址上绑定一个随机端口的 Web 服务器,并生成一个形如下面内容的二维码:

http://{address}:{port}/{random_path}

大多数扫码应用能识别文本中的 URL 并用默认浏览器打开,因此扫码后手机浏览器就会开始下载文件。默认的处理程序在传输完成后会自动退出;用于接收文件时,qrcp 会提供一个上传页面并处理传输。

发送文件到手机:

从手机接收文件:

主要功能

  • 发送文件:qrcp MyDocument.pdf 发送单个文件,也可一次传多个文件 qrcp MyDocument.pdf IMG0001.jpg
  • 发送文件夹:qrcp Documents/
  • 传输前打包:qrcp --zip LongVideo.avi
  • 接收文件:qrcp receive 存到当前目录,或 qrcp receive --output=/tmp/dir 指定目录
  • 指定网卡:qrcp -i tun0 MyDocument.pdf;绑定所有网卡用 qrcp -i any MyDocument.pdf
  • HTTPS 传输:qrcp --tls-cert /path/to/cert.pem --tls-key /path/to/cert.key MyDocument.pdf
  • 配置文件与环境变量:默认配置文件位于 $XDG_CONFIG_HOME/qrcp/config.yml,也可用 --config 指定;所有参数支持 QRCP_ 前缀的环境变量
  • Shell 补全:支持 Bash、Zsh、Fish

安装与使用

使用 Go 安装(需要 Go 1.18 及以上):

go install github.com/claudiodangelis/qrcp@latest

也可以通过各平台的包管理器安装:

# ArchLinux (AUR)
yay -S qrcp-bin

# macOS (Homebrew)
brew install qrcp

# Windows (WinGet)
winget install --id=claudiodangelis.qrcp  -e

# Windows (Scoop)
scoop install qrcp

# Windows (Chocolatey)
choco install qrcp

Linux 的 deb / rpm 包可分别用 sudo dpkg -i qrcp_<version>_linux_x86_64.deb 和 sudo rpm -i qrcp_<version>_linux_x86_64.rpm 安装;其他平台也可从 Releases 页面下载预编译包,解压后把可执行文件放进 PATH(macOS/Linux 常见做法是移到 /usr/local/bin 并设置权限)。

安装后可运行 qrcp --help 确认是否可用。

常用配置项包括 interface(绑定网卡,any 表示 0.0.0.0)、bind(绑定地址,覆盖 interface)、port(端口,默认随机)、path(URL 路径,默认随机字符串)、output(接收文件的默认目录)、fqdn(用域名代替 IP)、keep-alive(传输完成后保持服务器运行,默认 false)、secure、tls-cert、tls-key。

Shell 补全示例:

# Bash
source <(qrcp completion bash)

# Zsh
qrcp completion zsh > "${fpath[1]}/_qrcp"

# Fish
qrcp completion fish | source

注意事项

  • 电脑与手机需要处于同一个 Wi-Fi 网络,传输依赖本地网络连通性。
  • 默认使用 HTTP 与随机端口、随机路径,在不可信网络中建议启用 secure 并配置 TLS 证书与私钥。
  • 默认传输完成后服务会自动退出;如需继续使用可开启 keep-alive。
  • 项目采用 MIT 许可证。

本作品整理自 GitHub 开源项目 claudiodangelis/qrcp,原作者 @claudiodangelis,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v0.11.7当前版本

    修复 CI 发布说明与下载链接的清理、去除版本前缀;检查全部未处理的错误返回值;修复 Darwin 上 sendfile 导致 GET 响应损坏;TCP keepalive 设置失败时不再 panic。

评论