Drop a file here, pick it up there.
A minimal cross-platform file delivery tool for personal multi-device use.
中文 | English
Folip is a personal file shuttle between your devices. Send a file from your Mac — pick it up on your Android phone (or vice versa) whenever you want. The receiving device doesn't need to be online when the file is sent.
Think "file dropbox", not "cloud drive".
- Async delivery — sender and receiver don't need to be online at the same time
- Bidirectional — send and receive from any device (Mac, Android)
- Lightweight — Mac app is a native tray utility (~8MB), not a bloated Electron app
- Temporary transit — files auto-expire; this is a shuttle, not storage
- Secure — files transfer via presigned URLs; no credentials stored on client
- Resumable upload — large files (up to 500MB) upload in chunks with resume support
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ Mac App │ │ Alibaba Cloud │ │ Android App │
│ (Tauri) │◄───────►│ Function Compute│◄───────►│ (Flutter) │
└──────┬──────┘ │ + TableStore │ └──────┬──────┘
│ └────────┬─────────┘ │
│ │ │
└─────────────────► OSS Bucket ◄────────────────────┘
(presigned URLs)
- Mac: Tauri v2 + Rust — native system tray with drag-and-drop
- Android: Flutter 3.24+ — material design with background download
- Backend: Alibaba Cloud Function Compute (serverless) + TableStore (NoSQL)
- Storage: Alibaba Cloud OSS with lifecycle auto-expiry
Folip/
├── mac/ # Tauri v2 Mac desktop app
│ └── src-tauri/ # Rust backend + Tauri commands
├── mobile/ # Flutter Android app
│ └── lib/ # Dart source (Riverpod, Dio)
└── functions/ # Serverless backend (Node.js / TypeScript)
└── src/ # API routes, auth, OSS integration
| Layer | Technology | Why |
|---|---|---|
| Mac App | Tauri v2 + Rust | ~8MB binary, native macOS integration |
| Mobile App | Flutter 3.24+ | Single codebase for Android + future iOS |
| Backend | Alibaba Cloud FC 3.0 | Serverless, zero idle cost |
| Database | TableStore (OTS) | NoSQL key-value, serverless |
| File Storage | Alibaba Cloud OSS | S3-compatible, multipart upload, lifecycle rules |
| Auth | JWT + bcrypt | Stateless, serverless-friendly |
- Rust toolchain (for Tauri)
- Flutter SDK 3.24+
- Node.js 18+ (for backend functions)
- Alibaba Cloud account with OSS + FC enabled
cd mac
cargo tauri devcd mobile
flutter pub get
flutter runcd functions
npm install
npm run devv1.0 MVP is complete and working end-to-end. All 4 development phases finished:
- Backend Foundation
- Mac Desktop App
- Android Mobile App
- Cloud Deployment
MIT