asgi-webdav
asgi-webdav copied to clipboard
An asynchronous WebDAV server implementation, Support multi-provider, multi-account and permission control.
ASGI WebDAV Server
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 3 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
TODO
- Digest auth support neon
- SQL database provider
- Test big(1GB+) file in MemoryProvider
- display server info in page
/_/adminor/_/ - 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)