Skip to main content

An asynchronous WebDAV server implementation, support multi-provider.

Project description

ASGI WebDAV Server

GitHub PyPI 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: FileSystemProvider, 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

Python Version

v3.10+

Quickstart

中文手册

docker pull ray1ex/asgi-webdav
docker run -dit --restart unless-stopped \
  -p 8000:8000 \
  -e UID=1000 -e GID=1000 \
  -v /your/data:/data \
  --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
  • 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
  • generate template URL for share(read only)

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.3.0.tar.gz (49.7 kB view details)

Uploaded Source

Built Distribution

ASGIWebDAV-1.3.0-py2.py3-none-any.whl (57.7 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for ASGIWebDAV-1.3.0.tar.gz
Algorithm Hash digest
SHA256 ae5605867bc4662a471a5ec4b4e1191e84eb75a21aef6596074f1db96b91cb06
MD5 0f1c86aeacf9fbdffa781c81f9d2dff3
BLAKE2b-256 32079b435313d00a25ef5cdc9eb19482d64587c830f2489cfeb890187c2d68c1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ASGIWebDAV-1.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2849c6c99890a4dd325e6d54d7b217280f249c9522cd84d7d9d4cf5a9889fc49
MD5 6a20ea90dcb0cbfa6d562ada19b9859b
BLAKE2b-256 a0fa48d0e2d18ffa1b3ac2af84d8724a3cc7155c011578bc0881a2bbf9f0d74a

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