SkillAgentSearch skills...

Calypso

Calypso CalDAV and CardDAV server

Install / Use

/learn @calypso-server/Calypso
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

========================== Calypso - CalDAV Server

The Calypso Project is a free and open-source CalDAV calendar server.

Initial setup

Calypso runs as a regular user, all data are stored in ~/.config/calypso. Either generate SSL keys, or use the default self-signed keys, then:

$ mkdir -p ~/.config/calypso/calendars $ chmod og-rwx ~/.config/calypso $ touch ~/.config/calypso/htpasswd $ cat > ~/.config/calypso/config << EOF [server] certificate=/etc/ssl/certs/ssl-cert-snakeoil.pem key=/etc/ssl/private/ssl-cert-snakeoil.pem

[acl] type=htpasswd encryption=bcrypt filename=$HOME/.config/calypso/htpasswd EOF

Running calypso

Then run calypso:

$ python ./calypso.py

To capture logs, you can run in the foreground with debugging:

$ python ./calypso.py -fg >calypso.log 2>&1

Creating users and calendars

To add a new user:

$ htpasswd -B $HOME/.config/calypso/htpasswd USER

To add a new database:

$ mkdir -p ~/.config/calypso/calendars/private/test $ cd ~/.config/calypso/calendars/private/test $ git init $ cat > .calypso-collection << EOF [collection] is-calendar = 1 EOF $ git add .calypso-collection $ git commit -m'initialize new calendar'

The new calendar should now be visible as https://USER:PASSWORD@localhost:5233/private/test.

You can add files to the directory at any time; calypso will check the directory mtime at each operation and update its internal state from that on disk automatically when the directory changes.

Importing files

Given a set of files with VCALENDAR or VCARD entries, you can import them with:

$ calypso --import private/test <filenames...>

This will update any changed entries and add any new ones.

Kerberos via GSSAPI support

For Kerberos authentication generate a keytab on your KDC and put the exported keytab on your calypso server into /etc/krb.keytab so it looks like:

ktutil -k /etc/krb5.keytab list

/etc/krb5.keytab:

Vno Type Principal Aliases 1 aes256-cts-hmac-sha1-96 HTTP/foo.example.com@EXAMPLE.COM 1 des3-cbc-sha1 HTTP/foo.example.com@EXAMPLE.COM 1 arcfour-hmac-md5 HTTP/foo.example.com@EXAMPLE.COM

the put the service name to use into ~/.config/calypso/config:

[server] servicename=HTTP@foo.example.com

and install the pykerberos module. You should then be able to authenticate via Kerberos using GSSAPI.

Related Skills

View on GitHub
GitHub Stars17
CategoryDevelopment
Updated1y ago
Forks3

Languages

Python

Security Score

80/100

Audited on Dec 22, 2024

No findings