PcAndroidScpGui
电脑手机快速互传
Install / Use
/learn @kuchaomc/PcAndroidScpGuiREADME
PcAndroidScpGui(电脑 <-> 安卓)
Windows 电脑与 Android(Termux)之间的高速双向传文件工具,底层基于 SSH/SFTP。
实测在 wifi6 环境下,传输文件速度至少可达协议速度 80%。
Android 端:Termux 运行 sshd 作为服务端
Windows 端:WPF GUI 程序(SSH.NET)作为客户端,提供配对免密 + 上传/下载
<img width="872" height="608" alt="image" src="https://github.com/user-attachments/assets/77166d1b-ade8-4068-9604-7346bca9d643" />功能亮点
- 首次配对后免密(自动写入手机
~/.ssh/authorized_keys) - 支持批量传输:多选文件/文件夹,自动递归上传/下载(保留目录结构)
- 上传/下载进度条 + 实时速度 + ETA(预计剩余时间)
- 传输队列:每个文件显示状态/进度/错误信息,可随时取消
- 自动记住上次连接信息(IP/端口/用户名/默认目录),下次打开自动回填
- 手机端桌面小组件一键启动/停止
sshd(Termux:Widget)
下载(Release)
请到 GitHub Releases 下载:
- Windows 程序:
PcAndroidScpGui-*.zip - 手机端脚本与windows工具:
android-termux-scripts.zip
运行要求:Windows 需要安装 .NET 8 Desktop Runtime (x64)。
说明:
- 速度显示:总速度 = 当前正在传输的各文件速度之和
- ETA 显示:总 ETA = 各文件预计剩余时间的最大值(以最慢的那个为准)
- 个别情况下进度到 100% 但状态仍是 Running:这是协议收尾阶段(等待远端确认/关闭句柄),不影响最终结果
快速开始
- 手机安装 Termux 和 Termux:Widget
- Termux 执行安装依赖:
pkg install openssh - 设置一次密码(用于首次配对):
pkg install termux-auth然后passwd - 授权存储:
termux-setup-storage - 电脑端运行
PcAndroidScpGui.exe,填写 IP/端口/用户名,点击“首次配对”完成免密
下面是完整配置以及安装流程。
目录结构
tools/windows/
adb_安装TermuxWidget脚本.bat:一键把手机端脚本推送到手机 Download(Android 16 下会自动 fallback)
启动PcAndroidScpGui.ps1:开发期一键启动(dotnet run)
android/termux/
SSH-启动并显示信息.sh:手机端启动 sshd 并输出 IP/指纹
SSH-停止.sh:手机端停止 sshd
src/PcAndroidScpGui/:Windows WPF 源码
依赖
Android(手机端)
- Termux
- Termux:Widget(一般自带)
- Termux 内安装 OpenSSH:
pkg install openssh
termux-api 不强制安装。
没装 termux-api 时,脚本会自动降级为 echo 输出,不会报错。
Windows(电脑端)
- Windows 10/11
- .NET 8 Desktop Runtime (x64)
- ADB(可选):如果电脑没有 adb,
adb_安装TermuxWidget脚本.bat会自动下载并配置(谷歌官方源下载,可能需要科学上网)
从 0 开始(配置完成后传输文件从第八步直接开始)
第 0 步:安装 App
手机上安装:Termux
第 1 步:Termux 安装 OpenSSH
pkg update
pkg install openssh
第 2 步:设置一次登录密码(首次配对要用)
注意:命令是 passwd,不是 password.
如果提示找不到 passwd,需要先安装 termux-auth.
pkg install termux-auth
passwd
第 3 步:授权 Termux 访问手机存储
termux-setup-storage
如果提示要重建 ~/storage,输入 y(不会删除真实存储内容)。
第 4 步:用 ADB 推送手机端脚本(电脑操作)
电脑运行:tools/windows/adb_安装TermuxWidget脚本.bat
脚本会把文件推到手机的 Download 文件夹下:
/sdcard/Download/SSH-start.sh
/sdcard/Download/SSH-stop.sh
第 5 步:把脚本安装到 Termux:Widget 目录(手机操作)
打开 Termux,分别输入:
mkdir -p ~/.shortcuts
cp /sdcard/Download/SSH-start.sh ~/.shortcuts/
cp /sdcard/Download/SSH-stop.sh ~/.shortcuts/
chmod +x ~/.shortcuts/SSH-start.sh ~/.shortcuts/SSH-stop.sh
第 6 步:桌面添加 Widget
桌面长按空白处 -> 小组件(部分国内 OS 显示为安卓小组件或其它)-> Termux:Widget
添加至桌面后,你会看到两个按钮:SSH-start.sh、SSH-stop.sh
第 7 步:启动手机端 sshd
点击 SSH-start.sh
提示:Termux:Widget 运行脚本后 60s 自动关闭界面。
可以在 Termux 里查看最后一次启动信息(以下为查看信息命令):
cat ~/ssh_widget.last
tail -n 80 ~/ssh_widget.log
第 8 步:启动电脑端 GUI 并首次配对
直接运行发布的 PcAndroidScpGui.exe
按界面填写:
- 手机 IP:建议填同一 Wi‑Fi 下的局域网 IP(常见 192.168.x.x / 10.x.x.x / 172.16-31.x.x)
- 注意:如果 Termux 中读取到的手机 IP 和真实 IP 不相符,请使用真实 IP
- 路径:手机设置 -> WLAN -> 网络详情(或 Wi‑Fi 图标)-> IP 地址
- 端口:8022
- 用户名:手机端 SSH-start.sh 会显示用户名(也可在 Termux 执行
whoami) - 默认目录:
/data/data/com.termux/files/home/storage/shared/Download/
然后点击“首次配对”,输入手机端 passwd 设置的密码,按提示确认主机指纹。
后续连接无需输入密钥,点击连接测试即可。
第 9 步:传输文件
- 上传:电脑 -> 手机 Download
- 下载:手机 Download -> 电脑
C:\Users\<你>\Downloads
电脑端小功能
- 自动回填上次连接信息:IP/端口/用户名/默认目录会保存到
%AppData%\PcAndroidScpGui\settings.json,下次启动自动填充。 - 传输速度与 ETA:进度条右侧会显示实时平均速度与预计剩余时间。
常见问题(FAQ)
Q1:Android 16 下为什么 ADB 写 /data/data/com.termux/... 失败?
这是应用沙盒限制(非 root 下不允许)。所以脚本会 fallback 到 /sdcard/Download/,再由 Termux 自己复制进 ~/.shortcuts.
Q2:Termux:Widget 点启动脚本后提示 termux-toast: command not found
不需要装 termux-api。本项目脚本已做兼容:没有 termux-api 时自动 echo 输出。
Q3:termux-setup-storage 提示重建 ~/storage
输入 y 即可,它只会重建链接结构,不会删除真实存储文件。
Q4:Windows 端提示“尚未配对/私钥不存在”
先点“首次配对”,成功后才会生成私钥并写入手机 authorized_keys。
Q5:连不上手机
- 确认手机已点 SSH-start.sh,sshd 正在运行
- 确认手机和电脑在同一 Wi‑Fi
- 确认端口是 8022
- 如果有防火墙/热点隔离,需放行局域网连接
许可证
MIT
