Skip to main content

Simple http server, streaming directories as tarballs.

Project description

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

Todo

  • doublecheck for XSS, LFI, directory traversal vulnerabilities

  • add more supported archive files: zip, non compressed zip, gz/gz2, ..

  • test on bsd, mac and windows

Install

% pip install tarball_httpd

Usage

% 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]

Usage without installation

% 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/) ...

Testing

% ./tests/test.sh

License

This project is licensed under the PSF License - see the LICENSE file for details

Authors and Acknowledgments

Largs parts of its code are based on or copied from python3/lib/http/server

tarball_httpd was written by zrth1k@gmail.com

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

tarball_httpd-0.0.3.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

tarball_httpd-0.0.3-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file tarball_httpd-0.0.3.tar.gz.

File metadata

  • Download URL: tarball_httpd-0.0.3.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.4

File hashes

Hashes for tarball_httpd-0.0.3.tar.gz
Algorithm Hash digest
SHA256 c547283b3409ab81293d22ccace441b000e9e5d2bb8c214f19277c251f032ce0
MD5 6838f78b80632a0aef28605d3ccd4f2d
BLAKE2b-256 a11007a0b19377c3f38d5d1d0541c7215fa3c79aa98b475f5cf95b31255d2df2

See more details on using hashes here.

File details

Details for the file tarball_httpd-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: tarball_httpd-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.4

File hashes

Hashes for tarball_httpd-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ee605582f579826bba56ff042365b9a76ef9c72b57489e524216e03f33df34e5
MD5 d3fb8d34c7d9472ac79b952a8ad3b814
BLAKE2b-256 cab5cc8a7c4a8583272b03ecfe86155b982ea3227744eba3e632dee5506c0dd0

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