PadreDeFamilia

QVIART DUAL : SATELITE 4K ANDROID 9.0 DVB-S2X+DVB-T2+DVB-C+IPTV

Chincheta Autor Tema: Actualizar servidores (card_server.cfg) vía script  (Leído 15240 veces)

Registrado:
07/09/2015
Gracias:
2/85
Mensajes
32
A raíz de haber publicado "card_server.cfg desde el terminal de macos" me ha parecido que el siguiente paso era crear un script para automatizarlo.

En principio está desarrollado para macOS y el deco Qviart Undro 2 pero es adaptable para otros S.O. y otros receptores.

El script tiene REMs que lo hacen sencillo de entender, resumiré a continuación lo vital:

- Introducir la IP de nuestro deco en la línea 24 (variable 'ip')
- Introducir el puerto de nuestro deco en la línea 27 (variable 'puerto' por defecto '5555' en el Undro 2)
- Habilitar o inhabilitar Prometheus en la línea 33 (por defecto está en '0' o sea que lo inhabilita)

No se indica de donde sacar las líneas CCcam, cualquier consulta en un buscador arrojará muchas URLs, pero el REM de la línea 18 apunta a un clásico de este foro. Las líneas pueden copiarse y pegarse en un archivo "txt" ('fuente.txt' si no se cambia) sin que sea necesario eliminar la "basura" ya que el código debería depurar lo copiado antes de generar el "card_server.cfg" final. Obviamente puede fallar pero en las pruebas que he realizado desde distintas fuentes ha funcionado correctamente.

Adjunto el código por si alguien prefiere verlo/copiarlo y el script "deco-update.sh" para ser descargado e ir más rápido. Como no se puede subir un archivo con extensión 'sh' lo subo como 'txt' "deco-update.sh.txt" y lo renombráis trás descargarlo.

Espero que le sea útil a alguien.

Código: [Seleccionar] [nofollow]
#!/bin/bash
# Autor: unavailable (https://www.forokeys.com/foro//pm/?sa=send;u=677846)
# Nombre del script: deco-update.sh
# O.S./deco: script ejecutable desde macOS para el deco: Qviart Undro 2 (no olvidar darle permisos de ejecución: chmod +x)
# Propósito: subir líneas directamente al deco sin hacerlo manualmente desde el mando a distancia.
# Requiere: adb (https://dl.google.com/android/repository/platform-tools-latest-darwin.zip)
# Nota: si mejoras este código, compártelo ;-)

# AVISO IMPORTANTE:
# =================
# Para que el deco admita comandos es necesario haber activado PREVIAMENTE la "depuración USB" en las opciones de desarrolladores.
# Lo más sencillo es hacerlo a través de una APK, por ejemplo:
# "Settings" (https://apkpure.com/es/settings-shortcut/com.MirusApplications.settingsshortcut).

# Instrucciones:
# ==============
# Ir donde se publiquen las líneas para elegir las que queramos
# (algunos lugares ya son clásicos, ver http://bit.ly/2LmEB3g)
# copiarlas y pegarlas en un archivo que se grabará con el nombre
# "fuente.txt" (como texto sin formato).

# Introducir la IP del deco "xxx.xxx.xxx.xxx"
# (la IP puede consultarse en el deco: Ajustes > Red > Seleccionamos LAN/WiFi... > Info)
ip="192.168.1.34"

# Introducir el puerto (por defecto: 5555 para Qviart Undro 2)
puerto="5555"

# Sufijo hora + fecha para la copia de seguridad del card_server.cfg del deco
ahora="$(date +"%d-%m-%Y-%Hh%Mm%Ss")"

# Habilita / inhabilita Prometheus
echo DEFAULT:0 > card_server.cfg # 0 = inhabilita Prometheus / 1 = habilita Prometheus

# Limpieza de la fuente y grabación de la lista de servidores
cat fuente.txt | grep "C: "| # Busca las líneas que empiezan por "C: "
sed 's/C: /C:/g'| # Reemplaza "C: " por "C:"
sed 's/ off/ /'| # Elimina los "off" si los hubiera
sed 's/[[:space:]]/|/g' | # Reemplaza cualquier espacio, tabulador, etc. por un pipe [|]
sed 's/||/|/g' | # Reemplaza repeticiones de pipes [|] si los hubiera por un único pipe [|]
sed 's/|$//' | # Elimina pipe [|] si está al final de una línea
sed 's/$/|1|0/' >> card_server.cfg  # Añade los atributos al final de cada línea y grabao el archivo resultante

# Borra la pantalla del terminal
clear

# Conecta con el deco
./adb connect $ip:$puerto
 
# Baja copia de seguridad de la actual lista de servidores del deco al ordenador
./adb pull /data/data/com.dvb.colors.home/files/card_server.cfg card_server.$ahora.cfg

# Actualiza la lista nueva de servidores subiéndola al deco
./adb push card_server.cfg /data/data/com.dvb.colors.home/app_tmp

# Desconecta del deco
./adb disconnect $ip:$puerto

echo -e "\n"
echo "======================================"
echo "Salvo error en la comunicación hay que"
echo "validar/rechazar la actualización en"
echo "la pantalla conectada al deco."
echo "======================================"
echo -e "\n"
Registrado:
07/09/2015
Gracias:
2/85
Mensajes
32
A continuación una nueva versión del script que ahora saca las líneas CCcam que publica raul7 y las sube al deco mediante el archivo "card_server.cfg" que crea al ser ejecutado. Todo el procedimiento es automático.

Como en la versión anterior, este script tiene REMs que lo hacen sencillo de entender, solo es necesario:

- Introducir la IP de nuestro deco en la línea 22 (variable 'ip')
- Introducir el puerto de nuestro deco en la línea 25 (variable 'puerto' por defecto '5555' en el Undro 2)
- Habilitar o inhabilitar Prometheus en la línea 31 (por defecto está en '0' o sea que lo inhabilita)

Nota: este script ha obtenido el consentimiento de raul7 para ser publicado exclusivamente en forokeys.

Ni que decir tiene que si raul7 cambiase la actual estructura de su archivo, este script podría dejar de funcionar.

Adjunto el código por si alguien prefiere verlo/copiarlo y el script "deco-update-r7.sh" para ser descargado e ir más rápido. Como no se puede subir un archivo con extensión 'sh' lo subo como 'txt' "deco-update-r7.sh.txt" y lo renombráis trás descargarlo.

Código: [Seleccionar] [nofollow]
#!/bin/bash
# Autor: unavailable (https://www.forokeys.com/foro//pm/?sa=send;u=677846)
# Nombre del script: deco-update-r7.sh
# O.S./deco: script ejecutable desde macOS para el deco: Qviart Undro 2 (no olvidar darle permisos de ejecución: chmod +x)
# Propósito: subir líneas directamente al deco sin hacerlo manualmente desde el mando a distancia.
# Requiere: adb (https://dl.google.com/android/repository/platform-tools-latest-darwin.zip)
# Nota: este script ha obtenido el consentimiento de raul7 para ser publicado exclusivamente en forokeys.

# AVISO IMPORTANTE:
# =================
# Para que el deco admita comandos es necesario haber activado PREVIAMENTE la "depuración USB" en las opciones de desarrolladores.
# Lo más sencillo es hacerlo a través de una APK, por ejemplo:
# "Settings" (https://apkpure.com/es/settings-shortcut/com.MirusApplications.settingsshortcut).

# Instrucciones:
# ==============
# Ejecutar el script y validar la actualización en la pantalla conectada al deco.
# Si raul7 cambiase la actual estructura de su archivo, este script podría dejar de funcionar.

