dangerously simple webdav server for a local filesystem
Find a file
Vincent Batts da559ee7ca
Initial commit
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2016-09-22 10:19:43 -04:00
LICENSE Initial commit 2016-09-22 10:19:43 -04:00
main.go Initial commit 2016-09-22 10:19:43 -04:00
README.md Initial commit 2016-09-22 10:19:43 -04:00

srvdav

dangerously simple webdav server for a local filesystem

Building

go get github.com/vbatts/srvdav

Basic use

This daemon can serve up WebDAV for a local directory without any auth, nor encryption. DO NOT DO THIS

More proper use

Produce an x.509 certificate and accompanying key. For development use case use can use the generator in golang's stdlib.

> go run $(go env GOROOT)/src/crypto/tls/generate_cert.go -h
> go run $(go env GOROOT)/src/crypto/tls/generate_cert.go -host="localhost,example.com"
2016/09/22 09:46:19 written cert.pem
2016/09/22 09:46:19 written key.pem

Produce a password list for users. The htpasswd(1) utility creates the password file nicely.

> htpasswd -bc srvdav.passwd vbatts topsecretpassword

Then launch srvdav with these credentials.

> mkdir -p ./test/
> srvdav -htpasswd ./srvdav.passwd -cert ./cert.pem -key ./key.pem
Serving HTTPS:// :9999
[...]

Accompanying Clients

There are a number of webdav clients. For my specific use case, I am working with ChromeOS and there is a WebDAV Storage Provider.

For Linux hosts, there is a package commonly davfs2, that provides a mount.davfs command. See mount.davfs(8) man page for more information.