Serves directories as .TARs (tarball archives) over http - to be downloaded by a web browser
- tarball_httpd extends pythons http.server/SimpleHTTPServer to serve directories as tarballs
- the goal is to do this without creating the tarball in memory at one time
- as much code as possible has been borrowed from python3's http.server
- doublecheck for XSS, LFI, directory traversal vulnerabilities
- add more supported archive files: zip, non compressed zip, gz/gz2, ..
- test on bsd, mac and windows
% pip install tarball_httpd
% python -m tarball_httpd Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ... % python -m tarball_httpd 12345 --bind 127.0.0.1 --directory /tmp Serving HTTP on 127.0.0.1 port 12345 (http://127.0.0.1:12345/) .. % python -m tarball_httpd -h usage: tarball_httpd.py [-h] [--bind ADDRESS] [--directory DIRECTORY] [port] positional arguments: port Specify alternate port [default: 8000] optional arguments: -h, --help show this help message and exit --bind ADDRESS, -b ADDRESS Specify alternate bind address [default: all interfaces] --directory DIRECTORY, -d DIRECTORY Specify alternative directory [default:current directory]
% git clone git@github.com:zrthstr/tarball_httpd.git % cd tarball_httpd % ./tarball_httpd.py Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
% ./tests/test.sh
This project is licensed under the PSF License - see the LICENSE file for details
Largs parts of its code are based on or copied from python3/lib/http/server
tarball_httpd was written by zrth1k@gmail.com