NOT FOR PRODUCTION USE!
I wanted to host my own calendars and contacts but not using a third-party service. So instead of using Google, iCloud, etc, I could use a self-hosted solution like ownCloud or Nextcloud.
Since they are written in PHP and I am a PHP developer, I would also benefit from understanding how to extend these tools. In order to do that, I would need to understand how WebDAV works by implementing my own server based on Symfony Flex.
Other than gain better understanding, the documentation currently out there for WebDAV is crap - just a plain text RFC, outdated or incomplete articles, and a lack of examples. So by working on this project, I'd have a lot of content and tutorials I can create.
- Implement the RFC for WebDAV as fully as possible.
- Test with clients other than Apple Finder.
- Check known vulnerabilities in WebDAV.
- Full auditing of request/response cycles.
- Use PSR-7 and PSR-15.
- Extend react/http.
- Allow it to be used standalone, and with Slim, Laravel, Expressive, etc.
- Implement CalDAV and CardDAV.
- Create a client in PHP.
- Create a Gaufrette Adaptor for WebDAV.
- Create a Flysystem Adaptor for WebDAV.
- Possibly flesh out this project as a full web application like ownCloud ???
Some have been saved in this project within the var/http
directory.
Any requests and responses will be saved here, done by the HttpListener
class.
All files inside var/files
will be exposed to WebDAV clients.
Although you can use:
$ bin/console server:run
And connect to http://127.0.0.1:8080 in the client, and it may somewhat work, bare in mind that WebDAV is designed to work on top of HTTP 1.1, but the PHP Built-in Web Server sends HTTP 1.0 responses.
-
Any errors Finder encounters will be logged in the console