Metadata-Version: 2.1
Name: tarball-httpd
Version: 0.0.2
Summary: Simple http server, streaming directories as tarballs.
Home-page: https://github.com/zrth1k/tarball_httpd
Author: zrthstr
Author-email: zrth1k@gmail.com
License: PSFL
Keywords: web http server tarball archive download filesharing stream
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Python Software Foundation License
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: System :: Archiving
Classifier: Topic :: Utilities
Classifier: Topic :: Communications :: File Sharing
Classifier: Operating System :: OS Independent
Description-Content-Type: text/x-rst

tarball_httpd
==============

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


