Skip to content
Danub3Public

About

A software to transfer files between computers.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SpeedEgg 🥚

跨平台局域网文件传输 & 文本共享工具 — macOS ↔ Windows 无损、高速、加密传输。

特性

  • 跨平台:macOS ↔ Windows 互传,无需第三方中转
  • 无损加密:AES-256-GCM 端到端加密,256KB 分片 + MD5 校验
  • 多文件 & 文件夹:支持单文件、多文件队列、完整文件夹传输
  • 文本共享:跨系统发送文本,自动写入剪贴板
  • 局域网发现:Bonjour/mDNS 自动发现同网段设备
  • 连接稳定:TCP keepalive + 分片 3 次重试
  • 原生体验:macOS 端 SwiftUI 原生界面,Windows 端 Python + CustomTkinter
  • 简单直接:无需注册、无需登录、无需互联网

技术栈

平台 语言 / 框架 传输协议 加密
macOS Swift + SwiftUI + Network.framework TCP 自定义帧协议,端口 57320 CryptoKit AES-256-GCM
Windows Python 3 + CustomTkinter TCP 自定义帧协议,端口 57320 cryptography AES-256-GCM

项目结构

SpeedEgg/
├── Sources/
│   ├── Transfer/                  # 传输引擎
│   │   ├── TransferProtocol.swift  # 帧协议 + 加密
│   │   ├── FileSender.swift        # 文件/文件夹发送
│   │   ├── FileReceiver.swift      # 接收引擎
│   │   ├── TextSender.swift        # 文本发送
│   │   ├── DiscoveryService.swift  # Bonjour 局域网发现
│   │   └── Checksum.swift          # MD5 校验
│   ├── Views/                     # UI 界面
│   │   ├── ContentView.swift       # 主界面 + Tab
│   │   ├── SendView.swift          # 发送页(多文件/文件夹)
│   │   ├── ReceiveView.swift       # 接收页
│   │   ├── TextShareView.swift     # 文本共享页
│   │   └── Components.swift        # 通用组件
│   └── SpeedEggApp.swift          # App 入口
├── SpeedEgg-Windows/              # Windows 端
│   ├── main.py                    # CustomTkinter UI
│   ├── sender.py                  # 发送引擎(文件/文件夹/文本)
│   ├── receiver.py                # 接收引擎
│   ├── protocol.py                # 帧协议 + AES-GCM 加密
│   ├── discovery.py               # mDNS 局域网发现
│   ├── build_exe.bat              # PyInstaller 打包脚本
│   ├── SpeedEgg.bat               # 一键启动
│   └── requirements.txt           # 依赖
├── Assets.xcassets/               # App 图标
├── SpeedEgg.xcodeproj             # Xcode 项目
└── README.md

构建

macOS

本机日常使用时,只打开 /Applications/SpeedEgg.app。仓库或 Xcode DerivedData 中的 .app 都是可删除的临时构建产物。

# 推荐:Release 构建、临时签名并安装到 /Applications
./scripts/install_macos_local.sh

仅验证编译、不安装:

xcodebuild -project SpeedEgg.xcodeproj -scheme SpeedEgg \
  -configuration Release -destination 'platform=macOS' \
  -derivedDataPath /private/tmp/SpeedEggDerivedData build \
  CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

正式签名、公证并打包 DMG:

# 打包 DMG(需 Apple Developer 账号)
cp package_dmg.example.sh package_dmg.sh
cp ExportOptions.plist.example ExportOptions.plist
# 编辑上述文件,填入你的凭据
./package_dmg.sh

Windows

# 安装依赖
pip install -r requirements.txt

# 启动
python main.py
# 或双击 SpeedEgg.bat

# 打包为 .exe(无需 Python)
build_exe.bat

使用方式

  1. 接收端:切换到「接收」标签页,点击「开始接收」,开启 Bonjour 广播
  2. 发送端:切换到「发送」标签页,点击「扫描局域网设备」自动发现,或手动输入 IP
  3. 文件传输:点击选择文件/文件夹,支持多选,点「开始传输」
  4. 文本共享:切换到「文本」标签页,输入文字/网址,发送,对方自动复制到剪贴板
  5. 两台设备需在同一局域网内

License

MIT

About

A software to transfer files between computers.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages