Name | ASGIWebDAV JSON |
Version |
1.4.0
JSON |
| download |
home_page | None |
Summary | An asynchronous WebDAV server implementation, support multi-provider. |
upload_time | 2024-03-20 05:22:04 |
maintainer | None |
docs_url | None |
author | Rex Zhang |
requires_python | >=3.10 |
license | MIT |
keywords |
webdav
asgi
asyncio
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
# ASGI WebDAV Server
![GitHub](https://img.shields.io/github/license/rexzhang/asgi-webdav)
[![PyPI](https://img.shields.io/pypi/v/ASGIWebDAV)](https://pypi.org/project/ASGIWebDAV)
![Pytest Workflow Status](https://github.com/rexzhang/asgi-webdav/actions/workflows/check-pytest.yml/badge.svg)
[![codecov](https://codecov.io/gh/rexzhang/asgi-webdav/branch/main/graph/badge.svg?token=6D961MCCWN)](https://codecov.io/gh/rexzhang/asgi-webdav)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Docker Pulls](https://img.shields.io/docker/pulls/ray1ex/asgi-webdav)](https://hub.docker.com/r/ray1ex/asgi-webdav)
![[PyPI - Downloads](https://pypi.org/project/ASGIWebDAV/)](https://img.shields.io/pypi/dm/ASGIWebDAV)
[![GitHub Downloads](https://img.shields.io/github/downloads/rexzhang/asgi-webdav/total)](https://github.com/rexzhang/asgi-webdav/releases)
An asynchronous WebDAV server implementation, Support multi-provider, multi-account and permission control.
## Features
- [ASGI](https://asgi.readthedocs.io) standard
- WebDAV standard: [RFC4918](https://www.ietf.org/rfc/rfc4918.txt)
- 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)](http://www.webdav.org/neon/litmus) 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
[δΈζζε](https://rexzhang.github.io/asgi-webdav/zh/)
```shell
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
![View in Browser](docs/web-dir-browser-screenshot.png)
## Documentation
[Documentation at GitHub Page](https://rexzhang.github.io/asgi-webdav/)
## 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)
## Related Projects
- <https://github.com/bootrino/reactoxide>
Raw data
{
"_id": null,
"home_page": null,
"name": "ASGIWebDAV",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "webdav, asgi, asyncio",
"author": "Rex Zhang",
"author_email": "rex.zhang@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/dd/fb/bd8ddceee111f97605bbf60f9d3fa286640173b06772298fc57f12c4820c/ASGIWebDAV-1.4.0.tar.gz",
"platform": null,
"description": "# ASGI WebDAV Server\n\n![GitHub](https://img.shields.io/github/license/rexzhang/asgi-webdav)\n[![PyPI](https://img.shields.io/pypi/v/ASGIWebDAV)](https://pypi.org/project/ASGIWebDAV)\n![Pytest Workflow Status](https://github.com/rexzhang/asgi-webdav/actions/workflows/check-pytest.yml/badge.svg)\n[![codecov](https://codecov.io/gh/rexzhang/asgi-webdav/branch/main/graph/badge.svg?token=6D961MCCWN)](https://codecov.io/gh/rexzhang/asgi-webdav)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Docker Pulls](https://img.shields.io/docker/pulls/ray1ex/asgi-webdav)](https://hub.docker.com/r/ray1ex/asgi-webdav)\n![[PyPI - Downloads](https://pypi.org/project/ASGIWebDAV/)](https://img.shields.io/pypi/dm/ASGIWebDAV)\n[![GitHub Downloads](https://img.shields.io/github/downloads/rexzhang/asgi-webdav/total)](https://github.com/rexzhang/asgi-webdav/releases)\n\nAn asynchronous WebDAV server implementation, Support multi-provider, multi-account and permission control.\n\n## Features\n\n- [ASGI](https://asgi.readthedocs.io) standard\n- WebDAV standard: [RFC4918](https://www.ietf.org/rfc/rfc4918.txt)\n- Support multi-provider: FileSystemProvider, MemoryProvider\n- Support multi-account and permission control\n- Support optional home directory\n- Support store password in raw/hashlib/LDAP(experimental) mode\n- Full asyncio file IO\n- Passed all [litmus(0.13)](http://www.webdav.org/neon/litmus) test, except 3 warning\n- Browse the file directory in the browser\n- Support HTTP Basic/Digest authentication\n- Support response in Gzip/Brotli\n- Compatible with macOS finder and Window10 Explorer\n\n## Python Version\n\nv3.10+\n\n## Quickstart\n\n[\u4e2d\u6587\u624b\u518c](https://rexzhang.github.io/asgi-webdav/zh/)\n\n```shell\ndocker pull ray1ex/asgi-webdav\ndocker run -dit --restart unless-stopped \\\n -p 8000:8000 \\\n -e UID=1000 -e GID=1000 \\\n -v /your/data:/data \\\n --name asgi-webdav ray1ex/asgi-webdav\n```\n\n## Default Account\n\n| | value | description |\n| ---------- | ---------- | ------------------------------- |\n| username | `username` | - |\n| password | `password` | - |\n| permission | `[\"+\"]` | Allow access to all directories |\n\n## View in Browser\n\n![View in Browser](docs/web-dir-browser-screenshot.png)\n\n## Documentation\n\n[Documentation at GitHub Page](https://rexzhang.github.io/asgi-webdav/)\n\n## TODO\n\n- Digest auth support neon\n- SQL database provider\n- Test big(1GB+) file in MemoryProvider\n- display server info in page `/_/admin` or `/_/`\n- Fail2ban(docker)\n- NFSProvider\n- logout at the web page\n- Fix MemoryProvider with macOS finder(create new file)\n- rewrite MemoryProvider with mmap\n- generate template URL for share(read only)\n\n## Related Projects\n\n- <https://github.com/bootrino/reactoxide>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An asynchronous WebDAV server implementation, support multi-provider.",
"version": "1.4.0",
"project_urls": {
"changelog": "https://github.com/rexzhang/asgi-webdav/blob/main/docs/changelog.en.md",
"documentation": "https://rexzhang.github.io/asgi-webdav/",
"homepage": "https://github.com/rexzhang/asgi-webdav",
"repository": "https://github.com/rexzhang/asgi-webdav"
},
"split_keywords": [
"webdav",
" asgi",
" asyncio"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d105c485ca71b061f4952941e2311cfe7f738658efed3f5d0df14cab598440b5",
"md5": "a66a2991d107341824e83f7c253453b4",
"sha256": "b8549762ec9f61888c1ef313f9cda40df4759a8f0a1cbcbf7c00d5c42817d911"
},
"downloads": -1,
"filename": "ASGIWebDAV-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a66a2991d107341824e83f7c253453b4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 58576,
"upload_time": "2024-03-20T05:22:02",
"upload_time_iso_8601": "2024-03-20T05:22:02.350826Z",
"url": "https://files.pythonhosted.org/packages/d1/05/c485ca71b061f4952941e2311cfe7f738658efed3f5d0df14cab598440b5/ASGIWebDAV-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ddfbbd8ddceee111f97605bbf60f9d3fa286640173b06772298fc57f12c4820c",
"md5": "af30f264ed79b81fbf8611e1fae2e07a",
"sha256": "7b1baeddd63440772f6ad3bd62f9f2545286d4d5a0b4e3c548a805ecdefe4206"
},
"downloads": -1,
"filename": "ASGIWebDAV-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "af30f264ed79b81fbf8611e1fae2e07a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 59626,
"upload_time": "2024-03-20T05:22:04",
"upload_time_iso_8601": "2024-03-20T05:22:04.135603Z",
"url": "https://files.pythonhosted.org/packages/dd/fb/bd8ddceee111f97605bbf60f9d3fa286640173b06772298fc57f12c4820c/ASGIWebDAV-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-20 05:22:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rexzhang",
"github_project": "asgi-webdav",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [],
"lcname": "asgiwebdav"
}