JungleBot 2.5.0 – Controla enigma2 con Telegram

JungleBot 2.5.0 es la evolucion natural de un proyecto para interactuar a traves de telegram con nuestros receptores enigma2 y que comenzo con una primera version muy basica el 21 de Mayo del 2017, ver enlace, donde simplemente enviabamos mensajes a traves de la api web de telegram.

Esta primera version durante estos tres años ha ido evolucionando, gracias a la colaboración de los miembros de jungle-team, y sobre todo en los ultimos tiempos gracias a las horas invertidas por @txolo99 y @amoyse, hasta llegar a la mutación JungleBot 2.5.0.

Para el funcionamiento nos basamos en la api de telegram bot, podeis ver documentacion sobre la misma, y para su uso en receptores enigma2 jungleBot 2.50 en la actualidad esta desarrollado sobre python 2.7, siendo necesario la instalacion de diferentes componentes python entre los cuales se encuentran PyTelegrambotApi, para ello es necesario que la imagen sea compatible con la instalacion de Python package manager, mas conocido como Pip a traves del cual instalaremos los componentes python para su funcionamiento.

Para realizar la instalacion jungle-team proporciona jungleBot en paquete ipk que instalara en nuestro receptor todo lo necesario para su funcionamiento, en este sentido JungleBot es de codigo abierto con licencia GNU General Public License v3.0.

1. Imagenes Enigma2 Soportadas

En la actualidad JungleBot tiene soporte para las siguientes imagenes:

  • OpenATV (mipsel y arm)
  • OpenPli (mipsel y arm)
  • OpenSpa (mipsel y arm)
  • TeamBlue (mipsel y arm)

Asi como tambien tiene soporte para Imagenes VTI, pero en este caso estas imagenes no soportan python package manager, por lo que para realizar la instalacion de los componentes python necesarios usamos entware, esto conlleva que el soporte:

  • VTI (solo Arm en la actualidad)

2. Requisitos

En primer lugar debemos crear un bot telegram, en el cual recibiremos los mensajes telegram que provienen de nuestro receptor enigma2, por lo cual deberemos:

  • Crear bot telegram
  • Apuntar token del bot creado
  • Conocer nuestro chat id

2.1. Crear Bot Telegram

Para la creacion de nuestro bot, telegram nos proporciona BotFather (pulsamos para acceder al mismo) o buscamos @BotFather en telegram, atraves del cual vamos a crear el bot y del cual recibiremos el token correspondiente al bot creado que luego necesitaremos para el uso de JungleBot.

Paso 1: Cuando accedemos a @BotFather nos aparecera la siguiente interfaz

Paso 2: Una vez tenemos abierta la conversacion escribimos /start para iniciarla y nos apareceran la lista de comandos disponibles.

Paso 3: Ahora vamos a crear un bot telegram para ello escribimos /newbot que como vemos nos aparecia en la lista de comandos

Paso 4: Ahora nos solicitara que introduzcamos el nombre que deseamos que tenga nuestro bot

En este ejemplo pues lo vamos a llamar jungle_vuplus

Paso 5: A continuacion nos solicita que introduzcamos nombre de usuario para el bot, el cual deber terminar obligatoriamente en bot, en este ejemplo jungle_forever_bot

Paso 6: Ya tenemos nuestro bot creado, y nos aparecera un token, el cual debemos copiar ya que como veremos lo necesitaremos ese token mas adelante.

Paso 7: Ahora para acceder a nuestro bot creado simplemente buscamos el nombre usuario bot que hemos creado en este ejemplo @jungle_forever_bot

2.2. Conocer nuestro Chat Id

Otro dato que debemos conocer y que nos hara falta mas adelante, es nuestro chat_id de telegram, es decir nuestra identificacion en telegram, una manera facil de tener acceso al mismo, es buscar a @chatid_echo_bot

Pulsamos en la pestaña start y nos aparecera nuestro chat_id pues lo apuntamos y guardamos.

3. Instalacion de JungleBot 

Para el uso del bot telegram que hemos creado, y que nuestro receptor enigma2 le pueda enviar mensajes asi como poder controlar el receptor desde el mismo bot, es necesario realizar la instalacion de JungleBot en nuestro receptor.

Paso 1: Nos debemos descargar en primer lugar la version compatible con nuestra imagen instalada en el receptor:

 

Paso 2: Una vez realizada la descarga del archivo correspondiente a nuestra imagen instalada, lo introducimos en el receptor en el directorio /tmp

