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
- search text in files (like grep -ri)
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.