Share files & text instantly between devices over your local network — no cloud, no account, no configuration.
QuickSend turns your computer into a private sharing hub. Any phone or another computer on the same Wi-Fi can connect, scan a QR code, and start uploading, downloading, and previewing files in seconds.
- Features
- Quick Start
- Usage Overview
- Tech Stack
- Project Structure
- Docker & NAS Deployment
- Contributing
- License
- Instant transfer — Move files between your computer, phone, and other computers on the same Wi-Fi. No cables, no cloud relay.
- Text & link sharing — Share snippets and URLs with optional password protection.
- Password protection — Lock files and texts to keep sensitive content private.
- Organized groups — Multi-level groups with fuzzy search and in-browser preview (images, audio, CSV, XLSX, DOCX, and more).
- QR code access — Guests join by scanning a QR code or opening your address in a browser.
- Two transfer modes — Sharing hub (guests can browse) or one-way (guests can only upload — great for collecting homework or assets).
- Private by design — Everything stays on your LAN. No registration required.
- Cross-platform — Windows, macOS, Linux, plus Docker and NAS deployment.
- Download the installer for your platform from Releases.
- Run the installer and open QuickSend.
- Note the address and QR code shown in the window, then open it from any device on the same network.
docker run -d --name quicksend \
-p 8000:8000 \
-v ./uploads:/app/uploads \
-v ./data:/app/QuickSend \
-e HEADLESS=1 \
-e PORT=8000 \
-e QUICKSEND_NO_BROWSER=1 \
foodpm/quicksend:latestThen open http://localhost:8000 (or your server/NAS IP) in a browser.
Requires Python 3.8+.
cd quicksend/quicksend
pip install -r requirements.txt
python quicksend/app.py- Files — Upload, download, preview, group, and password-protect files; share direct links or QR codes.
- Texts — Create, copy, share, and delete text snippets with optional passwords.
- Groups & Search — Organize content into multi-level groups; find anything with fuzzy search.
- Settings — Change the save location, switch transfer modes, keep EXIF capture dates, and control group permissions.
- Accounts — Optional sign-up lets the host identify uploaders and restrict delete/rename actions.
For detailed step-by-step instructions, see the 中文使用指南 or the Chinese README.
| Layer | Tech |
|---|---|
| Backend | Python, Flask, Werkzeug |
| Frontend | React 18, TypeScript, Vite, Tailwind CSS |
| Desktop | pywebview, PyInstaller |
| Deployment | Docker (multi-arch amd64/arm64), NAS (Synology / QNAP / UGREEN) |
| Analytics | Supabase Edge Functions |
.
├── quicksend/ # Main application
│ └── quicksend/
│ ├── app.py # Flask backend
│ ├── static/ # Frontend (React + Vite)
│ ├── docs/ # Documentation
│ ├── scripts/ # Build scripts
│ ├── 使用说明书.md # User guide (Chinese)
│ └── start_quicksend.bat # Portable launcher (Windows)
├── supabase/ # Analytics functions & migrations
├── docker-compose*.yml # Docker deployment
└── .github/workflows/ # CI/CD (build, Docker publish, Supabase deploy)
- Docker Hub image:
foodpm/quicksend - One-click Compose: docker-compose.yml
- Configuration details: DOCKER_CONFIG.md
- Offline NAS import (Synology / QNAP / UGREEN): NAS 导入指南
Contributions are welcome! Feel free to open an issue or submit a pull request.
This project does not specify an open-source license yet. Please contact the maintainer for usage or commercial inquiries.