Paso 3: Para finalizar instalamos junglebot, para ello accedemos al receptor por terminal y ejecutamos el siguiente comando:

opkg update

  • Ahora si usamos openatv, openpli, openspa ejecutariamos

opkg install /tmp/junglebot_all.ipk

En el caso de usar VTI:

opkg install /tmp/junglebot_vti.ipk

IMPORTANTE:

  • Cuando se realiza la instalacion de JungleBot es recomendable que el receptor tenga la franja horaria configurada, es decir no instalar si el receptor no tiene la hora puesta

3.1. Archivos que se instalan con junglebot

Los archivos que se instalan en nuestro receptor con junglebot son los siguientes:

  • Archivos bot ubicados en: /usr/bin/junglebot

  • En el interior de /usr/bin/junglebot se hallan los siguientes archivos

ARCHIVO Funcion
amigos.cfg En el interior introduciremos las ips que deseamos que junglebot tome como amigos y por lo tanto no avise de las conexiones de los mismos, cada ip que se añada se hara en una linea.
parametros.py Archivo donde van ubicados los parametros de configuracion del bot, que veremos mas adelante
locales En su interior contiene los archivos para los idiomas del bot.
  • /etc/init.d/junglebot-daemon: Script de arranque de junglebot
  • /opt : Solo se instala en imagenes VTI en su interior se ubican los archivos de entware necesarios para el uso de pip.

4. Activacion de JungleBot

Una vez hemos realizado la instalacion de JungleBot, ahora vamos a ver como realizar una primera configuracion, asi como su activacion.

4.1. Configuracion de JungleBot

El directorio donde se instala Junglebot en nuestro receptor es el siguiente, /usr/bin/junglebot y antes de iniciar el arranque del mismo debemos configurarlo, para ello se usa el archivo parametros.py en el cual tenemos las siguientes opciones.

 

Parámetro Funcion
BOT_TOKEN Se debe introducir el token de nuestro bot, este parametro es obligatorio, el cual se introduce sin comillas, ejemplo:

BOT_TOKEN=2769564037:AAFLcRIHNLhgulRQNp5UYtTn53_aJ9-0NKc

CHAT_ID Identificacion de nuestro usuario telegram, este parametro es obligatorio, el cual se introduce sin comillas, ejemplo:

CHAT_ID=167262650

LOG 0 si no quereis que genere log del funcionamiento del bot y 1 si quereis activar el log
RUTALOG Ruta donde se genera el log del bot y nombre del log, en caso que tengamos activada la opcion LOG
AUTOSTREAM Activado 1, no activado 0, en caso de activado se activa la detección streaming en nuestro receptor cuando se reinicia el bot
AUTOSSH Activado 1, no activado 0, en caso de activado se activa la detección de conexiones SSH en nuetro receptor
AUTOFTP Activado 1, no activado 0, en caso de activado se activa la detección de conexiones FTP en nuetro receptor
LOCALE Se selecciona el idioma para el bot, ejemplo: locale=es (disponible es , de , en)

Es necesario que en el directorio /usr/bin/junglebot/locales tengamos el archivo de idioma correspondiente al idioma configurado, por defecto activado en español

Ejemplo configuracion:

# Sustituye las xxx por vuestro token telegram
BOT_TOKEN=1182258547:AAEq7KIo9uRnwuNc_KwLFjpPduJBLhQhvV1
# Sustituye las yyy por vuestro chat id de telegram
CHAT_ID=119263255
# Tiempo en segundos que el bot busca conexiones streaming por defecto esta en 30 segundos cambiarlo por el tiempo deseado
TIMERBOT=30
# 0 si no quereis que genere log del funcionamiento del bot y 1 si quereis activar el log
LOG=1
# Ruta donde se genera el log del bot y nombre del log
RUTALOG=/tmp/junglebot.log
# Se lanza el autocheckstream cada vez que arranca el bot. Activado 1, no activado 0
AUTOSTREAM=0
# Se lanza el autocheckssh cada vez que arranca el bot. Activado 1, no activado 0
AUTOSSH=0
# Se lanza el autocheckftp cada vez que arranca el bot. Activado 1, no activado 0
AUTOFTP=0
# Variable idioma español (es), inglés (en), alemán (de)
LOCALE=es

 

4.2. Iniciar, parar, reiniciar JungleBot

Una vez hemos configurado JungleBot, como se ha mencionado anteriormente es obligario reiniciar jungleBot en el receptor, para realizar estas opciones, accedemos al receptor via terminal y tenemos a nuestra disposicion los siguientes comandos:

  • Iniciar JungleBot

