Skip to main content

Python webserver with https and upload support

Project description

Upload Python Package

DEFWEB

Defweb is an enhancement of the standard http.server of python3. Defweb supports https and file uploads and can function as a SOCKS 4, 5 or HTTP proxy. Defweb can act as an TCP reverse proxy and can perform TLS MITM / TLS Interception.

Installing

Installing the package via pypi:

pip install defweb
Options
usage: defweb [-h] [-b BIND] [-p PORT] [-v] [--log-level LOG_LEVEL] [-d DIR] [-i SERVER NAME] [-s] [-r] [--sign] [--key KEY] [--cert CERT] [--proxy] [--proxy_socks_only] [--proxy_http_only]
              [--rotate_user_agents] [--ip-limit CIDR] [-u USER:PASSWORD] [--rev_proxy] [--rev_proxy_tls] [-ca] [-pi PROXIED_IP] [-pp PROXIED_PORT] [-ptls] [-m MIDDLEWARES]

optional arguments:
  -h, --help            show this help message and exit

General options:
  -b BIND               ip to bind to; defaults to 127.0.0.1
  -p PORT               port to use; defaults to 8000
  -v, --version         show version and then exit
  --log-level LOG_LEVEL
                        DEBUG, INFO (default), WARNING, ERROR, CRITICAL

Webserver options:
  -d DIR                path to use as document root
  -i SERVER NAME        server name to send in headers
  -s, --secure          use https instead of http, if --key and --cert are omitted certificates will be auto generated
  -r, --recreate_cert   re-create the generated ssl certificate
  --sign                when using auto generated certs (-s without --key or --cert), should they be signed or not
  --key KEY             key file to use for webserver
  --cert CERT           certificate file to use for webserver

Proxy options:
  --proxy               start proxy for SOCKS4, SOCKS5 & HTTP(S)
  --proxy_socks_only    start proxy only for SOCKS4, SOCKS5
  --proxy_http_only     start proxy only for HTTP(S)
  --rotate_user_agents  generate random user agent for each HTTP request (only HTTP supported)
  --ip-limit CIDR       limit proxy to only accept connections coming from this CIDR range
  -u USER:PASSWORD      user credentials to use when authenticating to the proxy server

Reverse Proxy options:
  --rev_proxy           start reverse TCP proxy
  --rev_proxy_tls       start reverse TCP proxy with TLS
  -ca                   whether to setup own CA and sign the certificates used by the --rev_proxy_tls option
  -pi PROXIED_IP        provide the ip of the service we are proxying for
  -pp PROXIED_PORT      provide the port of the service we are proxying for
  -ptls                 whether the service we are proxying for uses TLS
  -m MIDDLEWARES        comma seperated middlewares to use
Usage
python3 -m defweb.main
Upload

Defweb facilitates uploading files to the document root via the PUT command.

Example for 'curl' and wget (the -k switch (curl) and
--no-check-certificate (wget) is needed because Defweb uses self signed certificates by default).

curl -X PUT --upload-file file.txt https://localhost:8000 -k
wget -O- --method=PUT --body-file=file.txt https://localhost:8000/somefile.txt --no-check-certificate 

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

defweb-0.2.8.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

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

defweb-0.2.8-py3-none-any.whl (202.4 kB view details)

Uploaded Python 3

File details

Details for the file defweb-0.2.8.tar.gz.

File metadata

  • Download URL: defweb-0.2.8.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for defweb-0.2.8.tar.gz
Algorithm Hash digest
SHA256 8b6eda081f31515b921f55ce09585315a8a987d37ea9bcc523ef005134b3c66d
MD5 84c97166f73e2b3be446a19de04f9b67
BLAKE2b-256 db6d2a8e99d0ebb84446ddb6bba7c1a9ff83ac88da842a505f1b2daa18a10bfe

See more details on using hashes here.

File details

Details for the file defweb-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: defweb-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 202.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for defweb-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 8efa2c2fbefa2b45f61cd338f833bceb0ace838566cd4f4596b9db0229739486
MD5 9a1b84936fdde58e955eee166934782b
BLAKE2b-256 ef52f150cc681dbd95f6763be08945b57547e6b9d4d9a61d9363444bf788d09c

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