Simple, private file sharing over your local network.
The easiest way to get started is to download the latest Windows installer.
- No separate Python installation required.
- Launch LocalDrop from the Desktop or Start Menu.
- Share files with other devices connected to the same local network.
After starting LocalDrop, open:
http://127.0.0.1:8000
Other devices on the same network can access it using your computer's LAN IP address:
http://YOUR-PC-IP:8000
LocalDrop is a web-based file-sharing application built with Python and FastAPI.
The idea is simple: if computers are already connected to the same local network, why should you need cloud storage, messaging apps, or USB drives just to move a file from one machine to another?
LocalDrop provides a shared place to upload, download, and transfer files between authenticated users on the same LocalDrop instance.
No external cloud storage is required.
- User registration and login
- Session-based authentication
- Password hashing with Argon2
- Logout
Upload files to make them available to authenticated users on the LocalDrop instance.
- Upload and download files
- Delete your own files
- Display file size and upload date
- Show uploader information
- File-type icons
Send files directly to another registered LocalDrop user.
- Choose a recipient
- Upload private files
- View received files
- View sent files
- Restrict downloads to the sender and recipient
- Multiple-file uploads
- Drag and drop
- Upload progress indicators
- File-size display
- Upload status
- Filename handling
| Technology | Purpose |
|---|---|
| Python | Backend programming language |
| FastAPI | Web framework and API |
| SQLAlchemy | Database ORM |
| SQLite | Local database |
| Jinja2 | HTML templating |
| HTML, CSS and JavaScript | User interface |
| Argon2 | Password hashing |
| Uvicorn | ASGI server |
LocalDrop/
βββ app/
β βββ api/
β βββ auth/
β βββ database/
β βββ models/
β βββ templates/
β βββ main.py
βββ data/
β βββ private/
β βββ public/
βββ tests/
βββ requirements.txt
βββ .gitignore
βββ README.md
The local database and uploaded files are intentionally excluded from Git. Runtime data is stored separately from the application.
- Python 3.10 or newer
- Git
- pip
git clone https://github.com/feeridev/LocalDrop.git
cd LocalDroppython3 -m venv .venvActivate it.
Linux / macOS
source .venv/bin/activateWindows PowerShell
.venv\Scripts\Activate.ps1python -m pip install -r requirements.txtpython -m uvicorn app.main:app --reloadOpen the application at:
http://127.0.0.1:8000
LocalDrop is designed to make file sharing between devices on the same network straightforward.
Start the server with:
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000Find the host computer's local IP address, then open the following address on another device:
http://YOUR-PC-IP:8000
For example:
http://192.168.1.100:8000
Make sure the host firewall allows the connection and that both devices can communicate over the local network.
LocalDrop started with a practical problem: sharing files between computers on a company's local network without depending on external cloud services, messaging apps, or USB drives.
Instead of building a one-off solution for a specific network, I decided to turn the idea into a standalone application that could be useful in other local network environments.
I'm also using LocalDrop to deepen my understanding of backend development, authentication, databases, file handling, access control, and building a complete application from the ground up.
The goal is to keep improving it until it becomes genuinely useful in real-world local network environments.
LocalDrop is a work in progress, with its core file-sharing functionality implemented.
- User registration
- Login and logout
- Session-based authentication
- Public file uploads and downloads
- Private file transfers
- Access control
- File deletion
- File metadata and type icons
- Drag-and-drop uploads
- Multiple-file uploads
- Upload progress
- Windows executable and installer
- Desktop and Start Menu shortcuts
- Windows firewall configuration
- Runtime data stored separately from the application
- Search
- Sorting and filtering
- File previews
- Folders
- Rename files
- Share links
- Download as ZIP
- Settings and administration
- Improved mobile UI
- Automatic updates
LocalDrop is currently designed for trusted local networks. It is not intended to be exposed directly to the public internet in its current state.
Before considering public deployment, additional safeguards are needed, including HTTPS, secure cookie configuration, upload limits, rate limiting, production hardening, and further security testing.
LocalDrop is developed incrementally, with features added through separate commits to keep the project's Git history useful and understandable.
The roadmap will evolve as the application matures and new requirements emerge.
Windows installers are published through GitHub Releases.
LocalDrop is licensed under the MIT License.
Copyright Β© 2026 Farshad
Built to make sharing files on a local network simpler.