/etc/init.d/junglebot-daemon start

  • Parar JungleBot

/etc/init.d/junglebot-daemon stop

  • Reiniciar JungleBot

/etc/init.d/junglebot-daemon restart

  • Ver status JungleBot

/etc/init.d/junglebot-daemon status

Captura ejemplo:

 

5.0. JungleBot Comandos

Tras el inicio de JungleBot en nuestro receptor, ya tenemos disponible el control del mismo desde el bot creado, tras este inicio de junglebot en nuestro receptor, si todo esta correctamente recibiremos en nuestro bot telegram que se ha iniciado el mismo indicandonos la version que tenemos instalada en el receptor

 

Ahora ya podemos controlar nuestro receptor a traves del bot, para ver los comandos generales disponibles a los que tenemos acceso usamos el comando /ayuda , que nos desplegara todas las opciones disponibles

Las opciones disponibles son con el comando /ayuda

/ayuda Menú ayuda con listado de menús disponibles
/info Informacion sistema receptor
/red Información Red
/guiasrapidas Menú para lanzamiento de las guías rápidas
/junglebot Ajustes del bot
/stream Gestión de streams
/conexiones Gestión de conexiones
/grabaciones Gestión de grabaciones
/epg Gestión de EPG
/emu Emuladora CCCAM / OSCAM
/command Comandos
/junglescript Gestión JungleScript
/letsencrypt Gestión de certificados letsencrypt para duckdns
/pystreamy Gestión de pystreamy

Cada comando nos da acceso a unos subcomandos que se relacionan a continuacion:

/info

Canal actual – Información sobre el canal que se está visualizando en el deco
Información del sistema – Consumos disco, memoria, CPU y temperaturas
Id del receptor – Nos proporciona el id propio del receptor
Top 10 procesos uso cpu – Ranking de los 10 procesos que más cpu consumen

Capturas de pantalla

El pase de diapositivas requiere JavaScript.

/red

Estado – Resumen del estado de las opciones de red de nuestro receptor
Conexiones tcp establecidas – 
Proporciona información sobre sesiones TCP
Test velocidad de red – Realizar un test de velocidad con speedtest
Comprobar duckdns ip – Proporciona la ip que resuelve el DNS de duckdns
Comprobar puerto abierto – Se puede comprobar un puerto abierto proporcionando IP o DNS
Estado zerotier – Comprobación de si zerotier está activo o no en nuestro receptor

Capturas de pantalla

El pase de diapositivas requiere JavaScript.

/guiasrapidas

Lanzar guia openatv – Instala backup en la red de openatv
Lanzar guia openpli –  
Instala backup en la red de openpli
Lanzar guia VTI – Instala backup en la red de vti
Lanzar guia Pure2 – Instala backup en la red de Pure2
Lanzar guia Blackhole – Instala backup en la red de Blackhole

/junglebot

Parámetros – Consultamos los parámetros configurados para el bot
Cambiar parámetros – Podemos cambiar los parámetros de nuestro bot, por ejemplo: AUTOSTREAM=1. En el primer parámetro que pide el bot ponemos el nombre del parámetro AUTOSTREAM y en el segundo parámetro que pide el bot ponemos el valor 1.
Actualizar bot – Actualizamos el bot a la última versión subida a Github
Reiniciar bot – Podemos reiniciar el bot
cambiar canal – Podemos cambiar el canal en el receptor
Ver log del bot – Podemos hacer que nos envíe el fichero de log del junglebot para poder verlo desde telegram
Vaciar log del bot – Podemos purgar/vaciar el log del bot
Changelog – Podemos listar el Changelog del bot para saber las novedades de cada versión del bot
Enviar mensaje – Podemos enviar un mensaje al receptor y que se vea en la pantalla (si está en standby se visualizará cuando se encienda)

 

 

/stream

Qué ven tus amigos – Nos saca un listado de TODOS los streamings que hay activos en el deco en ese momento (esta opción no tiene en cuenta el fichero amigos.cfg)
Autorizar amigo para stream – Para añadir un amigo/s al fichero amigos.cfg. Se pueden agregar ips específicas (192.168.1.10), rangos (192.168.1.*) y DNSs (prueba.duckdns.org)
Elimina amigo para stream – Para borrar un amigo/s del fichero amigos.cfg
Lista IPs de amigos – Consulta el fichero amigos.cfg
Control streams no autorizados –  Activamos manualmente hasta que se reinicie el bot el autochequeo de los streamings activos que no estén en amigos.cfg
Parar streamproxy – Podemos parar todos los streams activos directamente parando streamproxy

