Radicale: configura tu servidor CalDAV libre

Ya hemos hablado en otras ocasiones de lo importante que es escapar de la vigilancia masiva y de cómo liberar nuestro androide del espionaje de la Gran G. Hoy vamos a completar esto último liberando también nuestros calendarios y contactos de miradas ajenas gracias a Radicale, un servidor CalDAV libre. Entre sus virtudes, su extremada ligereza y fácil configuración. Aquí, algunas de sus principales características (extraídas de su web):

  • Permite compartir calendarios y contactos a través de CalDAV, WebDAV y http.
  • Soporta eventos, ToDo’s, entradas de diario y tarjetas de visita (Business Cards).
  • Permite limitar el acceso mediante autenticación cifrada.
  • Permite utilizar conexiones seguras.
  • Funciona con varios clientes libres: DAVx⁵ (Android), Gnome Calendar (GNU/Linux) o ThuderBird (multiplataforma), entre otros.
  • Está licenciado GPLv3 y escrito en Python, lo cual, junto a su simplicidad, hace que sea fácilmente hackeable.

Además, dado su bajo consumo de recursos, es un compañero ideal para nuestras Raspberry Pi. Veamos como instalarlo:

Opcion 1. Utilizando pip

python3 -m pip install --upgrade radicale

Opción 2. Desde repositorios Debian

aptitude install radicale python3-radicale

Para ejecutarlo, basta con teclear:

python3 -m radicale --storage-filesystem-folder=~/.var/lib/radicale/collections

Donde --storage-filesystem-folder indica la ruta donde vamos a almacenar nuestras «colecciones» (calendarios). Por defecto, radicale sirve en localhost a través del puerto 5232 y funciona sin usuario ni contraseña. Para configurarlo podemos crear un archivo de configuración o pasar directamente todos los parámetros en el momento de la ejecución (que se puede automatizar fácilmente mediante un servicio systemd). Podemos indicar la ruta a nuestro archivo de configuración mediante el parámetro --config ruta_a_config o crear un archivo config en /etc/radicale o ~/.config/radicale. En mi caso, utilizo el servidor de forma local, sincronizo mis cacharros antes de salir de casa y los vuelvo a sincronizar cuando vuelvo, pero lógicamente podéis servir vuestros calendarios on-line, simplemente tenéis que indicar la IP de vuestro server en la configuración. Este es mi archivo de configuración, como veis muy sencillo:

[server]
# Bind all servers
hosts = 192.168.0.156:5232
max_connections = 5
timeout = 10
# Max size of content to be server/uploaded (0.5Mb)
max_content_length = 5000000

[auth]
type = htpasswd
htpasswd_filename = /home/user/radicale/users/passwords
htpasswd_encryption = bcrypt
# delay after failed login attempts (in seconds)
delay = 2

[storage]
filesystem_folder = /home/user/radicale/collections 

[web]
# Serve a web interface to log into radicale
type = internal

Veamos lo que hace cada bloque:

[server] Aquí configuramos la IP del servidor (hosts), el número máximo de conexiones que queremos permitir (max_connections), el periodo de inactividad antes de terminar la conexión (timeout) y el tamaño máximo que podemos subir (max_content_length). Pensad bien en los valores de estos parámetros, para un calendario/agenda de contactos no deberíamos necesitar demasiada memoria, pero si los contactos tienen fotografías asociadas quizá el límite que yo he puesto de 0.5Mb no sea suficiente. Por temas de seguridad conviene no aumentarlo demasiado.

[auth] Aquí definimos el tipo de autenticación (type) y indicamos el tipo de cifrado (htpasswd_encryption) y localización del directorio donde guardamos nuestros usuarios y contraseñas. Es muy recomendable utilizar htpasswd, especialmente si pensamos servir los calendarios online.

[storage] Aquí indicamos la ruta donde vamos a almacenar nuestros calendarios. Si tenemos más de un usuario, habrá una subcarpeta por usuario dentro del directorio «collections».

[web] Aquí indicamos el backend para radicale, podemos elegir entre none, que mostrará el mensaje «Radicale works!» cuando nos conectemos a la IP donde estamos sirviendo o internal, que sirve una interfaz web desde donde editar nuestros calendarios y contactos.

Y eso es todo lo que necesitáis para independizar vuestros calendarios y contactos de la gran G. Por supuesto, radicale es muchísimo más configurable, podéis encontrar todos los detalles en la documentación oficial.

Happy hacking!!

Sentimos molestarte con lo de las Cookies, pero es por imperativo legal. Puedes ver aquí la Política de Cookies, si continúas navegando te informo que la estás aceptando ;)    Ver
Privacidad