Go to file
Conrad Hoffmann 0719d5c32f Use latest go-webdav from dev fork
PRs for all change sets are open on upstream go-webdav.
2022-10-31 12:23:54 +01:00
auth auth: add PAM support 2022-09-13 10:04:45 +02:00
cmd/tokidoki Allow PROPPATCH method 2022-05-18 10:21:31 +02:00
debug Add CalDAV support, refactor 2022-05-03 16:06:47 +02:00
storage Fix errors introduced in previous commit :/ 2022-10-28 19:41:44 +02:00
.build.yml Add build manifest with build and lint steps 2022-05-20 09:55:51 +02:00
go.mod Use latest go-webdav from dev fork 2022-10-31 12:23:54 +01:00
go.sum Use latest go-webdav from dev fork 2022-10-31 12:23:54 +01:00
LICENSE Initial commit 2022-02-21 09:52:55 +01:00
README.md auth: add PAM support 2022-09-13 10:04:45 +02:00

tokidoki

Tokidoki is a (WIP) carddav and caldav server.

Architecture

Tokidoki relies on go-webdav for the protocol implementation. It provides the storage backend and authentication, both of which are easily pluggable.

It currently provides:

Authentication:

  • IMAP (working)
  • PAM (working, enabled via the pam build tag)

Storage:

  • Filesystem (working)
  • PostgreSQL (planned)

Building

  • cd cmd/tokidoki && go build

Running

Using the IMAP authentication backend and the filesystem storage backend (directory must exist), listening on port 8080 on all interfaces:

  • ./tokidoki -addr ":8080" -auth.url imaps://imap.example.com:993 -storage.url file:///path/to/storage -debug

Tokidoki does not support HTTPS at this time, use a reverse TLS proxy if needed.

Usage

Only a single address book and calendar per user are supported at the moment, this is currently a limitation in go-webdav.

Tokidoki supports calendar and address book auto-discovery via /.well-known/caldav and /.well-known/carddav respectively, as defined in RFC 6764, section 6. Hence, most clients should be able to discover resources by just pointing them at the server root.