Awesome
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
/_/admin
or/_/
- 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)