Captura de pantalla

 

/conexiones

Parámetros – Consultamos los parámetros configurados para el bot
Cambiar parámetros – 
Podemos cambiar los parámetros de nuestro bot, por ejemplo: AUTOSTREAM=1. En el primer parámetro que pide el bot ponemos el nombre del parámetro AUTOSTREAM y en el segundo parámetro que pide el bot ponemos el valor 1.
Autorizar amigo – Para añadir un amigo/s al fichero amigos.cfg. Se pueden agregar ips específicas (192.168.1.10), rangos (192.168.1.*) y DNSs (prueba.duckdns.org)
Elimina amigo – Para borrar un amigo/s del fichero amigos.cfg
Lista IPs de amigos – Consulta el fichero amigos.cfg
Ver conexiones SSH – Lista todas las conexiones SSH activas sin tener en cuenta el fichero de amigos.cfg
Ver conexiones FTP – Lista todas las conexiones FTP activas sin tener en cuenta el fichero de amigos.cfg
Control ssh no autorizados –  Activamos manualmente hasta que se reinicie el bot el autochequeo de los conexiones SSH activas que no estén en amigos.cfg
Control ftp no autorizados –  Activamos manualmente hasta que se reinicie el bot el autochequeo de los conexiones FTP activas que no estén en amigos.cfg

Captura pantalla

El pase de diapositivas requiere JavaScript.

/grabaciones

Listado de grabaciones – Para consultar las grabaciones programadas
Borrar grabación – Para borrar una grabación programada
Limpiar grabaciones expiradas – Limpieza de grabaciones que hayan expirado.
Grabar programa actual – Comienza la grabación del programa actual
Listado ficheros – Para consultar los ficheros que hay en movies
Borrar fichero – Para eliminar un fichero del disco de movies (nos lo borra físicamente)
Borrar todos los ficheros – Borra TODOS los ficheros dentro de la carpeta movies
Mostra ruta grabaciones – Para visualizar la ruta del sistema que tenemos configurada en ese momento para que se metan las grabaciones

Capturas de pantalla

El pase de diapositivas requiere JavaScript.

/epg

Ver ruta epg.dat – Para consultar la ruta definida en el sistema para epg.dat
Ver fecha epg.dat – Para mostrar la fecha de modificación del fichero epg.dat
Actualizar epg.dat – Nos actualiza el EPG, bien con EPGImport o bien con CrossEPG (No podemos tener instalados los dos a la vez)
borrar epg – Borrar epg.dat
Reiniciar interfaz – Reiniciar enigma2
Desinstalar EPGImport – Podemos desinstalar el plugin EPGImport
Desinstalar CrossEPG – Podemos desinstalar el plugin CrossEPG

Capturas de pantalla

El pase de diapositivas requiere JavaScript.

/emu

Estado – Nos dice el estado de las clines de oscam y la información de ECM si hay algún tunner activo
Añadir línea cccam – Permite añadir una línea cccam (nos pedirá los parámetros)
Añadir línea oscam – Permite añadir una línea oscam (nos pedirá los parámetros)
Iniciar emuladora – Para arrancar la emuladora
Para emuladora – Para parar la emuladora
Reiniciar emuladora – Para reiniciar la emuladora
ver version oscam – ver version oscam instalada
ver version cccam – ver version cccam instalada
instalar oscam conclave – Instalar oscam auto actualizacion
Actualizar script autoocam.sh – Actualizar script de actualizacion de oscam
actualizar oscam conclave – Actualizar oscam conclave
forzar actualizacion oscam conclave – Forzar actualizacion oscam conclave
ver emu activa – Ver la emuladora que tenemos activa
ver emus instaladas – Ver emuladoras que tenemos instaladas en receptor
cambiar emu activa – Cambiar la cam activa

 

Nota: Algunas opciones de comandas solo estan funcionales en openatv – OpenPli – Teamblue

 

Capturas de pantalla

El pase de diapositivas requiere JavaScript.

/command

