LAN file server with password protection. Like python -m http.server but with auth
Project description
servepass
Serve files on your LAN with a token. That's it.
pipx install servepass
servepass
You know python -m http.server. It's great for quick file sharing on a local network. The problem is it has zero authentication, so anyone on the same network can grab whatever you're serving.
servepass fixes that. Same zero-config philosophy, but with a token-protected URL. Run it, get a link, share it. No accounts, no cloud, no telemetry.
Install
pipx install servepass
Or with pip:
pip install servepass
Requires Python 3.8+. No external dependencies.
Usage
# Serve current directory
servepass
# Serve a specific path
servepass ./downloads
# Custom port
servepass --port 9090
# No authentication
servepass --no-auth
Every time you run servepass, a fresh token is generated. You get a URL and an optional QR code in the terminal:
Serving: /home/user/downloads
Network: http://192.168.1.42:8080/?token=a3f9b2c1
Token: a3f9b2c1
Ctrl+C to stop
Open the URL in any browser on your network and you're in. Scan the QR code to open it directly on your phone.
QR code
The QR code is printed automatically if the qrcode package is installed:
pip install qrcode
Without it, servepass works normally and just shows the URL.
Known limitations
servepass uses a token in the URL over plain HTTP. The token is not encrypted in transit. This is fine for a trusted local network. It is not a substitute for HTTPS or VPN on public or untrusted networks.
If you're on public WiFi, use something else.
Who this is for
- You're on a trusted LAN (home, office, workshop) and want to share files quickly
- You want to download files on your phone without cables or cloud storage
- You don't want to expose an unauthenticated HTTP server to everyone on the network
- You want something lightweight with zero setup time
Comparison
| servepass | python -m http.server | filebrowser | |
|---|---|---|---|
| Authentication | Token | No | Yes |
| Install | pipx install servepass |
Built-in | Binary + config |
| Dependencies | None | None | None |
| LAN IP detection | Yes | No | Yes |
| QR code | Optional | No | No |
| File upload | Planned | No | Yes |
Roadmap
- Serve with token auth
- Auto-detect LAN IP
- QR code in terminal (optional)
-
--tokenflag to set a fixed token - HTTPS with self-signed cert
- File upload via browser
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file servepass-0.1.0.tar.gz.
File metadata
- Download URL: servepass-0.1.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dcb1e497d577c0ba71969aacad1c233e258ed99d06a11f49bb70e2902a93bd2
|
|
| MD5 |
fc4162d94dccc9ba587a19c3b98c1e99
|
|
| BLAKE2b-256 |
3887a53640e301bc273f58dad793c7ee181a88dd8fd055382d7865b62dcf9b5a
|
File details
Details for the file servepass-0.1.0-py3-none-any.whl.
File metadata
- Download URL: servepass-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e092bed811ed6eae7e547ed30412fb3325cf7903b815aaeba0c0babe338910de
|
|
| MD5 |
128a71c6279bd408c4af81dab8a040e8
|
|
| BLAKE2b-256 |
6612efc78aca79b8a74cfdbb60b66d297956f9e926a150b04e3687df5a568b63
|