Por dentro

Cómo funciona myNetWorking

Lo que ocurre por dentro: una comprobación, cómo se distingue la caída de un servicio de los problemas de tu conexión, el funcionamiento en segundo plano, los datos y las versiones publicadas.

Una comprobación

myNetWorking establece una conexión TCP con el host y el puerto del servicio. Si el puerto acepta la conexión, el servicio funciona: la aplicación la cierra de inmediato y no envía ningún dato. No es un ping ni una petición HTTP, sino solo el establecimiento de la conexión.

  • El tiempo de respuesta es el tiempo que transcurre desde que se inicia la conexión hasta que se establece. Para los nombres de host, incluye también la resolución DNS del nombre.

  • El tiempo de espera de conexión es de 5 segundos por defecto. Puedes cambiarlo entre 1 y 60 segundos.

  • ¿Cuándo se comprueba? Nada más abrir la aplicación y después de añadir, editar o volver a activar un servicio. Luego, cuando transcurre el Intervalo de comprobación del servicio (30 segundos por defecto) y, tras una comprobación fallida, cuando transcurre el Intervalo de comprobación durante la caída de los ajustes (10 segundos por defecto).

  • El intervalo se cuenta desde el final de la comprobación anterior. Un mismo servicio nunca se comprueba dos veces a la vez. Durante toda la comprobación, verificación incluida, el servicio tiene el estado «Comprobando…».

Verificación de caídas paso a paso

Cuando la conexión falla, la aplicación no declara una caída de inmediato. Sigue estos pasos:

  1. Se conecta al servicio. Si lo consigue, el estado es «En línea».

  2. Tras un intento fallido, consulta el estado de la conexión. Si la conexión no está plenamente operativa, el servicio recibe el estado «Sin red».

  3. Si la conexión funciona, vuelve a conectarse al servicio, de inmediato. Si lo consigue, el estado es «En línea».

  4. Tras el segundo intento fallido, comprueba la conexión otra vez, desde cero. Si no está plenamente operativa o ha tenido problemas en los últimos 30 segundos, el servicio recibe el estado «Sin red».

  5. Si en el segundo intento no se pudo resolver el nombre del host y ese mismo nombre sí se resolvía antes, el culpable es el DNS: estado «Sin red».

  6. En cualquier otro caso, el servicio recibe el estado «CAÍDO».

Solo «CAÍDO» abre un incidente y activa la alarma. «Sin red» indica un problema de tu lado: la aplicación lo anota en el registro, pero no culpa al servicio.

Servidores de referencia y quórum

La aplicación valora el estado de la conexión conectándose en paralelo a los servidores de referencia: por defecto, al puerto 53 de 1.1.1.1, 8.8.8.8 y 9.9.9.9. Es el mismo establecimiento de una conexión TCP que con los servicios, con el mismo tiempo de espera. La aplicación no les envía consultas DNS.

Un servidor de referencia es de confianza si ha respondido al menos una vez desde que se abrió la aplicación (el intento actual también cuenta). El resultado de la valoración depende de los servidores de confianza:

ResultadoCuándoQué significa para los servicios
la conexión funcionahan respondido todos los servidores de confianzaun servicio que no responde puede recibir el estado «CAÍDO»
conexión inestableunos servidores de confianza han respondido y otros no«Sin red»: no se culpa a ningún servicio
sin conexiónno ha respondido ningún servidor de confianza«Sin red»

Algunas reglas más:

  • La falta de conexión de red (modo avión o cable desconectado) se detecta al instante, sin esperar a que se agoten los tiempos de espera.

  • Valoración común. Todos los servicios usan la misma valoración, válida durante 3 segundos. Así, dos servicios que dejan de responder en el mismo segundo no pueden recibir resultados contradictorios.

  • 30 segundos de protección. Cada valoración «inestable» o «sin conexión» inicia un periodo de 30 segundos en el que los servicios que no funcionan reciben el estado «Sin red» y no «CAÍDO».

  • El resultado «inestable» solo es posible cuando deja de responder un servidor que antes respondía. Por eso, la primera valoración tras abrir la aplicación da «la conexión funciona» si responde al menos un servidor.

Ejemplo: Wi-Fi inestable y una caída real

Un ejemplo con los ajustes predeterminados: un NAS en la dirección 192.168.1.50:445 que se comprueba cada 30 segundos (cada 10 segundos durante una caída), con un tiempo de espera de 5 segundos. Desde que se abrió la aplicación, los tres servidores de referencia ya han respondido al menos una vez (por ejemplo, en una comprobación fallida anterior), así que los tres son de confianza.

HoraQué ocurreResultado
10:00:00El NAS responde en 4 ms«En línea»
10:00:30El Wi-Fi pierde paquetes y el NAS no responde. Los servidores 1.1.1.1 y 9.9.9.9 responden; 8.8.8.8, noconexión inestable: «Sin red», entrada en el registro, sin incidente ni alarma
10:00:50El NAS sigue sin responder. Ya responden todos los servidores, pero no han pasado 30 segundos desde los problemas de conexiónsigue en «Sin red»
10:01:10El Wi-Fi vuelve a la normalidad y el NAS responde«En línea»
10:30:00Alguien desactiva el uso compartido de archivos en el NAS: el puerto 445 rechaza la conexión de inmediato. El segundo intento también falla, y todos los servidores de referencia responden antes y después de él«CAÍDO»: incidente, entrada en el registro, notificación con sonido y alarma repetida cada 60 segundos
10:30:10 en adelanteEl NAS se comprueba cada 10 segundossigue en «CAÍDO»
10:42:10El uso compartido vuelve a funcionar y el NAS responde«En línea»: incidente cerrado con una duración de 12m 10s, entrada en el registro y notificación de recuperación

En la versión 1.0.0, a las 10:00:30 habría bastado la respuesta de un solo servidor de referencia para dar la conexión por buena, y el NAS habría recibido un falso «CAÍDO».

Con qué rapidez se detecta una caída

  • Una conexión rechazada (el host funciona, pero el servicio de ese puerto está desactivado) se detecta casi al instante: «CAÍDO» aparece en la misma comprobación.

  • Un host que no responde en absoluto puede ocupar en una sola comprobación unos cuatro tiempos de espera, es decir, hasta unos 20 segundos: primer intento, valoración de la conexión, segundo intento y segunda valoración.

  • Por tanto, en el peor caso, desde que empieza la caída hasta el estado «CAÍDO» pasa el intervalo de comprobación más unos 20 segundos: con los ajustes predeterminados, unos 50 segundos.

  • Si ha habido problemas de conexión en los últimos 30 segundos, una caída real se notifica en la primera comprobación después de ese periodo.

Vigilancia de la propia conexión a Internet

Con independencia de los servicios, la aplicación puede vigilar la propia conexión a Internet. Se activa en Ajustes → Conexión a Internet: un interruptor ofrece una notificación y una entrada en el registro propias, y el otro guarda cada corte como incidente. Si alguno de los dos está activado, la conexión se comprueba cada 30 segundos y, durante un corte, cada 10 segundos. El resultado «inestable» no cuenta ni como corte ni como recuperación. Los detalles están en el capítulo Comprobación de Internet.

Funcionamiento en segundo plano

La supervisión se realiza en tu dispositivo, sin un servidor en la nube. Cuando la aplicación está cerrada o el dispositivo apagado, no se comprueba nada.

  • macOS, Windows, Linux: la aplicación supervisa mientras está abierta. En macOS y Windows, al cerrar la ventana esta se oculta en la barra de menús o en la bandeja del sistema, y en Linux se minimiza. La supervisión solo termina con la orden Salir.

  • Android: la supervisión la mantiene un servicio en primer plano con la notificación permanente «myNetWorking está supervisando». Desde la versión 1.1.0 es un servicio de uso especial (specialUse), al que no se aplica el límite diario de 6 horas que Android 15 impone a los servicios de sincronización de datos. Funciona mientras al menos un servicio tenga la supervisión activada. Después de reiniciar el teléfono hay que abrir la aplicación una vez.

  • iPhone y iPad: la supervisión completa solo funciona con la aplicación abierta, porque iOS detiene sus temporizadores en segundo plano. La aplicación pide al sistema una tarea de actualización en segundo plano como máximo cada 15 minutos, pero es iOS quien decide si la ejecuta y cuándo. En cada una de esas rondas, cada servicio activado se comprueba una vez, con la verificación completa, y los cambios pasan a los incidentes, al registro y a las notificaciones.

Más información en el capítulo Funcionamiento en segundo plano.

Dónde están los datos

La lista de servicios, los ajustes, los incidentes, el registro y los últimos estados se guardan como datos JSON en el almacén de preferencias del sistema, solo en tu dispositivo. La aplicación conserva hasta 300 incidentes y 500 entradas del registro; los elementos más antiguos se eliminan automáticamente. No hay cuentas ni sincronización, y la propia aplicación no hace copias en la nube; los datos solo pueden acabar en una copia de seguridad del dispositivo si está activada en el sistema. Encontrarás las rutas exactas en la página Instalación.

Privacidad desde el diseño

Esta es la lista completa de conexiones que establece la aplicación:

  1. Intentos de conexión TCP con cada servicio activado, que se cierran de inmediato sin transmitir datos.

  2. Resolución DNS de los nombres de host de tus servicios, a través del sistema operativo.

  3. Intentos de conexión TCP con los servidores de referencia: solo cuando falla la comprobación de un servicio o, si está activada la vigilancia de Internet, cada 30 segundos y, durante un corte de Internet, cada 10 segundos (valor predeterminado del ajuste Intervalo de comprobación durante la caída).

  4. Solo en las versiones descargadas de nci.pl y solo al hacer clic en Buscar actualizaciones: una única petición HTTPS del archivo con el número de la versión más reciente.

La aplicación no tiene analítica, telemetría, informes de fallos ni anuncios. Las notificaciones se generan localmente. Ten en cuenta, eso sí, que los operadores de los hosts supervisados y de los servidores de referencia ven los intentos de conexión desde tu dirección IP, como en cualquier conexión.

Cómo se publican las versiones

Todas las versiones se crean a partir del mismo código fuente (Flutter).

  • Tiendas: las versiones del Mac App Store, App Store, Microsoft Store y Google Play pasan la revisión de la tienda, que las firma con su certificado, las distribuye y las actualiza.

  • macOS, archivo .dmg: la aplicación está firmada con un certificado Developer ID, funciona en el entorno aislado (sandbox) del sistema y está notarizada por Apple. Por eso Gatekeeper la reconoce como verificada y solo pregunta si quieres abrir una aplicación descargada de Internet.

  • Linux: los paquetes .deb y .rpm para x64 y ARM64 los genera automáticamente un servicio de integración continua. Antes de publicarlos, se instalan en sistemas limpios y se ejecutan a modo de prueba.

  • Junto a los archivos de descarga publicamos las sumas de verificación SHA-256.

  • Las versiones de este sitio solo se diferencian de las de las tiendas por el botón Buscar actualizaciones y por el apartado que lo describe en la información de privacidad.