Nos obligan a molestarte con la obviedad de que este sitio usa cookies OK | Más información
PadreDeFamilia

VIARK SAT : Sobrenatural, impresionante. El mejor Receptor de Satélite!! LO VERÁS TODO!!

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

Registrado:
07/09/2015
Gracias:
2/31
Mensajes
31
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/31
Mensajes
31
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/2
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/31
Mensajes
31
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:
1/3
Mensajes
7
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/31
Mensajes
31
@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/31
Mensajes
31
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:
2/0
Mensajes
11
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/31
Mensajes
31
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.

VIARK SAT : Sobrenatural, impresionante. El mejor Receptor de Satélite!! LO VERÁS TODO!!

 

Related Topics

  Asunto / Iniciado por Respuestas Último mensaje
normal_post * 0 Respuestas
2514 Vistas
Último mensaje 29/09/2012, 10:11
por salgari
normal_post * 2 Respuestas
1234 Vistas
Último mensaje 23/08/2015, 23:57
por Albao
normal_post * 6 Respuestas
6155 Vistas
Último mensaje 04/09/2015, 16:36
por basuco81
normal_post_sticky * 14 Respuestas
5882 Vistas
Último mensaje 16/07/2019, 01:12
por xius27
hot_post * 15 Respuestas
2956 Vistas
Último mensaje 28/05/2016, 19:59
por sergio1985
normal_post * 1 Respuestas
983 Vistas
Último mensaje 14/04/2016, 12:57
por kevinmapherson
normal_post * 2 Respuestas
1810 Vistas
Último mensaje 21/10/2016, 09:19
por igoresdemoda
normal_post * 4 Respuestas
1106 Vistas
Último mensaje 24/10/2016, 12:59
por cocoom
veryhot_post * 31 Respuestas
7387 Vistas
Último mensaje 19/09/2018, 19:29
por Gaizka Macgrego
normal_post_locked * 3 Respuestas
1426 Vistas
Último mensaje 09/05/2017, 11:44
por Eric Cartman
normal_post * 0 Respuestas
924 Vistas
Último mensaje 29/07/2017, 13:11
por ELPINCHE
normal_post_locked * 9 Respuestas
1060 Vistas
Último mensaje 13/02/2018, 12:49
por JB jesus
veryhot_post * 62 Respuestas
8951 Vistas
Último mensaje 08/12/2018, 16:18
por anrode002
normal_post_locked * 0 Respuestas
861 Vistas
Último mensaje 18/06/2019, 17:12
por unavailable
normal_post_locked * 0 Respuestas
139 Vistas
Último mensaje 18/06/2019, 17:30
por PoP*PeQuE



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. ESTOS FOROS SON MODERADOS Y 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