Desgooglearse (V). Contactos


Entradas anteriores

Contactos

La lista de contactos, libreta de direcciones, listín de teléfonos, addressbook o como queramos llamarlo es un elemento asociado principalmente a dos aplicaciones: el correo electrónico y el teléfono. Hay quien simplemente tiene unas decenas de teléfonos o correos electrónicos en ella y hay quien lo utiliza de forma intensa e incluye otra mucha más información de muchos contactos. A nadie se le hubiese ocurrido ceder la custodia de su libreta de contactos cuando estas eran de papel y sin embargo hoy en día la mayoría de la gente la tiene en un servidor de una empresa privada simplemente porque es fácil y pueden ponerla allí de forma gratuita.

Se da la circunstancia de que al cambiar de móvil tenemos que añadir corriendo nuestra cuenta de Google o no somos capaces de llamar por teléfono a un familiar cercano. Cuando te paras a pensarlo parece un disparate, ¿no? Parece razonable recuperar el control de nuestros contactos y gestionar directamente el sitio donde se ubicarán y que nadie más aparte de nosotros acceda a esa información. En esta entrada vamos a explicar la forma de gestionar los contactos en Nextcloud y su sincronización con un teléfono Android y un equipo de escritorio con linux.

Contactos en Nextcloud

Podemos ir al menú de aplicaciones de Nextcloud e instalar la «app» Contacts que se incluye dentro del pack «groupware». Este pack también incluye las aplicaciones Calendar (agenda), Mail (webmail) y Deck (organizador de tareas tipo kanban), que de momento no instalaremos.

Una vez instalada y configurada la aplicación, es fácil ir agregando entradas y rellenando los campos que se consideren oportunos en cada caso. Para que estos contactos estén disponibles para tus equipos, Nextcloud Contacts implementa el procolo CardDAV, que permite intercambiar información en formato vCard a través de WebDAV y que es usado por numerosos clientes. Nextcloud Contacts también permite importar y exportar contactos en formato vCard.

Para que algunos clientes de CardDAV funcionen adecuadamente con Nextcloud, es necesario definir de manera apropiada algunas URLs como se detalla en Service discovery, lo que implica realizar algunos cambios en el fichero .htaccess en el caso de utilizar nextcloud instalado en un directorio en lugar de un sitio web propio.

Importar contactos

Allí donde tengamos contactos que queramos ubicar en Nextcloud, tendremos que buscar la forma de hacerlo en formato vCard, lo que nos proporcionará un fichero de texto plano con toda la información de nuestros contactos, que podemos usar para hacer cambios masivos fácilmente. Este fichero podemos importamos a Nextcloud Contacts fácilmente en «Settings/Importar contactos».

Una vez tengamos todos los contactos en Nextcloud, podemos prescindir del resto de ubicaciones para los mismos.

Clientes CardDAV

En el caso de Android, se puede utilizar la aplicación DAVx⁵, antes conocida como DAVdroid. DAVx⁵ es un cliente de CardDAV y CalDAV de software libre bastante fácil de utilizar y que permite tener sincronizados contactos y calendario con servidores que utilicen estos dos estándares, como es el caso de Nextcloud.

Abrimos la aplicación y agregamos la cuenta, para lo que usamos la URL https://DOMINIO/remote.php/dav/:

Desde este momento no necesitamos utilizar la cuenta de Google para nuestros contactos por lo que podemos entrar con toda tranquilidad en https://contacts.google.com, seleccionar todos los contactos y eliminarlos de forma definitiva. Desde nuestro teléfono utilizaremos los contactos de nextcloud, sincronizados a través de DAVx⁵. Ya hemos dado nuestro primer paso importante en el proceso de desvinculación generalizada de los servicios de Google.

De momento seguimos utilizando en nuestro móvil la aplicación de Contactos de Google, pero aparece la cuenta Google con 0 contactos y la cuenta DAVx⁵ con todos los contactos:

Para el equipo de escritorio tenemos muchas opciones de clientes CardDAV, aquí que cada quien elija la que prefiera. En mi caso, como suelo preferir aplicaciones de línea de comandos, me voy a inclinar de momento por la combinación vdirsyncer+khard, el primero se encarga de la sincronización con el servidor CardDAV, ubicando en el directorio que se especifique los contactos en formato vCard y el segundo es una aplicación para gestionar los contactos de forma rápida.

Para la configuración de vdirsyncer creamos el fichero ~/.vdirsyncer/config con el siguiente contenido:

[general]
status_path = "~/.vdirsyncer/status/"

[pair my_contacts]
a = "my_contacts_local"
b = "card"
collections = ["from a", "from b"]

[storage my_contacts_local]
type = "filesystem"
path = "~/.local/share/vdirsyncer/carddav/contacts/"
fileext = ".vcf"

[storage card]
type = "carddav"
url = "https://.../nextcloud/remote.php/dav/"
username = "alberto"
password = "..."

A continuación hacemos la sincronización, que se traerá los contactos de nextcloud al directorio ~/.local/share/vdirsyncer/carddav/contacts/:

vdirsyncer discover
vdirsyncer sync

Si accedemos al directorio ~/.local/share/vdirsyncer/carddav/contacts/ podremos ver los ficheros en formato vCard:

alberto@mut:~/.local/share/vdirsyncer/carddav/contacts/contactos $ ls -l
total 1728
-rw------- 1 alberto alberto 265 ene  4 20:28 08dd4be3-7362-4d92-99dc-be0e058a8253.vcf
-rw------- 1 alberto alberto 241 ene  4 20:28 09434f0f-619c-4ac5-825b-a1037546fb90.vcf
-rw------- 1 alberto alberto 224 ene  4 20:28 096fa6ff-8f6e-4749-9b67-f30318032480.vcf
-rw------- 1 alberto alberto 229 ene  4 20:28 09e34aca-8b10-4b0a-89ca-6cbc3ebc464a.vcf
-rw------- 1 alberto alberto 230 ene  4 20:28 0a621e02-8254-41b7-bc8f-f6f3bb65e7ac.vcf
-rw------- 1 alberto alberto 218 ene  4 20:28 0aab84d5-4b83-4d47-bd4a-4f0c79916985.vcf
-rw------- 1 alberto alberto 210 ene  4 20:28 0b4f211c-0589-472b-93c3-8237d578343a.vcf
...

Cada vez que modifiquemos contactos podemos actualizar los contactos locales mediante «vdirsync sync» o también crear una tarea que lo haga de forma automática al iniciar el ordenador o cuando estimemos oportuno.

En la configuración de khard tendremos que especificar la ruta al directorio con los contactos y poco más en el fichero ~/.config/khard/khard.conf:

[addressbooks]
[[contacts]]
path = ~/.local/share/vdirsyncer/carddav/contacts/contactos/

[general]
debug = no
default_action = list
# These are either strings or comma seperated lists
#editor = nvim, -i, NONE
editor = emacs
merge_editor = vimdiff

[contact table]
display = first_name
group_by_addressbook = no
reverse = no
show_nicknames = no
show_uids = yes
sort = last_name
localize_dates = yes
preferred_phone_number_type = pref, cell, home
preferred_email_address_type = pref, work, home

[vcard]
private_objects = Twitter, Mastodon
preferred_version = 3.0
search_in_source_files = no
skip_unparsable = no

khard es tremendamente espartano, ¡me encanta! :). Permite gestionar los contactos con filtros y modificarlos de forma trivial (para mí es odiosa la interfaz web de contactos por lo lento que resulta hacer grupos y demás).

alberto@mut:~ $ khard list Pepe
Address book: contacts
Index    Name                   Phone                     E-Mail             UID   
1        Ten Pepe ...           CELL: +34 637 ...                            3e7   
2        Pepe ...               CELL: 620 ...             ...@gmail.com      953   
3        Pepe ... (Vecino)      CELL: 634 ...                                fe6

La situación que tenemos ahora la podemos ver esquemáticamente:

Desgooglearse (V). Contactos

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s