a12logggor-modified-1
LOS NUEVOS USUARIOS REGISTRADOS DEBEN DE PRESENTARSE  PARA VER TODO EL FORO EN
PRESENTACIONES DE NUEVOS USUARIOS

Actualizar automaticamente las CCLines

Iniciado por Dagger, Ene 07, 2016, 20:05:21

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

KlEiTuS

Esto funciona en cualquier enigma2, solo que estará más optimizado para la imagen Black Hole que es la que llevan de origen creo los Vu+. A lo mejor si pones otra imagen como OpenATV o ItalySAT, pues tienes que modificar rutas, pero en principio funcionaria de la misma manera.
  •  

Dagger

#16
El script va a funcionar siempre que el deco sea linux, tenga instalado python y las rutas sean las que marca el script por lo que muy posiblemente funciona tanto en el SOLO como en el DUO y Zero

En efecto, las urls las pillo en modo depuracion del google chrome. No siempre funciona ya que algunas webs tienen captchas pero bueno, mientras algunas vayan....
Los detalles tecnicos te los pego aqui de otro post que puse en otro foro:

----------------------------------------------------------------------------------------------------------------------------
Os pongo una miniexplicacion en caso que la web de mycam24 cambie la web.
Abrimos la web mycamm24 en el chrome y apretamos F12, y en el "debugger" nos situamos en la pestaña "Network"
Vamos pasando las paginas de publicidad hasta llegar a la ultima.

Justo antes de apretar el ultimo link que nos lleva a la pagina final apretamos el boton de borrar para que no tengamos tantos mensajes (el boton que esta al lado del boton rojo, marcado con una flecha en la foto)
Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.

Como veis por ahi nos sale el link final que nos lleva a la pagina. Solo es cuestion de substituir el 1,2,3,4,5,6 que son los servidores por un {0} que es el parametro en el archivo de python.
PD: Lo mismo funciona para la web de satna4ever[/quote ]

----------------------------------------------------------------------------------------------------------------------------

Cita de: AmPRo en Feb 09, 2016,  18:37:26
Me han funcionado las pruebas que he hecho en linux, reajustando las rutas y comentando la llamada a la función RestartCccam()

Lo que he observado que cuando vuelves a ejcutar el script mete las nuevas líneas al principio del archivo CCcam.cfg, intercalando líneas en blanco. Es igual que use el parámetro append y/o check

Cierto, lo acabo de arreglar.

Aqui esta la ultima version:

Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.
  •  

Dagger

Por si a alguien le interesa colaborar, mejorar, etc este script, he creado un proyecto en GITHUB.

La idea seria añadirle alguna interfaz que te permitiese ver las ccclines funcionando, las que esten falladas y te permitiese refrescarlo de una manera mas amigable.

El link al proyecto:
Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.
  •  

Dagger

#18
Añadidos 3 nuevos servidores (allcam,cccamfree y cccamgenerator)

A partir de ahora el argumento para una web especifica es -s 'web' ya que el codigo para los argumentos estaba hecho una chapuza

Aun asi, siempre lo puedes llamar de la misma forma de antes (sin parametros)

python '/usr/script/ReloadCam.py'

Ejemplos:

python '/usr/script/ReloadCam.py'
python '/usr/script/ReloadCam.py' --append --check
python '/usr/script/ReloadCam.py' -s satna --append
python '/usr/script/ReloadCam.py' -s satna -a -c

Web:

Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.

  •  

Dagger

Cita de: AmPRo en Feb 11, 2016,  22:46:48
Por cierto no he podido sacar tiempo todavia para ver con detenimiento esto que digo, pero me ha dado la impresion de que cuando ejecutas el script por segunda vez, no se reinician las variables, tampoco lo he verificado bien. Eso no es posible posible, no? a no ser que algunas sean declaradas explicitamente como globales, creo recordar que siempre se destruyen cuando finaliza el script, tengo entendido, al menos en todos estos lenguajes de script derivados de C

En efecto, todas las variables se destruyen cuando el script finaliza. Este es un comportamiento de todos los lenguajes de programacion.
En caso de que quisieras guardarlas, deberias guardar esas variables en algun sitio (archivo, web, etc) y leerlas cuando el script se iniciase
  •  

Dagger

#20
Acabo de subir una actualizacion para el script para que ordene las clines en funcion del ping del servidor (las mas rapidas arriba, a excepcion de las custom que siempre van arriba del todo)

Te cuento lo que yo uso para programar en python.

1- Visual studio 2015 community: https://www.visualstudio.com/es-es/downloads/download-visual-studio-vs.aspx
2- Python tools for VS: https://visualstudiogallery.msdn.microsoft.com/9ea113de-a009-46cd-99f5-65ef0595f937
3- Entorno de python 2.7 que es el que usa BH: https://www.python.org/download/releases/2.7/

Con esas 3 herramientas ya tienes una buena IDE (entorno de desarrollo) para programar lo que necesites en Python.
Hay muchas otras opciones: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments
Pero personalmente a mi me gusta visual studio.

Cursos de python hay aqui: https://codigofacilito.com/courses/Python
y en ingles hay a patadas, ademas de la documentacion oficial de python: https://docs.python.org/2/library

Como crear una interfaz para enigma2, aqui hay documentacion: http://www.satpimps.co.uk/showthread.php?156984-How-to-write-your-first-enigma2-plugin

Personalmente yo para ejecutar el codigo en local uso el propio VS(visual studio) y cuando ya funciona lo subo por ftp al VU+ y lo ejecuto desde telnet para asegurarme, de todas formas supongo que para emular la interfaz de enigma2 y tal si que vienen bien tus links.
Sobre ese tema si que no se nada porque no domino linux ni se como funciona, ni distribuciones ni nada de eso...
  •  

Dagger

#21
Cita de: AmPRo en Feb 14, 2016,  19:17:05
Pensaba plantear una pregunta como esta:

Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.


estas líneas se puden añadir sin problema a la lista de custom clines, al principio del script, en la función GetCustomClines()

El tema es que para renovar estas líneas por dos o tres dias más hay que entrar en la url y saltar una serie de pantallas intermedias de publicidad (no se si a eso se les llama acortadores).

He intentado dar con una url directa en el modo debbug del chrome, para ver si funcionaria un wget en la terminal linux, pero no lo consigo.
Ya que no hay que capturar cadenas de caracteres ni descargar contenidos, solo de simular la navegación para que la línea se vuelva a activar por otras 48 o 72 horas;  el comando shell de linux wget con los parámetros -N -q ya debería valer.

Citar
-N,  --timestamping         don't re-retrieve files unless newer than local.
-q,  --quiet                     quiet (no output).

Como te dicen alli, seguro que con tu ingenio consigues hacerlo.  [ok]

Por otro lado he intentado modificar la funcion GetClinesByArgument(argument) para que se pueda usar más de un argumento a la vez en la llamada al script, tipo

python 'ReloadCam.py' mycccam freecline


pero me he quedao atascao.

Tal y como están los condicionales ya funciona bien con un solo argumento, mas --append --check si se quiere

Hay tantas implicaciones de funciones cuyo codigo llama desde dentro a otras funciones, que no consigo que me funcione ninguna de las variantes que pruebo.

En esas webs que has nombrado hay que simular el submit (apretar un boton) y para ello hay que usar frameworks de python que harian bastante mas complejo el script...

Sobre el segundo tema que comentas vas a tener que modificar el main mirando la documentacion del "optparse" para ver como meter parametros con mas de 1 valor.

Luego es simplemente pasar ese array de valores al GetClinesByArgument y comprobar que valores existen en ese array y llamar al metodo necesario.

Saludos

EDIT: he encontrado esto: http://stackoverflow.com/questions/17509607/submitting-to-a-web-form-using-python que quizas podria ayudar...
  •  

Dagger

Al final ya lo he conseguido hacer :D

con este codigo:

def GetPostHtmlCode(data, headers, url):
    import urllib, urllib2, cookielib

    encodedData = urllib.urlencode(data)

    # Send HTTP POST request
    req = urllib2.Request(url, encodedData)

    if headers is not None:
        for key in headers.keys():
            req.add_header(key, headers[key])

    response = urllib2.urlopen(req)
    try:
        response = urllib2.urlopen(req)
        htmlCode = response.read()
    except:
        print "Could not open website! (No internet connection or bad URL: " + url + ")"
        return '';

    return htmlCode;


Simulas un post y solo tienes que pasarle los parametros del post.

Por ejemplo:

Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.


Por ahora he metido unos 7 servidores nuevos.
El tema es que me gustaria encriptar las url's de los servidores y tengo el trabajo a medias. Si mañana saco un poco de tiempo subo el codigo con las url encriptadas por si a alguno de esas webs se le ocurre buscarnos :D
  •  

Dagger

#23
He subido una nueva version. Esta nueva version se actualiza automaticamente cada vez que hay un nuevo servidor.

Por ahora hay unos 20

He incluido varios de esos que van por IP pero tened en cuenta que en esos casos es mejor usar el parametro "append" ya que a veces no los obtiene si no se han agotado y por lo tanto borrariamos las lineas

Por otra parte ahora ya no funciona el parametro "all" pero si que funciona el mandarle varios parametros a la vez ejemplo:

Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.


Saludos!
  •  

Dagger

#24
Cita de: AmPRo en Feb 17, 2016,  12:24:35
Parece que se ha complejificado mucho, pero creo que separando por archivo cada módulo es mejor y mas comprensible.

Creo haber observado en los server que van por  IP, que algo no va bien.
He estado probando con "greencccamfree", ejecutando:

python 'ReloadCam.py' -s Greencccamfree --append

La función RefreshFiles() la he tenido que anular porque me daba estos errores:

Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.



Anulando la función # RefreshFiles() consigo que no de error, pero observo que escribe una nueva linea en el archivo CCcam.cfg con un password diferente.

En la web de Greencccamfree dicen que no se permite el resharing y que será motivo de baneo del sistema.
El script no tendría que volver a ejecutarse hasta que la línea no haya caducado, o se podria interpretar como resharing, la encriptación no sirve en este caso porque estamos identificados por nuestra IP pública.

Cada vez que se ejecuta el script, este escribe una nueva línea en el archivo CCcam.cfg, con un password diferente.

Esta lineas no cambian, es única para cada usuario, con la misma IP y el mismo password, eso tambien puede ser interpretado como intento de resharing ¿no?

Gracias por corpartir tu excelente trabajo.





Tienes razon, ya he arreglado ese error, pasaba por no haber subido uno de los ficheros a github...

Sobre el tema de esas lineas que te banean esta complicadillo. Habria que implementar un codigo que mirase en un cccam.cfg y si las ve que las testease y si fallan entonces que las baje de nuevo.

EL problema es que no encuentro informacion sobre como testear Clines, la web de testious no dice nada y lo mas parecido que he encontrado es un programa para windows que las testea, el CCCAM Ever One.
Descompilando ese programa lo unico que hace es un socket tcp pero eso no es suficiente para comprobar si un usuario/pass funciona sobre un servidor Cline.

En fin, que necesito documentacion tecnica (si alguien la tiene que por favor la comparta) sobre como funciona el protocolo para poder hacer algun tester decente


Cita de: AmPRo en Feb 17, 2016,  12:36:45
Perdon si soy tan quisquilloso, hago mi papel de betatester  [lupa]

Este es ahora mismo mi archivo CCcam.cfg

Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.


Por cada ejecución del script me crea una nueva linea, cuando en estos server basados en IP solo debe haber una, y ademas mete muchos espacios en blanco al principio del archivo mas uno entre lineas

Se observa como decía que crea password aleatorios, el password debe ser unico y siempre el mismo para cada IP (=usuario).

Otra cosa que observo es que en cada ejecución del script baja cada vez todos los archivos de github, siendo la misma version de archivo, y dejando los antiguos tal como estan, y añadiendo a los nuevos una letra a la extensión. (quizas esto sea un comportamiento de debian, ya comenté que hago las pruebas en un PC con Debian Wheezy)

Lo dicho, gracias.

He mirado lo de los espacios en blanco y en mi caso no pasa. Sin usar la opcion append este es mi fichero:


Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.



El script baja siempre de github el archivo de versiones para ver si estas actualizado y luego solo baja los archivos que no tienes o estan obsoletos, teoricamente no baja todos siempre.

Sobre el tema de que se generan nuevos archivos es verdad, ya que el propio pyhton los compila, si me dices que extension es la añado al codigo que se ejecuta al finalizar el script y que se encarga de borrar los archivos "basura"

Saludos y gracias por el testeo, hace que pueda mejorar el script :D
  •  

Dagger

Por cierto, habia un error en el codigo y no se bajaban las actualizaciones cuando habia alguna.

Esto implica bajarse de nuevo el ReloadCam.py

Espero que a partir de ahora ya no tenga que modificar ese archivo y solo se cambien los demas...  [ok]
  •  

pedrito76

Una preguntilla, desde el principio la función  RestartCccam() en mi solo2 me paraba la cam y tenia que activarla a mano, desde entonces opte por ponerle la # a esa linea y funcionaba perfecto, ¿a que es eso debido?, ahora, como hay muchos script y se actualizan solos, no me funcionara esa metodo. Que puedo hacer? Gracias de antemano
  •  

Dagger

#27
Cita de: AmPRo en Feb 18, 2016,  22:55:51
La función esta en el archivo ReloadCam_Main.py hacia la línea 101



La descarga de GitHub ahora va muy bien y no deja esos archivos .pyc
En general va todo bien sin mostrar errores.
Las lineas en blanco en el CCcam.cfg, a mi por lo menos, me las sigue generando al usar el parámetro --append

Acabo de subir un arreglo para que filtre todas las lineas None o vacias que haya en el cfg. A ver si ahora se arregla.

Sobre la sugerencia de no incluir los que van por ip lo mirare, de todas formas lo que se puede hacer es poner algun tipo de condicional y que ese .sh que contiene esos servidores se ejecute cada 48h y el sh que contiene los servidores sin esa funcionalidad se ejecute cada 12h o menos.

Saludos y gracias por las sugerencias!

PD: Lo re defrescar la cam a veces tarda (unos 10-15 segundos mas o menos)
  •  

Dagger

Cita de: AmPRo en Feb 19, 2016,  11:55:41
Gracias Dagger por tomar en consideración las cosas que te sugiero.
La idea de ejecutar el script en dos veces, está bien.
De todas formas sigo pensando que no sería mala idea dejarlas para un segundo script, o darles un tratamiento aparte dentro del mismo script.

Es que incluso dentro de estas lineas que se asignan individualmente a una IP, hay diferencias. Por ejemplo, las que genera
Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.

son ellos los que te dan el passworg, y el usuario es tu IP a la que le anteponen un par de letras.

En este otro sitio:
Lo sentimos pero no tienes permiso para ver el contenido, (Exclusivo para usuarios registrados y presentados).Sorry but you are not allowed to view spoiler contents.

uno tiene que elegir un password, y como usuario te asignan tu propia IP sin añadirle nada.

Lo que tienen en común y la diferencian de los demas generadores de clines gratis para el estudio, es que solo hay que generarlas una vez (mientras mantengas la misma IP), que si es valida por 48 horas, por ejemplo, pasado ese palzo es cuestion de reactivarla (no generar una nueva). Ese es el matiz.

El condicional tendría que verificar si tu ip ha cambiado antes de generar una nueva linea de este tipo. Si se quiere se puede testear la linea antes de reactivarla, pero que en conjunto todo esto es lo que me lleva a pensar que seria mas eficaz el que este tipo de lineas sean tratadas en un script aparte o en un modulo independiente, que solo se active con determinado parámetro en un proceso independiente. Para no sobrecargarte de trabajo, lo podrías dejar pendiente para más adelante.

Un saludo.

Viendo que no tengo manera de testear bien las clines, otra idea que se me ocurre es que cuando se obtenga una cline de este tipo de servidores, se cree un archivo de texto con el nombre del servidor, la ip y la hora en la que se ha ejecutado.

Si vuelves a pedir una cline en ese mismo servidor, se comprueba ese archivo de texto y si esta caducada--> se genera una nueva, sino, te devuelve la que ya generaste.

Si saco tiempo la semana que viene o así lo estudio...

Saludos
  •  

bonbolico

Ok gracias lo mirare de ver con tiempo
  •  

Powered by EzPortal