Package: tdwnsv3
tdwnsv3Access your files on the web.IndependenciesFlaskcryptographyappdirsFeaturesSimple commandline interfaceWeb interface with multiple themesServe as static files server - index.htmlHighly immune against variety of attacksCompatible with multiple devices and browsersFully customizable web interface - cssUpload and download filesDelete multiple files with a clickInstallationChoose your suit from the following ways:From pip$pipinstalltdwnsv3From source$pipinstallgit+https://github.com/Simatwa/tdwnsv3.gitCloning repo and installgitclonehttps://github.com/Simatwa/tdwnsv3.gitcdtdwnsv3

sudobashinstall.shUsageEither of the following ways will get you ready at the terminal environmentPackage level$ python -m tdwnsv3$ tdwnsv3By default, the server fires up with the following configurations:CommandDefaulthostFalseport8000no-sortFalsetheme3uploadFalseencryptFalsesessionFalseNoteThis is just a shallow display of the default configurations.wsgiSince Flask server runs at development environment, you may need to run the program on a server such asNginxfor efficiency.fromtdwnsv3.tdwnsv3importappif__name__=="__main__":app.run()Thewsgi.pyscript can be interfaced withwsgisuch asuwsgito run behind aserver.For  instance intergrating withuwsgias stated indocs:$ uwsgi --http=0.0.0.0:8080 -w wsgi:appRuntdwnsv3 -hto view more configuration info as shown.usage: tdwnsv3 [-h] [-v] [-d DIR] [-a ALLOW] [-r RESTRICT] [-w WHITELIST]

               [-b BLACKLIST] [-t SPLIT] [-s 1 to 10] [-l 1 to 5] [-o LOG]

               [-ho HOME] [-st STATIC] [-up RECEIVE] [-se SESSION] [-th [1-3]]

               [-cs CSS] [-upp UPLOAD_PATH] [-upe UPLOAD_EXTENSION]

               [-ups UPLOAD_SIZE] [-upl upload_limit] [--upload-multiple]

               [--disable-aggressive] [--display-hidden] [--host] [--no-sort]

               [--view] [--strict] [--preload] [--upload] [--save-css]

               [--no-cache] [--encrypt] [--debug] [--index]

               [port]



Simple local-files server with security on top!



positional arguments:

  port                  Port to be used for hosting files



options:

  -h, --help            show this help message and exit

  -v, --version         show program's version number and exit

  -d DIR, --dir DIR     Directory to be hosted

  -a ALLOW, --allow ALLOW

                        Host only certain entries

  -r RESTRICT, --restrict RESTRICT

                        Hide entries from being viewed

  -w WHITELIST, --whitelist WHITELIST

                        IP(s) to be excluded from restrictions - default :

                        None

  -b BLACKLIST, --brownlist BLACKLIST

                        IP(s) to be imposed the restrictions - default : all

  -t SPLIT, --split SPLIT

                        Separator for the entries allowed/restricted - default

                        [,]

  -s 1 to 10, --secure 1 to 10

                        Level of security on contents

  -l 1 to 5, --level 1 to 5

                        Logging level

  -o LOG, --log LOG     Filepath to log to

  -ho HOME, --home HOME

                        Home host subdomain path

  -st STATIC, --static STATIC

                        Static host subdomain path

  -up RECEIVE, --receive RECEIVE

                        Upload host subdomain path

  -se SESSION, --session SESSION

                        Maximum session time per user - (mins)

  -th [1-3], --theme [1-3]

                        Theme for displaying contents

  -cs CSS, --css CSS    Customize webpage with the CSS in path

  -upp UPLOAD_PATH, --upload-path UPLOAD_PATH

                        Path for saving uploaded files

  -upe UPLOAD_EXTENSION, --upload-extension UPLOAD_EXTENSION

                        Extensions of files to be uploaded

  -ups UPLOAD_SIZE, --upload-size UPLOAD_SIZE

                        Maximum file size to be uploaded - [MB]

  -upl upload_limit, --upload-limit-person upload_limit

                        Maximum files to be uploaded per IP

  --upload-multiple     Allow users to upload more than one file at a time.

  --disable-aggressive  Not to - Filter all entries with the restricted

                        keywords +

  --display-hidden      Show hidden files and directories

  --host                Host the files on the LAN

  --no-sort             Disable prettifying the display of contents

  --view                Files can be seen but can't be downloaded

  --strict              Only allow whitelisted & brownlisted IPs to access

                        server!

  --preload             Load videos before clicked

  --upload              Allow users to upload files

  --save-css            Saves the css data in path for future use

  --no-cache            Use currently passed parameters not previously saved;

                        content-caching disabled

  --encrypt             Encrypt URIs on the webpage

  --debug               Debug the web application in UI mode

  --index               Serve from index.html fileReviewCHANGELOGAcknowledgementsFlaskPython