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

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.3.0.tar.gz (11.8 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.3.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for servepass-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a1af1b5c0e8a2110fe4c7d59cb7e850f894760471858e66f362339d9cb3c9161
MD5 1f84b74ec6845e8f584f26580e88cfed
BLAKE2b-256 30bf49bb7d759992ed1b6c1315e8856f2818f793e4b64ea8e07d2f9d8c424f71

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for servepass-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbeecc636ebde32a9c7bc8ea91678249873e2bde1b3b3e1d241a52a06b03a761
MD5 313f73f04cd49d9d353c1efb869574a6
BLAKE2b-256 8fd3722aa290a333859147a574fcd23379a6961cf4c66136b5c73e2bd2598399

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