Gateway Peeklio (rproxy)¶
O Peeklio é um gateway de proxy reverso embutido no Sapsan. Um agente leve, instalado ao lado da câmera (atrás do NAT), mesmo se conecta ao Sapsan e mantém um túnel; por esse túnel o Sapsan busca o vídeo e o tráfego do dispositivo como se ele estivesse na rede local.
Configuração do gateway¶
rproxy:
streampoint_key: <chave para conexões streampoint>
endpoint_auth_url: http://backend.example.com/agent-auth
agents:
- agent_id: a1b2c3
password: <senha do agente>
salt: <sal>
streampoint_url: http://this-server:5080
Os agentes podem ser autorizados de duas formas: com uma lista local agents na configuração ou com um backend externo endpoint_auth_url. Sem endpoint_auth_url o gateway funciona no modo «só streampoint» — aceita túneles, mas não registra agentes novos.
No lado do agente são definidos o endereço do servidor, o agent_id, a senha, o intervalo de pings e uma ACL de hosts — a lista de endereços que podem ser alcançados por meio deste agente; todo o resto é recusado.
Warning
O estado do gateway sobrevive às recargas de configuração (os agentes não caem no SIGHUP), mas trocar streampoint_key / endpoint_auth_url exige reiniciar o processo.
Captura de um stream por um agente¶
Na entrada de um stream indica-se via_agent com o identificador do agente:
streams:
- name: cam-behind-nat
inputs:
- rtsp:
url: rtsp://admin:password@192.168.1.10/stream0
via_agent: "agent://a1b2c3"
O endereço em url é o endereço local da câmera na rede do agente. O handshake RTSP e o stream passam pelo túnel.
Comportamento diante de erros¶
Os erros de conexão por meio de um agente são distinguíveis: porta fechada (connection refused), host fora da ACL do agente (permission denied), nome que não resolve. O servidor pode enviar remotamente a um agente os comandos reset e reboot.
Monitoramento de agentes¶
GET /streamer/api-v4/rproxy/streampoint-agents traz contadores por agente: pings, bytes nos dois sentidos, tentativas/aberturas/conexões atuais. Veja o Admin API.
Note
TODO: instalação e configuração do próprio agente (pacote rproxy-agent, agent.toml), emissão de chaves.