# Introducir la IP del deco "xxx.xxx.xxx.xxx"
# (la IP puede consultarse en el deco: Ajustes > Red > Seleccionamos LAN/WiFi... > Info)
ip="192.168.1.34"

# Introducir el puerto (por defecto: 5555 para Qviart Undro 2)
puerto="5555"

# Sufijo hora + fecha para la copia de seguridad del card_server.cfg del deco
ahora="$(date +"%d-%m-%Y-%Hh%Mm%Ss")"

# Habilita / inhabilita Prometheus
echo DEFAULT:0 > card_server.cfg # 0 = inhabilita Prometheus / 1 = habilita Prometheus

# Acceso a la fuente, limpieza y grabación de la lista de servidores de raul7 en: card_server.cfg (archivo por defecto)
curl -s https://docs.google.com/document/d/1qauC6ynPnINY1ymAIq5RGAuYb31SE1AZT6qei_hCylk/export?format=txt | head -35  | grep "C: " | # Busca solo las SERVER CCCAM MULTIUSER de raul7
sed 's/C: /C:/g'| # Reemplaza "C: " por "C:"
sed 's/ off/ /'| # Elimina los "off" si los hubiera
sed 's/[[:space:]]/|/g' | # Reemplaza cualquier espacio, tabulador, etc. por un pipe [|]
sed 's/||/|/g' | # Reemplaza repeticiones de pipes [|] si los hubiera por un único pipe [|]
sed 's/|$//' | # Elimina pipe [|] si está al final de una línea
sed 's/$/|1|0/' >> card_server.cfg  # Añade los atributos al final de cada línea y grabao el archivo resultante

# Borra la pantalla del terminal
clear

# Conecta con el deco
./adb connect $ip:$puerto
 
# Baja copia de seguridad de la actual lista de servidores del deco al ordenador
./adb pull /data/data/com.dvb.colors.home/files/card_server.cfg card_server.$ahora.cfg

# Actualiza la lista nueva de servidores subiéndola al deco
./adb push card_server.cfg /data/data/com.dvb.colors.home/app_tmp

# Desconecta del deco
./adb disconnect $ip:$puerto

echo "¡finalizado!"

echo -e "\n"
echo "======================================"
echo "Salvo error en la comunicación hay que"
echo "validar/rechazar la actualización en"
echo "la pantalla conectada al deco."
echo "======================================"
echo -e "\n"
« Última modificación: 11/07/2019, 20:43 por unavailable »
Registrado:
09/01/2016
Gracias:
1/4
Mensajes
17
Buenas tardes,

pendón por la pregunta de novato pero...

Para que sirve esto??? Para resucitar los decos expirados???

Gracias y saludos
Registrado:
07/09/2015
Gracias:
2/85
Mensajes
32
Pues no, no resucita decos que han expirados. En los REMs está la explicación:

Citar
Propósito: subir líneas directamente al deco sin hacerlo manualmente desde el mando a distancia.

Si no sabes qué son las líneas CCcam no deberías utilizar este script pero hay abundante información al respecto en este foro y en internet en general.
Registrado:
18/12/2016
Gracias:
4/8
Mensajes
10
Hola, gracias por el script, me va ha facilitar mucho la vida,  :D

El problema viene a la hora de ejecutar el script, que comandos introduzco en power shell para enviar el script? Vendría genial un tutorial.
Registrado:
07/09/2015
Gracias:
2/85
Mensajes
32
@solner, reconozco no tener ni idea de Power Shell porque es un derivado de Windows y yo soy de Unix/OS X/macOS. No sé lo que habrá que adaptar pero el "tutorial" está implícito en el propio código con la cantidad de rems que contiene ¿no?
« Última modificación: 10/08/2019, 22:37 por unavailable »
Registrado:
07/09/2015
Gracias:
2/85
Mensajes
32
Adjunto una alternativa a las líneas CCcam que publica raul7 y que actualiza "El rincón del diablo". Por lo demás nada cambia, las sube al deco mediante el archivo "card_server.cfg" que crea al ser ejecutado y todo el procedimiento sigue siendo automático.

