martes, enero 05, 2016

Telegram sobre Raspberry Pi (línea de comandos)

martes, enero 05, 2016

Telegram es una plataforma de comunicaciones que presume de tener mejores servicios que otras (hablo de Whatsapp) y nació con la escusa (según sus creadores) de proporcionar privacidad a los usuarios.


La ventaja de esta plataforma es que directamente puedes tener varias sesiones abiertas en cada dispositivo, y sus servidores no discriminan a clientes de ninguna plataforma.

Desde su página principal puedes encontrar el enlace de descarga para la mayoría de plataformas de escritorio, pero mi sorpresa fue cuando presumiendo de lo libre que era esta plataforma, no podías instalarlo sobre una Raspberry.

Get Telegram for Linux 32 bit

Y la referencia en github del soporte, pero sin especificar qué arquitectura soporta su software:

Supported systems 

  • Windows XP - Windows 10 (not RT)
  • Mac OS X 10.8 - Mac OS X 10.10
  • Mac OS X 10.6 - Mac OS X 10.7 (separate build)
  • Ubuntu 12.04 - Ubuntu 14.04
  • Fedora 22


Entonces recordé que hace tiempo había visto funcionando en un router con OpenWRT un demonio que se encargaba de hacer de cliente sobre esta red, y ese cliente era libre, así que ¿por qué no probarlo? Estoy bastante contento con el resultado.

Antes de nada anunciar que es un cliente de línea de comandos, por lo que no existe ninguna GUI (al menos de momento). Y que a pesar de escribir cada comando está pensado para que no se pierda el tiempo y habilitar otras funcionalidades de que describiré a continuación.

Instalamos las dependencias necesarias para poder compilar el cliente:

sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make 

Empecemos colocándonos en la carpeta que deseamos que se instale, y lanzamos el clonado por git o lo descargamos desde github:

git clone --recursive https://github.com/vysheng/tg.git

Una vez clonado todo el repositorio lo siguiente es entrar en el directorio tg (cd tg) e iniciar la compilación:

Tarda, porque la raspberry no es precisamente un avión, pero al final tendréis compilado todo. El ejecutable se encuentra en la carpeta bin y el certificado en el directorio principal. Para ejecutarlo:

bin/telegram-cli -k tg-server.pub

Entonces nos aparecerá en la consola:

Telegram-cli version 1.3.3, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license' for details.
Telegram-cli uses libtgl version 2.0.3
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
Telegram-cli uses libpython version 3.4.2
I: config dir=[/home/user/.telegram-cli]

Si es la primera vez que lo lanzamos nos pedirá el número de teléfono (en formato "+(código del país)número_de_teléfono". Introducimos el código de confirmación y nos encontraremos una consola perfectamente funcional.

Lo que más me gusta es que esta versión no requiere ningún manual, porque un simple toque al tabulador nos auto-sugiere al igual que la línea de comandos de linux qué debemos de escribir.

accept_secret_chat   create_secret_chat   import_chat_link     msg                  resolve_username     set                  view
add_contact          del_contact          load_audio           msg_kbd              safe_quit            set_password         view_audio
block_user           delete_msg           load_chat_photo      quit                 search               set_profile_name     view_chat_photo
broadcast            dialog_list          load_document        rename_chat          send_audio           set_profile_photo    view_document
chat_add_user        export_card          load_document_thumb  rename_contact       send_contact         set_ttl              view_document_thumb
chat_del_user        export_chat_link     load_file            reply                send_document        set_username         view_file
chat_info            fwd                  load_file_thumb      reply_audio          send_file            show_license         view_file_thumb
chat_set_photo       fwd_media            load_photo           reply_contact        send_location        start_bot            view_photo
chat_with_peer       get_message          load_user_photo      reply_document       send_photo           stats                view_user_photo
clear                get_self             load_video           reply_file           send_text            status_offline       view_video
contact_list         help                 load_video_thumb     reply_location       send_typing          status_online        view_video_thumb
contact_search       history              main_session         reply_photo          send_typing_abort    unblock_user         visualize_key
create_group_chat    import_card          mark_read            reply_video          send_video           user_info

Y tan sencillo como:

msg Nombre_Contacto mensaje a enviar sin ningún tipo de reparo

Contiene unos comandos muy útiles, de los que seguro más de uno sabrá sacarle provecho.
Bit
Hide Me!