Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

文件传输助手

文件传输助手用于把 Android 手机上的一个或多个文件,通过同一局域网直接保存到 Windows 电脑所选的文件夹。传输不经过云端,已有同名文件不会被覆盖。

直接运行

  • Windows:运行 artifacts/windows-x64/FileTransferAssistant.exe
  • Android:在手机上安装 artifacts/android/FileTransferAssistant-debug.apk

这两个文件是本地构建产物,不纳入 Git。Windows 程序为自包含 win-x64 单文件,不要求另装 .NET;当前 EXE 没有商业代码签名,Windows SmartScreen 可能显示“未知发布者”。APK 使用 Android 调试证书签名,安装时需要允许当前文件管理器“安装未知应用”。

使用流程

  1. 在 Windows 端选择接收文件夹,点击“启动服务”。首次运行时,只允许 Windows 防火墙的“专用网络”访问。
  2. 确认手机与电脑连接到同一个可信 Wi-Fi。
  3. 在 Android 端输入 Windows 界面列出的 Wi-Fi IPv4 地址和 6 位配对码,再点击“测试连接”。不要在手机上使用 127.0.0.1
  4. 选择一个或多个文件,点击“上传到 Windows”。上传期间可取消。
  5. Windows 端会显示接收结果;重名文件会自动编号,已有文件不会被覆盖。

项目结构

File_Transfer_Assistant/
|-- android/   Android 客户端
|-- windows/   Windows 接收端
|-- artifacts/ 本机构建的可运行文件(Git 忽略)
`-- docs/      协议与开发说明

安全边界

当前版本面向家庭或办公室的可信局域网。每个 Windows 接收会话使用不同的临时配对码,停止接收后立即失效。首版传输使用局域网 HTTP,不提供端到端加密,因此不要在公共 Wi-Fi 上传敏感文件。

Windows 端只允许把文件写入当前选中的目录,不接受 Android 端提供的路径。文件名会经过 Windows 规则清理;内容先流式写入带所有权标记的专用临时目录,完整接收后再原子移动为最终名称。收到的文件不会被自动打开或执行。

传输限制

  • 单批最多 100 个文件
  • 单文件最多 2 GiB
  • 单个 HTTP 请求约 10 GiB
  • Windows 同时处理最多 2 个上传请求

Android 与 Windows 都使用流式读写,不会把整个大文件载入内存。批次中途失败时,已经完整确认的文件会保留,正在接收的临时文件会删除;Android 会把结果不确定的项目明确标出,避免直接重试产生副本。

故障排查

  • 连接失败:确认两台设备在同一个非访客 Wi-Fi,关闭手机/电脑 VPN,并尝试 Windows 界面中的另一个私有 IPv4 地址。
  • 防火墙:在 Windows Defender 防火墙中允许程序访问“专用网络”,不要为公共网络开放。
  • 同 Wi-Fi 仍不可达:路由器可能启用了 AP/客户端隔离;访客网络通常默认隔离设备。
  • 配对失败:停止并重新启动 Windows 服务后,手机必须输入新显示的配对码。
  • 上传后名称变化:目标目录已有同名文件,Windows 会生成 名称 (1).扩展名

开发与构建

Windows 需要 .NET 10 SDK:

dotnet test .\windows\FileTransferAssistant.slnx -c Debug
dotnet run --project .\windows\src\FileTransferAssistant.Windows\FileTransferAssistant.Windows.csproj

Android 需要 JDK 17、Android SDK Platform 35,并可用 Android Studio 打开 android/

cd .\android
.\gradlew.bat assembleDebug lintDebug

协议细节见 docs/PROTOCOL.md,两端各自的说明见 windows/README.mdandroid/README.md

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages