SkillAgentSearch skills...

PcAndroidScpGui

电脑手机快速互传

Install / Use

/learn @kuchaomc/PcAndroidScpGui
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

PcAndroidScpGui(电脑 <-> 安卓)

License: MIT

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:这是协议收尾阶段(等待远端确认/关闭句柄),不影响最终结果

快速开始

  1. 手机安装 Termux 和 Termux:Widget
  2. Termux 执行安装依赖:pkg install openssh
  3. 设置一次密码(用于首次配对):pkg install termux-auth 然后 passwd
  4. 授权存储:termux-setup-storage
  5. 电脑端运行 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

View on GitHub
GitHub Stars42
CategoryDevelopment
Updated2d ago
Forks2

Languages

C#

Security Score

85/100

Audited on Apr 7, 2026

No findings