Como en la versión anterior, este script tiene REMs que lo hacen sencillo de entender, solo es necesario:

- Introducir la IP de nuestro deco en la línea 21 (variable 'ip')
- Introducir el puerto de nuestro deco en la línea 24 (variable 'puerto' por defecto '5555' en el Undro 2)
- Habilitar o inhabilitar Prometheus en la línea 30 (por defecto está en '0' o sea que lo inhabilita)

Nota: si el autor cambiase la actual estructura de su archivo, este script podría dejar de funcionar.

Adjunto el código por si alguien prefiere verlo/copiarlo y el script "deco-update-devil.sh" para ser descargado e ir más rápido. Como no se puede subir un archivo con extensión 'sh' lo subo como 'txt' "deco-update-devil.sh.txt" y lo renombráis trás descargarlo.

Código: [Seleccionar] [nofollow]
#!/bin/bash
# Autor: unavailable (https://www.forokeys.com/foro//pm/?sa=send;u=677846)
# Nombre del script: deco-update-devil.sh
# O.S./deco: script ejecutable desde macOS para el deco: Qviart Undro 2 (no olvidar darle permisos de ejecución: chmod +x)
# Propósito: subir líneas directamente al deco sin hacerlo manualmente desde el mando a distancia.
# Requiere: adb (https://dl.google.com/android/repository/platform-tools-latest-darwin.zip)

# AVISO IMPORTANTE:
# =================
# Para que el deco admita comandos es necesario haber activado PREVIAMENTE la "depuración USB" en las opciones de desarrolladores.
# Lo más sencillo es hacerlo a través de una APK, por ejemplo:
# "Settings" (https://apkpure.com/es/settings-shortcut/com.MirusApplications.settingsshortcut).

# Instrucciones:
# ==============
# Ejecutar el script y validar la actualización en la pantalla conectada al deco.
# Si la fuente cambiase la actual estructura de su archivo, este script podría dejar de funcionar.

# Introducir la IP del deco "xxx.xxx.xxx.xxx"
# (la IP puede consultarse en el deco: Ajustes > Red > Seleccionamos LAN/WiFi... > Info)
ip="192.168.177.123"

# Introducir el puerto (por defecto: 5555 para Qviart Undro 2)
puerto="5555"

# Sufijo hora + fecha para la copia de seguridad del card_server.cfg del deco
ahora="$(date +"%d-%m-%Y-%Hh%Mm%Ss")"

# Habilita / inhabilita Prometheus
echo DEFAULT:0 > card_server.cfg # 0 = inhabilita Prometheus / 1 = habilita Prometheus

# Acceso a la fuente, limpieza y grabación de la lista de servidores
curl -s https://cuatrolatastv.blogspot.com/2019/05/rincon-del-diablo-cccams-newcccams.html  | #Vuelca la página
sed -n '/C: /p' | # Seleccionar solo las líneas que contengan "C: "
cut -c 105-  | # Elimina el comienzo de las líneas
sed 's/C: /C:/g'| # Reemplaza "C: " por "C:"
sed 's/<\/span>/ /' | # Elimina los span de cierre
sed 's/<\/div>/ /' | # Elimina los div de cierre
sed 's/<span style="color: red;">(OFF) <\/span>/ /' | # Elimina los OFF
sed 's/[[:space:]]/|/g' | # Reemplaza cualquier espacio, tabulador, etc. por un pipe [|]> ver.txt # Elimina la cadena entera
sed 's/||/|/g' | # Reemplaza repeticiones de pipes [|] si los hubiera por un único pipe [|]
sed 's/|$//' | # Elimina pipe [|] si está al final de una línea
sed 's/$/|1|0/' >> card_server.cfg # Añade los atributos al final de cada línea y graba el archivo resultante

# Borra la pantalla del terminal
clear

# Conecta con el deco
./adb connect $ip:$puerto
 
# Baja copia de seguridad de la actual lista de servidores del deco al ordenador
./adb pull /data/data/com.dvb.colors.home/files/card_server.cfg card_server.$ahora.cfg

# Actualiza la lista nueva de servidores subiéndola al deco
./adb push card_server.cfg /data/data/com.dvb.colors.home/app_tmp

# Desconecta del deco
./adb disconnect $ip:$puerto

echo "¡finalizado!"

echo -e "\n"
echo "======================================"
echo "Salvo error en la comunicación hay que"
echo "validar/rechazar la actualización en"
echo "la pantalla conectada al deco."
echo "======================================"
echo -e "\n"
Registrado:
10/05/2016
Gracias:
4/1
Mensajes
13
Buenas tardes a tod@s,

Primero felicitaros por el gran trabajo con el script, estan muy claros los comentarios,etc. Mi pregunsta va en relación, a si se puede ejecutar el script via cron o es a manubrio (conectandose via ssh al deco?).

Creo que se deberia recoliar en un manual, todas las operaciones que se pueden relizar con este deco o con los decos android; como ejecutar scripts, como conectarte, un FAQdroid o algo asi.

Saludos y Gracias
Registrado:
07/09/2015
Gracias:
2/85
Mensajes
32
Personalmente cuando hice el shell no se me ocurrió hacer un crontab para lanzarlo con regularidad aunque nada lo impide, al fin y al cabo es un shell como otro cualquiera. Mis dos razones para no hacerlo son las siguientes:

  • Los servidores dejan de funcionar sin atender a un patrón fijo de día-hora, de hecho unos dejan de funcionar mientras otros siguen funcionando aunque estén recopilados en la misma lista. Su caracter aleatorio hace que yo haya decidido lanzar los shells cuando veo que mi deco está a oscuras y sino me aplico aquello de "if it works, don't fix it". Otra forma de enfocarlo consistiría en lanzarlos todos los días a la misma hora aunque eso no garantice que tengas siempre luz en el deco.
  • Como los shells se lanzan desde un ordenador y no desde el propio deco (creo que otro usuario hizo una apk para ser instalada en el deco) no puedo, o no sé, validarlos automáticamente por lo que debo estar delante de la pantalla y validar la subida del card_server.cfg con el mando a distancia del deco. Solo es darle al "OK" pero hay que hacerlo manualmente.

En cuanto a los manuales todo el mundo estará de acuerdo en que se hagan pero a nadie se le escapa que se necesitan conocimiento y tiempo.

QVIART DUAL : SATELITE 4K ANDROID 9.0 DVB-S2X+DVB-T2+DVB-C+IPTV

 



PadreDeFamilia
!! ADVERTENCIAS !!: Las informaciones aquí publicadas NO CONTIENEN KEYS para la decodificación de ningún sistema: NO SON OPERATIVOS en sistemas SAT que precisen de su correspondiente suscripción. ESTA TOTALMENTE PROHIBIDO EL USO DE ESTAS INFORMACIONES PARA LA MODIFICACIÓN O DEFRAUDACIÓN DE SISTEMAS DE ACCESO CONDICIONAL. EN ESTOS FOROS NO SE PERMITE LA PUBLICACIÓN DE INFORMACIONES ILEGALES POR PARTE DE LOS USUARIOS. EN CASO DE DETECTARSE ESTE TIPO DE INFORMACIONES, LOS USUARIOS SERÁN EXCLUIDOS DE ESTAS PÁGINAS.
PROHIBIDA LA PUBLICACIÓN DE ENLACES A FIRMWARES ILEGALES
LOS FOROS NO SON MONITORIZADOS DE MANERA CONSTANTE, CUALQUIER INFORMACIÓN QUE PUEDAS CONSIDERAR ILEGAL REPORTALA A LA ADMINISTACIÓN DEL FORO