https://github.com/kiran99756/localshare
Secure Local Network File Sharing App built with FastAPI, WebSockets, QR Codes and AES Encryption.
https://github.com/kiran99756/localshare
encryption fastapi file-sharing local-network python qrcode sqlite websocket windows zeroconf
Last synced: 5 days ago
JSON representation
Secure Local Network File Sharing App built with FastAPI, WebSockets, QR Codes and AES Encryption.
- Host: GitHub
- URL: https://github.com/kiran99756/localshare
- Owner: kiran99756
- License: mit
- Created: 2026-07-10T20:36:00.000Z (6 days ago)
- Default Branch: main
- Last Pushed: 2026-07-11T05:42:56.000Z (5 days ago)
- Last Synced: 2026-07-11T07:11:54.433Z (5 days ago)
- Topics: encryption, fastapi, file-sharing, local-network, python, qrcode, sqlite, websocket, windows, zeroconf
- Language: Python
- Homepage:
- Size: 58.6 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ก Local Share
**Drop a file on your laptop, pick it up on your phone โ no cloud, no cables, no account.**
A self-hosted, LAN-only file-sharing web app: drag-and-drop uploads with a live progress bar, instant image/video preview, search, rename, a QR code + auto device discovery (mDNS), a shared-password login, and every file encrypted at rest. Runs anywhere Python runs, or as a single double-click `.exe` on Windows.
[](LICENSE)
[](https://www.python.org/)
[](https://fastapi.tiangolo.com/)
[![Build Windows exe]https://github.com/kiran99756/Localshare/releases/tag/v1.0.0
## Why
Sharing a file between your laptop and your phone shouldn't require uploading it to a cloud you don't control, emailing it to yourself, or plugging in a cable. If both devices are on the same Wi-Fi, this spins up a tiny private webpage every device on that network can use โ nothing leaves the LAN.
## Features
- ๐ค **Drag-and-drop upload** with a real per-file progress bar
- ๐ผ๏ธ **Image & video preview** inline, no download needed
- ๐ **Search** across shared files
- โ๏ธ **Rename** files from the browser
- ๐ฑ **Auto discovery, two ways** โ scan the QR code, use `localshare.local` (mDNS), *or* a UDP broadcast beacon (`discovery.py`) that any client on the LAN can query for the server's IP โ useful when mDNS is flaky
- ๐ **Optional internet sharing** โ a "Share Over the Internet" button opens a temporary public HTTPS link (via a Cloudflare quick tunnel, no account/port-forwarding needed) for the rare case someone off your Wi-Fi needs a file. Password login still applies.
- ๐ฒ **Installable on Android** โ Add to Home Screen for an app-like icon (PWA manifest + service worker); full standalone install works once accessed over HTTPS (e.g. the internet-sharing link above)
- ๐ **Password-protected + encrypted at rest** (AES via `cryptography`/Fernet) โ a stolen laptop or leaked backup is just ciphertext
- ๐ฌ **Live chat + online presence** over WebSockets
- ๐ฅ๏ธ **Single-file Windows `.exe`** โ no Python required on the target machine
- ๐ Dark mode
## Quick start
```bash
git clone https://github.com/kiran99756/Localshare.git
cd local-share
pip install -r requirements.txt
python main.py
```
The terminal prints your auto-generated password and a URL to open on your phone (or just scan the QR code shown on the page).
### Windows (no Python needed)
Grab `LocalShare.exe` from [Releases](../../releases) and double-click it. Or build it yourself โ see [BUILD.md](BUILD.md).
### Internet sharing (optional, one-time setup)
The "Share Over the Internet" button needs the free `cloudflared` binary installed once on the host machine โ details in [BUILD.md](BUILD.md#3-internet-sharing-feature-optional-one-time).
Full requirements/build details for every path (dev run, Windows exe, internet sharing, Android install) are in **[BUILD.md](BUILD.md)**.
## Tech stack
FastAPI + WebSockets ยท SQLite ยท vanilla JS/CSS (no build step) ยท `cryptography` for at-rest encryption ยท `zeroconf` for mDNS ยท PyInstaller for the Windows build.
## Roadmap / ideas
- [ ] Native Android app (currently: installable PWA via "Add to Home Screen")
- [ ] Linux/macOS `.app` / AppImage builds (Windows exists via PyInstaller already)
- [ ] Per-file expiry / auto-delete
- [ ] Folder/zip upload support
Contributions welcome โ see [Contributing](#contributing).
## Contributing
Issues and PRs are welcome. Good first areas: the roadmap above, UI polish, or testing on more Android/iOS browser combos. Please open an issue before a large PR so we can align on approach first.
## License
MIT โ see [LICENSE](LICENSE).