Note
🔄 项目说明:本项目基于 yeyt97/AirDropPlus 使用 .NET 8 (C#) 进行完全重构。
原项目使用 Python 编写,本重构版本旨在提供:
- ✅ 零依赖:无需 Python 环境,编译为单一
.exe文件 - ✅ 内置 mDNS:无需安装 Apple Bonjour 服务即可使用
.local域名访问 - ✅ 更好的性能:原生编译,启动更快,占用更低
感谢原作者 @yeyt97 的创意和贡献! 🙏
- 手机 ⇄ 电脑无缝同步文本内容
- 支持一键获取/发送剪贴板内容
- 手机发送文件/图片到电脑
- 自动保存到指定目录
- 支持大文件传输
- 无需安装 Apple Bonjour 服务
- 通过
http://电脑名.local直接访问 - 彻底解决局域网 IP 变动问题
- 支持密钥验证机制
- 只有持有正确密钥的客户端才能访问
- 完美适配 iOS 快捷指令 (Shortcuts)
- 支持其他 HTTP 客户端调用
- 系统托盘图标
- 气泡通知提醒
- 二维码扫描连接
- Windows 10/11
- .NET 8 运行时(独立发布版无需安装)
- 下载 最新版本的
AirDropPlus.exe - 运行 程序,首次运行时 Windows 防火墙会请求权限:
- ✅ 同时勾选 "专用网络" 和 "公用网络"
- ✅ 点击 "允许访问"
- 查看托盘图标,右键可显示二维码或退出程序
配置文件 config.json 位于程序同目录,支持以下选项:
{
"port": 5000,
"key": "your_secret_key",
"save_path": "AirDropFiles"
}| 配置项 | 说明 | 默认值 |
|---|---|---|
port |
HTTP 服务端口 | 5000 |
key |
访问密钥(安全验证) | 空 |
save_path |
文件保存目录 | 程序目录下的 AirDropFiles |
提示:建议使用 mDNS 域名访问(如
http://MyPC.local:58446),以避免 IP 变动问题。
GET /clipboard?key=<your_key>响应示例:
{
"status": "success",
"content": "这里是电脑复制的文字"
}POST /clipboard?key=<your_key>
Content-Type: application/json
{
"content": "这是来自手机的文字"
}响应示例:
{
"status": "success"
}POST /upload?key=<your_key>
Content-Type: multipart/form-data
file: <文件流>响应示例:
{
"status": "saved",
"filename": "photo.jpg"
}- 确认 Windows 电脑名称(建议使用纯英文,如
MyPC) - 获取访问密钥(如需验证)
- 输入:设置为 "从共享表单接收"
- 判断输入类型:
- 如果是文本:
- URL:
http://MyPC.local:58446/clipboard?key=your_key - Method:
POST - JSON Body:
{"content": "快捷指令输入"}
- URL:
- 如果是文件/图片:
- URL:
http://MyPC.local:58446/upload?key=your_key - Method:
POST - Form Body: Key=
file, Value=快捷指令输入
- URL:
- 如果是文本:
- 获取 URL 内容:
- URL:
http://MyPC.local:58446/clipboard?key=your_key - Method:
GET
- URL:
- 复制字典值 (
content) 到剪贴板
由于项目使用 Web 服务 (TCP) 和 mDNS 广播 (UDP),请确保以下端口未被防火墙拦截:
| 端口 | 协议 | 用途 |
|---|---|---|
| 5353 | UDP | mDNS 广播(.local 域名解析) |
| 58446 | TCP | HTTP 服务(可配置) |
⚠️ 重要:首次运行时,Windows 防火墙弹窗中必须同时勾选"专用网络"和"公用网络"并允许。
- 确保电脑和手机在同一局域网
- 检查 Windows 防火墙是否允许 UDP 5353 端口
- 尝试使用 IP 地址直接访问作为备选方案
默认保存到 config.json 中配置的 save_path 目录,如未配置则保存到程序目录下的 AirDropFiles 文件夹。
编辑 config.json 文件,修改 port 字段后重启程序。
确保请求 URL 中包含正确的 key 参数,如 ?key=your_key。
- 开发语言:C# (.NET 8 SDK)
- 应用类型:WPF Application
- Web 服务器:Kestrel (ASP.NET Core Minimal APIs)
- 网络发现:Makaretu.Dns.Multicast (mDNS)
Hardcodet.NotifyIcon.Wpf- 系统托盘图标QRCoder- 二维码生成Makaretu.Dns.Multicast- mDNS 广播
dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true --self-contained true -p:IncludeNativeLibrariesForSelfExtract=true输出路径:bin\Release\net8.0-windows\win-x64\publish\AirDropPlus.exe
MIT License
Made with ❤️ by AirDropPlus Team