Estado receptor – Nos dice si el receptor está encendido o en reposo
Reinicio receptor – 
Hace un reboot de nuestro receptor
Ir a reposo – Envía la señal de standby a nuestro receptor
Despierta receptor – Envía la señal de wakeup a nuestro receptor
Reiniciar enigma2 – Para reiniciar enigma2 sin hacer un reboot completo
Parar streamproxy – Parando streamproxy matamos todos los streams activos
Liberar memoria – Podemos liberar memoria del receptor
Capturar pantalla – Podemos coger una captura de lo que se esté viendo en el receptor en ese momento
Actualizar sources – Lanzamos un opkg update
Actualizar paquetes – Lanzamos un opkg upgrade
Restaurar valores fábrica – Reestablecemos a fábrica nuestro receptor
Eliminar password root – Por si necesitamos elimina nuestra password de root
ejecutar comando – Nos permite lanzar comandos como si estuvieramos en terminal

Capturas de pantalla

 

El pase de diapositivas requiere JavaScript.

/junglescript

Parámetros – Para consultar los parámetros configurados como la LISTACANALES
Cambiar parámetros – Podemos cambiar el valor de la lista de LISTACANALES. Para ellos os pedírá primero el parámetro a cambiar LISTADECANALES y luego méteis el valor astra, astra-comunitaria o astra-hotbird
Instalar junglescript – Nos instala el junglescript en nuestro receptor (por defecto si no generamos el fichero de configuración, la lista de canales seleccionada es astra)
Desinstalar junglescript – Elimina el junglescript de nuestro receptor
Ejecutar junglescript – Para ejecutar el junglescript si hay actualización de canales, del bot o de los picons.
Forzar updata lista canales – Para forzar la lista de canales sí o sí, es como si borraramos el fichero de actualización y ejecutaramos el script
Ver log junglescript – Podemos hacer que nos envíe el fichero de log del junglescript para poder verlo desde telegram
Ver fecha lista canales – Podemos consultar la fecha de actualización de la lista de canales de JungleTeam instalada en nuestro receptor
Ver fecha picons – Podemos consultar la fecha de actualización de los picons de JungleTeam instalados en nuestro receptor
Añadir bouquet fav – Podemos añadir al archivo fav_bouquets nuestros bouquets favoritos
Borrar bouquet fav – Podemos borrar del archivo fav_bouquets el bouquet que indiquemos

Captura de pantalla

 

El pase de diapositivas requiere JavaScript.

/letsencrypt

Crear certificados – Nos genera los certificados de letsencrypt
Estado de certificados – Nos muestra el estado de los certificados
Comprobar duckdns ip – Nos resuelve el DNS de duckdns que le indiquemos
Comprobar puerto abierto – Para comprobar si una IP o DNS tiene abierto o cerrado el puerto que le indiquemos

Capturas de pantalla

El pase de diapositivas requiere JavaScript.

/pystreamy

Estado pystreamy – Nos muestra el estado de pystreamy
Para pystreamy – Nos para pystreamy
Iniciar pystreamy – Nos arranca pystreamy
Reiniciar pystreamy – Nos reinicia pystreamy
Configuración – Nos muestra la configuración de pystreamy
Cambiar configuración – Podemos cambiar parámetros de pystreamy (nos pedirá primero el nombre del parámetro y luego el valor)
Comprobar configuración – Nos comprueba que la configuración de pystreamy es correcta o no
Instalar pystreamy – Nos instala pystreamy
Desintalar pystreamy – Nos desinstal pystreamy
Ver log pystreamy – Nos envía el log de pystreamy para poder visualizarlo

Capturas de pantalla

El pase de diapositivas requiere JavaScript.

5.1. Extra cambio Idioma

A partir de la version 2.5.0 es posible cambiar el idioma del bot, como vimos anteriormente con el parametro LOCALE=xx en la actualidad los idiomas disponibles:

  • es –> español
  • de –> Aleman (Agradecimientos a @xurtam del Grupo de Telegram Sat en español enigma2 vu+) 
  • en –> ingles

Los archivos de idioma de lenguaje estan en el directorio /usr/bin/junglebot/locales

Nota: Tras el cambio de idioma es obligario reiniciar junglebot.

Capturas en los diferentes idiomas

aleman                                                                                                        ingles

6. Desistalar JungleBot

En el caso que deseemos realizar la desistalacion de JungleBot , accedemos al receptor por terminal y vamos a realizar los siguientes pasos:

Paso 1

opkg remove junglebot

Paso 2

rm -r /usr/bin/junglebot

  • En el caso de tener instalado JungleBot en imagen VTI ademas ejecutaremos este comando extra:

rm -r /opt

7. Colaboradores

  • Traduccion aleman –> IdaxDm / @xurtam

Related posts

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: