Alfaresolver

alexxnr

Usuario Novato
1 Jul 2021
6
0
1
41
Hola a todos.

Primero me presento, aunque ya lo he hecho en el foro de presentaciones, me parece correcto hacerlo aquí también.

Llevo años utilizando este addon, primero como pelisalacarta donde aporte alguna corrección menor a algún canal y ahora como alfa addon sin ningún aporte por mi parte.

Hace unos años utilizaba mucho el addon pero la frecuencia de uso fue bajando a medida que existían otras soluciones como los grupos de Telegram donde se compartía contenido.

Hace un tiempo me pareció buena idea implementar una solución para poder ver este contenido sobre Alfa addon y hace unas semanas me puse a desarrollar algo.
Quiero crear una sección al estilo torrent, películas o series donde cada uno se pueda añadir sus grupos como si fueran canales y pueda ver el contenido que se comparte.
para ello me puse manos a la obra creando un canal como poc con un grupo fijo de telegram que cogí como ejemplo.

Primer problema, la librería que utilizo es asíncrona y se da de ostias con los Threads de kodi de tal manera que pierde la referencia en memoria y kodi peta. Tras buscar soluciones (modificar la librería, utilizar otra, compilar algo de otro lenguaje…) decidí utilizar una versión anterior sincrona de la misma librería. Pero tuve que modificarla ya que la API de telegram había cambiado y no funcionaba.

Tras solucionar esto ya era capaz de listar los vídeos, títulos, thumbs y descargarlos pero me surgió el segundo problema. La librería utiliza un componente compilado para descifrar el AES de telegram. Está hecho en C porque en Python es extremadamente lento. No tengo problemas con OSX ya que se compila como una librería estática .so que puedo exportar al addon pero en Windows es una .pyc y no consigo que cargue. Me imagino que debe cargar de forma dinámica y debe tener alguna dependencia no resuelta en Kodi. No profundicé más ya que decidí dejarlo para el final, debido a todo el trabajo que quedaba por hacer.

Al continuar me encontré con el tercer problema y la causa de este tema. Descargo el vídeo y lo visualizo en forma local, pero ya que estamos puestos quería hacerlo bien. Eso quiere decir poder monitorizar la descarga y visualizarla en streaming inspirándome en el gran trabajo que hicisteis con el torrent. Añadí código (sin tocar nada de lo existente) en platform y creando un server propio depositándolo en custom_code para que no se borre nada (algún susto me llevé antes). El problema viene cuando intento comprender cómo funciona la gestión del Threading ya que hay un componente Alfaresolver precompilado que no puedo leer. He intentado decodificarlo y decompilarlo para no tener que pediros ayuda pero hay parte del código que no consigo descifrar.

No se si sería posible que me explicarais que función tiene o si sería posible obtener ese código para comprenderlo y no tener que molestaros más.

Por supuesto todo el código que haga, si finalmente queda algo decente, pensaba entregaroslo para que hicierais con el lo que considerarais.

Disculpar el súper rollo pero tenía que explicarlo bien.

Muchas gracias.
 

Delta

Miembro del equipo
16 Oct 2017
1.200
1
1.311
113
Hola, me da un poco de vergüenza responderte con tan poco luego de toda tu explicación pero la respuesta es simple, Alfaresolver no debería afectar al threading, el threading depende exclusivamente del modulo del mismo nombre que es el de python, por lo que si necesitas hacer pruebas que involucren Alfaresolver solo puedes comentar las lineas que hacen referencia a el y continuar.
Por otro lado suena interesante tu proyecto, si tienes mas dudas puedes consultarnos. Esperamos puedas finalizarlo.

Saludos
 

alexxnr

Usuario Novato
1 Jul 2021
6
0
1
41
Muchas gracias por la respuesta.
En cuanto tenga algo decente os lo presento. El problema es que estoy usando mi tiempo libre que no es mucho y posiblemente tardaré más de lo que quisiera.

muchas gracias
 

George Ramga

Usuario Novato
16 Ene 2018
3
0
1
40
Para AES en kodi yo uso cryptodome, es binario y no es lento.
la forma en que lo llamo es:
from Cryptodome.Cipher import AES

lo que no sé es sí esta disponible en todas las distribuciones de kodi, solo lo he probado en windows, android, androidtv, ubuntu, en las versiones de kodi 18 y 19, y funciona bien.
 

alexxnr

Usuario Novato
1 Jul 2021
6
0
1
41
Muchas gracias.
Intentaré encajarlo en la librería que uso a ver si me da resultado. En este punto la velocidad es importante porque Telegram envía los paquetes de datos de forma cifrada y en un mensaje o una foto no tiene relevancia pero en un vídeo que ocupe Gigas si.
Estamos hablando que un vídeo de 1 Giga pasa de tardar unos 10-15 minutos utilizando el módulo en C a horas utilizando Python. Es decir de poder verlo en streaming a tenerte que esperar a la descarga. Este punto es clave.

muchas gracias de nuevo