LanBox is a lightweight local network tool for sharing files and notes between devices on the same LAN.
It provides a clean web interface, drag-and-drop uploads, and mDNS discovery support (lanbox.local) for easier access on your network.
This project is designed for:
- Fast file sharing on local networks
- Sharing quick notes between devices
- Running a zero-cloud, local-first transfer tool
- Simple self-hosted setup with Python + Flask
If you need a quick local sharing box without third-party services, LanBox keeps everything on your own network.
- Responsive web UI (desktop + mobile)
- Drag-and-drop file upload
- Direct file download and delete
- Shared notes wall (add, copy, delete)
- Light/Dark theme toggle
- Auto-refresh for files and notes
- mDNS announcement with Zeroconf
- Supports large uploads (up to 5GB)
server.py- Flask backend and API routesweb/index.html- main UI pageweb/style.css- app styling and responsive layoutweb/app.js- frontend logic for uploads, notes, and pollingweb/manifest.json- PWA metadataweb/service-worker.js- service workerlanbox.bat- Windows auto-setup and run scriptlanbox-background.bat- background runner loop (no console)lanbox-startup.vbs- hidden launcher for startupinstall-startup.bat- install Windows Startup shortcutremove-startup.bat- remove Windows Startup shortcutrequirements.txt- Python dependenciesdata/notes.json- persisted notesfiles/- uploaded files storage directory
- Python 3.8+
- pip
Install dependencies:
pip install -r requirements.txtFrom project root:
python server.pyOr on Windows (auto install + auto restart):
lanbox.batThen open:
http://localhost:3000http://lanbox.local:3000(when mDNS is available on your network)
LanBox includes scripts to auto-start in the background when you log in to Windows.
From project root, run:
install-startup.batThis creates a Startup shortcut that launches LanBox hidden on each login.
lanbox-background.batrunspythonw server.pyin a restart looplanbox-startup.vbsstarts it with no visible console windowinstall-startup.batadds a Startup shortcut automatically
If you want to disable startup:
remove-startup.bat- Keep this project folder in a fixed path after installing startup.
- If you move the folder, run
remove-startup.battheninstall-startup.batagain.
POST /api/upload- upload a fileGET /api/files- list uploaded filesPOST /api/delete-file- delete file by filenameGET /download/<filename>- download a fileGET /api/notes- list notesPOST /api/notes/add- add notePOST /api/notes/delete- delete note by id
- LanBox is intended for trusted local networks.
- Uploaded files are saved directly in
files/. - Notes are persisted in
data/notes.json. - Filenames are sanitized on upload for safer file handling.
Contributions are welcome. Suggested workflow:
- Fork the repository
- Create a feature branch
- Open a pull request
Read contribution details in CONTRIBUTING.md.
This project is licensed under the MIT License.
See LICENSE for full text.