Telegram desde la línea de comandos: utilidades, demonio y copia de seguridad
Explota Telegram con tg y telegram-history-dump
Cuando empezamos a utilizar Telegram como alternativa amigable a Whatsapp sabíamos que no era la mejor opción aunque fuera mejor que Whatsapp. En el lado de las aplicaciones libres y abiertas, o más bien de los protocolos, estaba jabber, por ejemplo, que fue utilizado por Google en Ytalk y probablemente lo siga usando, pero que integró con Hangout y pasa desapercibido, como desapercibido pasa Linux en Android.
Tiempo después ha aparecido Matrix que vuelve a dar esperanza a los sistemas de mensajería libres (como Riot) sobre redes libres y/o federadas.
Intuyo que no será ni rápido ni extenso el uso de estas redes, ojalá me equivoque. Mientras tanto y dado que Telegram sí que ha logrado penetrar como aplicación de uso masivo alternativa a Whatsapp veamos si podemos tener cierto control de los datos que ahí volcamos.
En resumen, me gustaría conseguir los datos de Telegram y para ello descubro que existe telegram-history-dump:
- Es heredero de telegram-json-backup
- Requiere compilar telegram-cli
- Interesante también telegram-cli-backup
Características de telegram-history-dump
El autor dice que comparado con el anterior:
- Soporta mejor la descarga de archivos multimedia
- Soporta otros formatos de salida distintos de JSON y es extensible con los formatos determinados.
- Soporta copias incrementales, por lo que solo se descargan los mensajes nuevos.
- No depende de la inestabilidad de Python/Lua dentro de telegram-cli
- Tiene un archivo de configuración separado formateado en YAML
Instalación de telegram-cli
Primer intento
Primero hay que clonar el repositorio:
|
|
No olvides instalar dependencias:
|
|
Finalmente:
|
|
Lastimosamente, daba un error de openssl:
|
|
Buscando, encuentro una issue, así que habrá que esperar un poco a ver si lo resolvemos entre todxs.
Pero la respuesta correcta vino de la mano de NeoRider quien decía:
Debian provides the libssl1.0-dev package for this purpose.
Y entonces pareció funcionar.
No ocurrió así a la siguiente vez que lo intenté
Segundo intento
Hacía ./configure
bien pero no make
, me daba error de compilación. Buscando el error llegué a este issue
que daba la clave:
|
|
Conexión con el teléfono
Para arrancarlo, en el directorio de la instalación, escribimos:
|
|
La clave pública tg-server.pub
se almacena por defecto en el mismo directorio o en /etc/telegram-cli/server.pub
. Si no, se pone la ruta.
Al lanzarlo nos pide nuestro número de teléfono, que ponemos con el código del país:
+NN1234567
Entonces nos enviarán un código de cinco cifras que introduciremos en la consola y listo.
Uso
La consola autocompleta sobre el listado de comandos posibles. Veamos algunos:
Lista de contactos
|
|
Imprime la lista de contactos.
Mensaje a un contacto
|
|
Salir
|
|
Mensaje a varios contactos
broadcast <user> + <text>
Telegram-cli como demonio
Una opción es tener tg-cli
como demonio.
Volviendo a la copia de seguridad
Una vez que está configurado tg-cli
, volvemos a telegram-history-dump.
Instalación
Nos hacemos una copia del repo, por ejemplo, con git:
git clone --depth 1 https://github.com/tvdstaaij/telegram-history-dump.git
Puesta en marcha
Antes de arrancar, asegúrate de tener al menos la versión 2+ de Ruby:
|
|
Y echa un vistazo a config.yaml por si quieres modificar algo. En mi caso, por ejemplo, ha aumentado el número de mensajes de 1000 a 10000.
Una vez hecho esto, arranca telegram-cli con estas opciones:
|
|
Donde le decimos que queremos los mensajes en formato json y que está corriendo en el puerto 9009.
Copia
Entonces, arrancamos telegram-history-dump, que es un script en ruby
:
|
|