Skip to main content

LAN file server with token auth. 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

# Fixed token
servepass --token mytoken

# 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.

What you can do

Download files on your phone without cables Serve a folder, scan the QR code on your iPhone or Android, and grab whatever you need directly from the browser. Works with any file type: PDFs, photos, videos, zip archives.

Send photos from your phone to your computer Open the URL on your phone, use the upload form at the top of the page, and the file lands directly in the served folder on your machine. No AirDrop, no cloud, no cable.

Share documents with someone on the same network Run servepass in a folder with the files you want to share. Send the link. They open it in any browser and download what they need.

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 transfer files to and from 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
File upload Yes No Yes
QR code Optional No No

Roadmap

  • Serve with token auth
  • Auto-detect LAN IP
  • QR code in terminal (optional)
  • --token flag for a fixed token
  • File upload via browser
  • Expiration flag (--expires 30m)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

servepass-0.2.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

servepass-0.2.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file servepass-0.2.0.tar.gz.

File metadata

  • Download URL: servepass-0.2.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for servepass-0.2.0.tar.gz
Algorithm Hash digest
SHA256 84e5e4dad1ab5c32a27e88f667c199c60588e37e445ca839f932612bbd4ce7f8
MD5 d109bb32d3ca6703104d691f51f13aa4
BLAKE2b-256 0c0ed01e3c98c388714c3e50300ae5b9a2455ae52529043fca0641914205b80e

See more details on using hashes here.

File details

Details for the file servepass-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: servepass-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for servepass-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fbc3d4b7e29a465810354051102cf7035a8e91467b4a02375b9d2b525f0c00cf
MD5 161fc3f9bfe600c8ccb80bb1af98383b
BLAKE2b-256 d45d484e7034d0a8f02297a709444398580acf6e5026faf6ddb96678b84756ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page