Skip to content

Túneles de agentes

gateway.tunnel.agents

Peeklio es un gateway de proxy inverso integrado en Sapsan. Un agente ligero, instalado junto a la cámara (detrás de NAT), se conecta por sí mismo a Sapsan y mantiene un túnel; a través de ese túnel Sapsan toma el video y el tráfico del dispositivo como si estuviera en la red local.

Configuración del gateway

rproxy:
  streampoint_key: <clave para conexiones streampoint>
  endpoint_auth_url: http://backend.example.com/agent-auth
  agents:
  - agent_id: a1b2c3
    password: <contraseña del agente>
    salt: <sal>
    streampoint_url: http://this-server:5080

Los agentes se pueden autorizar mediante la lista local agents o un backend externo endpoint_auth_url. Si se define endpoint_auth_url, se usa el backend y se ignora agents. Sin backend, una lista agents no vacía permite la autorización local. El modo «solo streampoint», sin registrar agentes nuevos, se aplica cuando no se configura ni un backend ni credenciales locales de agentes.

En el lado del agente se fijan la dirección del servidor, el agent_id, la contraseña, el intervalo de pings y una ACL de hosts — la lista de direcciones a las que se puede acceder a través de este agente; todo lo demás se rechaza.

El estado de la pasarela se conserva al recargar la configuración. Los cambios de streampoint_key o endpoint_auth_url se aplican al recargar y reconectan las sesiones de control de los agentes con los nuevos ajustes.

Captura de un stream a través de un agente

En la entrada de un stream se indica via_agent con el identificador del agente:

streams:
  - name: cam-behind-nat
    inputs:
    - rtsp:
        url: rtsp://admin:password@192.168.1.10/stream0
        via_agent: "agent://a1b2c3"

La dirección en url es la dirección local de la cámara en la red del agente. El handshake RTSP y el stream van por el túnel.

Comportamiento ante errores

Los errores de conexión a través de un agente son distinguibles: puerto cerrado (connection refused), host que no está en la ACL del agente (permission denied), nombre que no resuelve. El servidor puede enviar de forma remota a un agente los comandos reset y reboot.

Monitorización de agentes

GET /streamer/api-v4/rproxy/streampoint-agents devuelve contadores por cada agente: pings, bytes en ambas direcciones, intentos/aperturas/conexiones actuales. Véase el Admin API.

Note

La configuración del propio agente y la emisión de claves quedan fuera del alcance de este manual. Estas operaciones están estrechamente integradas con Flussonic Watcher y se realizan mediante la solución suministrada.