Skip to content

Meetmendapara09/LocalBeam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LocalBeam — Lightning-fast sharing on your Wi-Fi.

Minimal Flask app to share files with anyone on the same network. Files are stored in the local shared/ folder.

Quick start (Windows PowerShell)

# from the repo root
python -m venv venv
./venv/Scripts/activate
pip install -r requirements.txt

# optional: set passwords
$env:FTAPP_VIEW_PASSWORD = "yourviewpass"  # optional password to view files
$env:FTAPP_UPLOAD_PIN = "youruploadpin"    # optional PIN for uploads

# run the server on all interfaces so other devices can reach it
$env:FTAPP_HOST = "0.0.0.0"
$env:FTAPP_PORT = "8000"
python app.py

Then, on another device on the same Wi-Fi, open http://<your-PC-LAN-IP>:8000.

Tips for finding your LAN IP:

  • Windows: run ipconfig and look for the IPv4 Address on your active adapter.
  • The web UI also shows detected LAN URLs when the server is running.
  • Scan the QR codes on the page with your phone's camera to open directly.

Features

  • Multi-file uploads
  • Drag-and-drop uploads with visual feedback
  • Upload progress bar
  • QR codes for easy access
  • Real-time updates via WebSockets
  • Optional password protection for viewing files
  • Optional upload PIN
  • File previews for images, PDFs, and text files
  • Delete files from the web UI
  • ZIP download for selected files
  • Mobile-responsive design

How it works

  • Uploads (single or multiple files) go to shared/ next to app.py.
  • Drag files onto the drop zone or select via file picker.
  • Files are listed on / with size and last modified time.
  • GET /files/<name> serves files for download or inline viewing.
  • GET /preview/<name> shows previews for supported file types.
  • POST /delete/<name> removes a file (with confirmation).
  • POST /download_zip creates and serves a ZIP of selected files.
  • Real-time updates via WebSockets when files are uploaded/deleted.
  • GET /health returns a tiny status JSON.

Notes

  • SECRET_KEY in app.py is a random string used by Flask to secure sessions and cookies. Change it to a unique value (e.g., generate a random string) if you expose the app beyond local/LAN to prevent session hijacking.
  • No authentication is included beyond optional passwords; run only on trusted networks.
  • The app is single-process and not tuned for very large files.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors