Aplicaciones para escapar al yugo de la gran G

No suelo empezar así, y menos después de tanto tiempo sin dar señales de vida pero, si aún no has leído el libro [El pequeño libro rojo del activista en la red de Marta Peirano](http://www.eldiario.es/redaccion/Marta-Peirano-presenta-Barcelona-activista_6_355624455.html, El pequeño libro rojo del activista en la red de Marta Peirano), ya estás tardando. Además de didáctico e instructivo (y detallado y acertado y paranoico y muchas cosas más), nos recuerda que el anonimato es una ilusión y que, básicamente, somos productos que pueblan internet. Algo así como los habitantes de aquellos capullos rosaceos de las granjas de electricidad de Matrix, no nos damos cuenta que somos quienen alimentan a la bestia (o bestias) y, además, estamos encantandos con nuestras vidas en esa ilusión de colores en que nos mantienen.

Analogías aparte, leer el libro de Marta Peirano en los últimos días me ha reforzado una idea que tenía dando vueltas por la cabeza y que ya había empezado a aplicar: desvincularme de google. Llevo algunos años sustituyendo servicios de la gran G por otros basados en software libre y mantenidos en servidores propios desde un año antes de que cerrasen reader (si, en 2016 y todavía con esto…), con un resultado esperanzador. Si, hacen muy bien las aplicaciones para que tú no tengas complicaciones e integran perfectamente con el teléfono pero, en mi opinión, el peaje es demasiado grande. Personalmente estoy cansado de meterme en las configuración de google de mi teléfono para decirle, entre otras, que no recuerde por donde me muevo, que no me de información que no le he pedido, que no lea mi agenda y que desactive la señal GPS. Por eso cada dos o tres meses me paso, a ver qué han vuelto a activar.

Como siempre que me complico la vida con estos proyectos, parto de un escenario y unas condiciones. En esta ocasión el escenario es múltiple y las condiciones leoninas:

  1. Escenario
    • linux: instalar, configurar y mantener el programa en linux, GNU/Debian preferentemente.
    • linux: utilizar el programa en linux, sobre diferentes escritorios (MATE, gnome, xfce) y programas (thunderbird, evolution).
    • android: utilizar el programa en el móvil de manera fluida.
    • LAMP: fácil de mantener y gestionar.
  2. Condiciones
    • software libre: What else?
    • múltiples plataformas: poder utilizarlo desde un navegador y/o un programa cliente.
    • gestión completa de los datos: ya está bien de enviar mi información fuera.
    • versatilidad y facilidad de uso: no voy a sustituir servicios que funcionan muy bien por otros a medio hacer.

La lista de servicios a sustituir ha ido aumentando con el tiempo y, de comenzar buscando un buen sustituto a reader he terminado buscando sustituto a casi cualquier aplicación que venga instalada por defecto en el móvil. Lo sorprendente es que las hay y muy buenas.

Y, los nominados son…

google reader (lector de feeds)

Fue el primer servicio que sustituí, en parte porque me di cuenta que las alternativas a reader no me terminaban de convencer, en parte porque nada garantizaba que no terminase en otro servicio que cerrase también. El elegido fue [Tiny Tiny RSS](https://tt-rss.org/gitlab/fox/tt-rss/wikis/home, tiny tiny rss) y, a día de hoy, no puedo estar más contento. Es muy configurable, soporta los comandos de reader (si, es una extravagancia mía) y es fácil de mantener, incluso para varios usuarios. La aplicación android, ttrss reader, es sencilla y rápida.

delicious (favoritos)

Cuando tienes varios ordenadores, varias plataformas y varios navegadores, querer guardar un enlace es ligeramente complicado. Por eso cuando del.icio.us se fue al garete, le busqué un sustituto que resultó ser [SemanticScuttle](http://sourceforge.net/projects/semanticscuttle/, semantic Scuttle). Al igual que con Tiny Tiny RSS, su mayor virtud fue ser un del.icio.us con añadidos, muchos añadidos. Además de las condiciones (irrenunciables), SemanticScuttle funciona con múltiples usuarios, es fácil de utilizar, tiene extensiones para firefox (no sé para el resto de navegadores), tiene zona pública y privada donde guardar los enlaces y permite compartir enlaces entre los usuarios del sitio, entre otras cosas. Tiene [aplicación](https://f-droid.org/repository/browse/?fdid=gr.ndre.scuttloid, scuttloid) para android.

google keep (notas)

Soy un usuario de notas en el móvil desde mi último nokia pero tampoco soy un fanático ni un usuario pro. Intenté utilizar evernote y keep y me sentí más cómodo con la última, porque era más sencilla y no tenía tantas opciones que no usaba. Ademas, la aplicación de evernote para linux es la web y no me entedía bien con nixnote (antes nevernote), el clon para linux. Así que cuando me topé con tomboy, rainy y tomdroid, dejé de buscar. Es sencillo de usar, soporta añadidos y, salvo el pequeño detalle de que las notas (aún) no soportan markdown, es perfecto para mí y mi uso moderado. También quiero dejar constancia que he tenido a rainy alojado en la raspberry pi modelo 1 durante seis meses sin ningún problema, ni de rendimiento ni de estabilidad, que no todo van a ser servidores dedicados con gigas y gigas de RAM.

Por cierto, si alguien va a pegarse con rainy para tener un servidor de notas multiusuario que funcione con el móvil y en cualquier navegador, le recomiendo que no lo haga, que lea el siguiente punto y se quede con este nombre: grauphel. De nada ;).

google drive (la nube)

Al principio sólo estaba dropbox y sus 2 GB de almacenamiento. Luego llegó drive, de google y subieron un poco más el espacio pero compartíendolo con el correo y las fotos. Y luego apareció owncloud y todos esos servicios dejaron de tener sentido para mí. Pasé de tener 2 GB a 16 GB de espacio simplemente instalándolo en una raspberry pi con un USB de esa capacidad (si, la misma raspberry que ya tenía funcionando rainy, el servidor torrent y un par de cositas más). Al final he subido la apuesta instalándolo en un servidor dedicado con 400 GB de espacio sólo para la nube.

¿Ventajas? Casi todas: cumple las condiciones a rajatabla, funciona estupendamente, tengo tantos usuarios y grupos como necesito con permisos de acceso variados, es fácil de mantener aunque algunas veces las actualizaciones las lleve a cabo el enemigo y, sobre todo, soporta aplicaciones. Así, puedo configurar la aplicación de android (importante: las diferencias entre la versión del play store y de f-droid es que una está completa y la otra no; ¿adivinas cúal es la completa?) para que vuelque las fotos y los videos en un directorio concreto como para que la aplicación Gallery las muestre en cualquier navegador o permita enviarlas como enlace protegido, tanto dentro como fuera de owncloud. Otra aplicación, Documents, convierte el navegador en un editor de textos con todos los ficheros que suba y las hay para cifrar todo el contenido de owncloud, leer ficheros pdf, reproducir música y videos, instalar un servidor de correo y noticias, etcétera.

Hay aplicaciones para casi cualquier tarea o servicio de uso cotidiano y, de verdad, merece mucho la pena echarle un vistazo a la lista completa de aplicaciones que soporta owncloud. En los siguientes puntos hablaré de tres de estas aplicaciones Calendar Plus, Contacts Plus y Grauphel.

google calendar (calendarios)

Los calendarios fueron el primer caballo de batalla del móvil con que me metí, principalmente porque la instalación de Calendar Plus en owncloud es extremadamente sencillo e importar los calendarios, también. Lo más complicado fue encontrar una aplicación que funcionase bien en el móvil porque no quería instalar 50 MB para terminar usando los calendarios de alguna plataforma concreta. Tras una larga búsqueda encontré CalDAV Sync Adapter que hace exactamente lo que quería. Crea un tipo de cuenta en la configuración de android para dar de alta calendarios de owncloud de manera sencilla y transparente. Por 778 kB no se puede pedir más. Tras crear la cuenta y autenticar contra owncloud, se pueden utilizar los calendarios sin problemas y de forma transparente, desde la propia aplicación de calendarios.

Al cambiar de móvil y meterme también con los contactos, CalDAV Sync Adapter se quedó corto. Una vez más la respuesta estaba en f-droid y se llamaba DAVdroid. Esta aplicación hace, en esencia, lo mismo que CalDAV Sync Adapter pero también soporta el protocolo CarDAV y, con el, los contactos. Se utiliza de la misma manera, creando un tipo específico de cuenta, que permite conectarse a los calendarios y los contactos de nuestro servidor. Una vez más, en f-droid está la versión completa y en el play store, no.

google contacts (contactos)

Para los contactos, instalé la aplicación Contacts Plus en owncloud, migré los casi cuatrocientos contactos que tenía en google y los ordené en grupos. En definitiva, los puse guapos y presentables. Luego, desde el móvil y con DAVdroid, los puedo gestionar a mi gusto. Los cambios y nuevos usuarios aparecen instantáneamente en el servidor y de ahí, al resto de clientes.

bola extra: google keep (contactos)

Rainy funciona bastante bien pero está basado en mono y sólo su instalación le añade 100 MB al servidor. Por eso cuando vi que owncloud tiene una aplicación, grauphel que se define como Tomboy sync server, me puse a probarla. Y el resultado es impresionante. El servicio es rápido, estable y al estar integrado en owncloud te despreocupas de usuarios. Nada más instalarlo, probé desde tomboy y tomdroid y la velocidad fácilmente duplica a la de rainy. Yo, que no soy un fanático de las notas, he vuelto al vicio de hacer una para cada chorrada que se me ocurre. Y eso es mucha carga para el servidor :).

futuro

Las siguientes aplicaciones o servicios en caer serán (sin ningún orden en particular):

  • gmail: servicio de correo electrónico.
  • XMPP: mensajería instantánea y OTR.
  • mozilla sync: sincronización de los perfiles de firefox.

A ver si, al terminar este año 2016 puedo declarar el móvil libre de aplicaciones google (si, lo sé, quedan muchas por debajo…).

Nota: la entrada de debish que menciono es [Escapa a la vigilancia masiva](http://debianhackers.net/escapa-a-la-vigilancia-masiva/, Escapa a la vigilancia masiva) y debería ser de obligada lectura junto con el libro de Marta Peirano.

 

owncloud, actualizaciones y certificados

He actualizado owncloud, mi nube particular, de la versión 8.0.4 a la 8.1.11 y tengo la impresión de haber actualizado a Windows 10. Quizá es que, con miles de actualizaciones de debian a mis espaldas que me han malacostumbrado a que sean silenciosas e indoloras, quizá es que ninguna actualización es sencilla o quizá es que tienen varios puntos que mejorar.

En cualquier caso, tras terminar la actualización tenía tres errores en la consola de administración, varias apps que no funcionaban y un problema, que el cliente de escritorio de linux (los tres, en realidad) no conectaba. Éste último fue fácil de solucionar, actualizando el cliente a la versión 2.0, que además soporta múltiples cuentas sin hacer cosas raras.

error no internet connection

De los errores, el más extraño era uno que decía que owncloud no tenía conexión a internet y que era necesaria para un funcionamiento adecuado. Lo extraño es que ese servidor está en algún lugar de Bélgica y yo, obviamente, no cojo el coche cada vez que quiero conectarme. Además, este error en concreto parecía deberse a un fichero de configuración viejo, según el solucionador de problemas de actualización, que no existía.

Leyendo a más gente con el mismo problema (y conexión a sus servidores remotos), me encontré con una persona que atinaba con la solución, diciendo que en un hilo de github alguien decía algo de un certificado. Y así es. El error se debe a que owncloud no reconoce a https://owncloud.org como entidad certificadora hasta que no tiene ese fichero y lo asocia con una desconexión de la red. La pregunta es porqué no se asegura el proceso de actualización que ese fichero existe antes de validar nada más. Así que, para solucionar el error más absurdo de owncloud, sólo tuve que descargar el código y copiar el fichero /config/ca-bundle.crt en mi instalación de owncloud. Nada más. Y, a partir de ese momento, las apps que no funcionaban y el propio entorno de gestión de apps, comenzaron a funcionar correctamente.

A lo tonto he estado pegándome con la actualización de marras unas cuantas horas para tenerlo todo bien configurado. Y luego damos (doy) por sentado que las actualizaciones tienen que ser sencillas, rápidas e indoloras. A ver si aprendo.

 

Configurando una raspberry pi 2 como servidor NAS

Creo que ya he comentado que tengo un par de raspberry pi, de los modelos 1 y 2. El proyecto en sí me fascinó desde que supe de el y luego, al comprar la primera, caí rendido a sus pies por todo lo que ofrece con ese precio y esos consumos mínimos. De hecho, el día que raspas (la raspi 1) tiene tos, toda la red de mi casa se convulsiona porque, entre otras cosas, sólo es el guardian de la wifi y, por extensión, de la entrada y salida a la red.

Así que cuando por fin tuve en mis manos la versión 2 de la raspi, ranas (raspberry nas server), ya tenía más proyectos que llevar a cabo que tiempo para implementarlos. Tuve que elegir y los finalistas fueron tres:

  • NAS y servidor de backup para todos los ordenadores de la red (linux, windows, mac) y alguno externo.
  • centro multimedia con kodi.
  • consola MAME.

Para poder llevar a cabo el primero quería que no tuviese que estar anclado a un disco duro externo que necesitase de un enchufe y que pudiese ser portátil (de una manera un poco tosca), así que tenía que utilizar un disco duro externo de 2,5′ comprado para la ocasión. El pero vino porque los dispositivos USB 3.0 necesitan más corriente que la que suministra un único puerto USB de la raspi y la solución, como casi siempre, estaba en ebay. Por cuatro euros adquirí un sofisticado mecanismo capaz de suministrarle toda la energía que necesita el disco duro externo: ¡un cable en forma de Y para USB 3.0!

Los dos últimos proyectos sólo tenían dos necesidades: estar físicamente cerca de la televisión (a un cable HDMI de distancia) y tener conexión inalámbrica puesto que no llega ningún RJ45 al salón. Así que lo primero era la conexión wifi.

Conexión wifi

El dongle USB wifi que compré en una de esas cadenas que te tratan como a un gilipollas lo reconoció sin problemas, una vez instalado el paquete con el firmware adecuado a la marca, así que para conectarla a la red, modifiqué el fichero /etc/network/interfaces:

Como el filtrado de MACs para obtener una IP de la wifi lo gestiona raspas, sólo hay que decirle que use DHCP y la contraseña de acceso. En total, poco más de diez minutos para poder quitarle el cable RJ45.

Reviviendo el disco duro

Mi cara fue un poema cuando recibí el cable porque, al conectarlo todo, no funciona. De hecho, el disco no terminaba la maniobra de arranque y emitía unos quejidos que daban mucha lástima y algo de miedo. Leyendo un poco sobre el voltaje en los puertos USB en las raspberry pi me enteré de que el cable sí que funciona pero que, por defecto, las raspi limitan la potencia de salida de los USB, por lo que incluso empleando dos puertos, el disco duro no tenía suficiente para operar con normalidad.

La solución es sencilla y rápida. Hay que pasarle un parámetro al fichero config.txt que es el equivalente a la BIOS que las rasp no tienen, diciéndole que utilice toda la potencia en los puertos USB.

Tras reiniciarla, la raspi comenzó a usar el disco sin ningún problema.

Nota: en versiones anteriores de raspberry pi (1 y 1+) el parámetro es este, safe_mode_gpio=4. De nada.

NAS, ra NAS

Para hacer que ranas sea el NAS de la red, hay que hacer que comparta un espacio en disco donde el resto de ordenadores podrán escribir siempre que cuenten con un usuario válido. Así que lo primero es instalar samba y lo segundo, crear un usuario en el sistema que usaremos para gestionar dicho espacio.

En mi caso el usuario se llama nas y no podrá iniciar sesión en el sistema:

A continuación, creamos el espacio en samba, comentando el resto de volúmenes compartidos y añadiendo este:

Preparamos el disco duro y reiniciamos samba:

Y, finalmente, añadimos al usuario nas a la base de datos de usuarios de samba:

Después de esto, podremos conectarnos mediante el protocolo CIFS (antes SMB) a la raspberry y podemos apuntar aquí los programas de backup y comenzar a volcar datos, copias de seguridad o capítulos de series para luego ver con kodi, por ejemplo.

ranas-cifs

Disclaimer

La raspberry pi tiene los puertos USB conectados a la tarjeta de red por lo que no me hago ilusiones con lo que respecta a la velocidad, incluso cuando no utilizo dicha tarjeta de red. Pero no me importa demasiado porque se trata de una prueba y tampoco tengo excesiva prisa.

Para finalizar una imagen que prueba lo que se puede hacer con un poco de tiempo, una brida de fontanería, un disco duro y una raspberry pi 2. :)

pi-nas01

pi-nas02