A Python 3.7+ file server with directory listing, range download, and resumable upload.
Project description
web-fss
web-fss is a practical replacement for python -m http.server.
Features
- Directory listing Web UI
- Resume download via HTTP range (
206 Partial Content) - Web upload button with chunked upload
- Same-name conflict check before upload
- Conflict options: overwrite / rename / cancel
- Overwrite or resume upload flow
.uploadmetadata for upload progress- Auto-remove
.uploadafter upload completion - File and folder delete button in UI
- Open mode switch in UI:
Preview(browser MIME rendering) /Download --serve-index-htmlto auto-serveindex.html/index.htmon directory request
Python compatibility: 3.7 to 3.13 (and newer 3.x).
Install
pip install web-fss
For local development:
pip install -e .
Run
Default (current directory, port 8000):
web-fss
or
python -m web_fss
Tip (recommended quick run):
uvx web-fss
Custom port and directory:
web-fss 9000 -d /data/files
Bind local only:
web-fss -b 127.0.0.1
Disable upload:
web-fss --no-upload
Show hidden files (dotfiles):
web-fss --show-hidden
Set upload chunk size (default 4MB):
web-fss --chunk-size 1048576
Auto-serve index.html/index.htm for directory requests:
web-fss --serve-index-html
Resumable Upload
When uploading a.zip, server creates:
a.zip(target file)a.zip.upload(JSON metadata)
Metadata fields:
file_sizeuploaded_ranges([start, end))bytes_receivedcompleted
When uploading same filename again:
- Check existing file and
.upload - Resume if state is valid
- Otherwise overwrite
- Remove
.uploadafter completion
API Endpoints
GET /.api/list?directory=/path/POST /.upload/checkPOST /.upload/initPOST /.upload/chunkPOST /.upload/deleteDELETE /.upload/delete
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 web_fss-0.2.3.tar.gz.
File metadata
- Download URL: web_fss-0.2.3.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd3f56b6743223f025bbd0c021e4bbdabafee1a5f6a6c6406e79db68ffcc482f
|
|
| MD5 |
a6fdc91cc17012e0a0ddb642cac5df7c
|
|
| BLAKE2b-256 |
f450514e094185582af63f83358d74993f95d448a22bf2187ee22e6ea7471112
|
File details
Details for the file web_fss-0.2.3-py3-none-any.whl.
File metadata
- Download URL: web_fss-0.2.3-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
292f6e0ec99a3e3ed01ddbdd37b10c30039146789b2c155def3e19738520e8b3
|
|
| MD5 |
3225b5664ee2974f1f5e3c53cc62e235
|
|
| BLAKE2b-256 |
0cc6855fcabc1373fc25aab921ee461ea4c83b9acb777e1d62512c1180265949
|