Skip to main content

An asynchronous WebDAV server implementation, support multi-provider.

Project description

ASGI WebDAV Server

GitHub Docker Image Version (tag latest semver) Pytest Workflow Status codecov Code style: black LGTM Grade Docker Pulls downloads

An asynchronous WebDAV server implementation, Support multi-provider, multi-account and permission control.

Features

  • ASGI standard
  • WebDAV standard: RFC4918
  • Support multi-provider: FileProvider, MemoryProvider
  • Support multi-account and permission control
  • Support optional home directory
  • Support store password in raw/hashlib/LDAP(experimental) mode
  • Full asyncio file IO
  • Passed all litmus(0.13) test, except 2 warning
  • Browse the file directory in the browser
  • Support HTTP Basic/Digest authentication
  • Support response in Gzip/Brotli
  • Compatible with macOS finder and Window10 Explorer

Quickstart

中文手册

docker pull ray1ex/asgi-webdav
docker run --restart always -p 0.0.0.0:8000:8000 \
  -v /your/data:/data \
  -e UID=1000 -e GID=1000 \
  --name asgi-webdav ray1ex/asgi-webdav

Default Account

value description
username username -
password password -
permission ["+"] Allow access to all directories

View in Browser

Documentation

Github Page

TODO

  • Digest auth support
  • SQL database provider
  • PROPFIND support DAVDepth.infinity
  • Test big(1GB+) file in MemoryProvider
  • display server info in page /_/admin or /_/
  • OpenLDAP
  • Fail2ban(docker)
  • NFSProvider
  • logout at the web page
  • Fix MemoryProvider with macOS finder(create new file)
  • rewrite MemoryProvider with mmap

Related Projects

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

ASGIWebDAV-1.2.0.tar.gz (50.5 kB view details)

Uploaded Source

Built Distribution

ASGIWebDAV-1.2.0-py2.py3-none-any.whl (56.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ASGIWebDAV-1.2.0.tar.gz.

File metadata

  • Download URL: ASGIWebDAV-1.2.0.tar.gz
  • Upload date:
  • Size: 50.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for ASGIWebDAV-1.2.0.tar.gz
Algorithm Hash digest
SHA256 ad4e00d06fce0941de1ef84db0092d890f5df2d48b4dc7ed8a54db02c35338fc
MD5 c7351a48115449133f380b54084f116e
BLAKE2b-256 1c3ccb6f7d82961871d4daf5a8bbad44f0984b46063b2c9993bbde1f1c436e48

See more details on using hashes here.

File details

Details for the file ASGIWebDAV-1.2.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ASGIWebDAV-1.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for ASGIWebDAV-1.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8c7af091064e3151b201cd5745cbd1db2d7231b81165af5fd2b30cd432534391
MD5 8790bb1aca6121f9d7486bfa131cbd14
BLAKE2b-256 7672de2c4ac2e16c882a8935c597782332aa3daa0154afeb0a0b14a629e96cf9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page