Skip to main content

Simple Python HTTP File Server

Project description

Joknarf Tools Pypi version example Licence Python versions

pywebfs

Simple Python HTTP(S) File Server

Install

$ pip install pywebfs

Quick start

  • start http server sharing current directory listening on 0.0.0.0 port 8080
$ pywebfs
  • Browse/Download/Search files using browser http://<yourserver>:8080 image

  • search text in files (like grep -ri) image

features

  • Serve static files
  • Download folder as zip file
  • Quick filter files
  • Keyboard navigation using arrows
  • Search files by name recursively with multiple word any order
  • Search text in files recursively (disable feature with --nosearch)
  • Basic Auth support (single user)
  • Safe url token Auth
  • HTTPS support
  • HTTPS self-signed certificate generator
  • Display owner/group/permissions (POSIX) (disable feature with --noperm)
  • Can be started as a daemon (POSIX)

Customize server

$ pywebfs --dir /mydir --title "my fileserver" --listen 0.0.0.0 --port 8080
$ pywebfs -d /mydir -t "my fileserver" -l 0.0.0.0 -p 8080

Basic auth user/password

$ pywebfs --dir /mydir --user myuser [--password mypass]
$ pywebfs -d /mydir -u myuser [-P mypass]

Generated password is given if no --pasword option

Safe url token auth

$ pywebfs --dir /mydir --tokenurl
$ pywebfs --d /mydir --T

A Token is generated, unless PYWEBFS_TOKEN environment variable is set

HTTPS server

  • Generate auto-signed certificate and start https server
$ pywebfs --dir /mydir --gencert
$ pywebfs -d /mydir --g
  • Start https server using existing certificate
$ pywebfs --dir /mydir --cert /pathto/host.cert --key /pathto/host.key
$ pywebfs -d /mydir -c /pathto/host.cert -k /pathto/host.key

Launch server as a daemon (Linux)

$ pywebfs start
$ pywebfs status
$ pywebfs stop
  • log of server are stored in ~/.pywebfs/pwfs_<listen>:<port>.log

Disclaimer

As built on python http.server, read in the python3 documentation:

Warning http.server is not recommended for production. It only implements basic security checks.

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

pywebfs-1.1.24.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

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

pywebfs-1.1.24-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file pywebfs-1.1.24.tar.gz.

File metadata

  • Download URL: pywebfs-1.1.24.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pywebfs-1.1.24.tar.gz
Algorithm Hash digest
SHA256 5b2c484927778f0d6ad54b1d3365f1b1a538e5dbb45f124fb086a9d56688da21
MD5 2d50281142977a3f81b25e14f5128334
BLAKE2b-256 ada9b212f2d94b97e3d806533f09bea7b2d96a79d2e62b425eba9fbb5cb0321e

See more details on using hashes here.

File details

Details for the file pywebfs-1.1.24-py3-none-any.whl.

File metadata

  • Download URL: pywebfs-1.1.24-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pywebfs-1.1.24-py3-none-any.whl
Algorithm Hash digest
SHA256 a4a8baa1620e97892585566bae6eda85e8685664ae9128d39fa624ccc4f80569
MD5 6378438df2e35fffe3f1de01f03272ad
BLAKE2b-256 7b3aff17beae5d8abb5fb2c16ce9ce5c627bd5c16a025f36a08dec60ec5c9e29

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