From 03e50d09db131565c40abdec8f6c79f94658d2bc Mon Sep 17 00:00:00 2001 From: Pelagic Date: Thu, 11 Apr 2024 18:49:20 +0300 Subject: [PATCH] First commit --- README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..2825729 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# Why use this WebDAV Nginx server? +This server is a single Nginx module attempting to be a fully-fledged WebDAV server in C. It's a fork of existing projects aiming to fix issues they had and merge the codebases. Specifically the goals of this project are: + [x] extremely easy setup configuration + [x] don't ruin the filesystem, the server filesystem looks like just as it does as a WebDAV mount, copy your files in or out and you're good to go + [x] APIs lenient enough to work with all clients in contrast to the native Nginx webdav module + [ ] WebDAV PROPPATCH method + [ ] WebDAV SEARCH method through xapian(?) + [ ] etag checksums for more robust client syncing + [ ] optional thumbnailing though cron jobs + [ ] optional filesystem indexing for WebDAV SEARCH with cron jobs that uses noninvasive and compatible .index files + [ ] optional locking and unlocking in redis + [x] functional testing suite + +# Was this written from zero? +The native nginx dav_module has been integrated with a few changes for client compatibility. This solves some very difficult problems with client compatibility: + - trailing slash issues for DELETE requests uris + - trailing slash issues for MOVE and COPY requests uris and destination headers + - trailing slash issues for MKCOL request uris +The community [nginx_dav_ext_module](https://github.com/MkfsSion/nginx-dav-ext-module) is integrated as well for proper full WebDAV support. + +# Using +There are a few reasonable ways of setting it up. +1. Standalone mode with authentication +TODO webdav apis with an htpasswd file through nginx basic authentication +2. Managed mode with subrequest full cloud functionality +TODO webdav apis with database managed through django + +# Building +TODO + +# Testing +TODO