ValwispDocs
DesarrolladoresApps del monorepo

valwisp-agent

Bridge Node.js/TypeScript entre la nube y la LAN del ISP — WebSocket saliente, sin puertos abiertos.

Para la guía de instalación y operación, ver Implementadores → Agente Local. Esta página cubre el ángulo de desarrollo.

Stack

Node.js + TypeScript + socket.io-client + node-routeros + net-snmp.

Estructura del código

  • src/agent.ts — ciclo de vida de la conexión: auth, heartbeat, reconexión con backoff.
  • src/config.ts — validación de env vars (AGENT_TOKEN requerido, proceso muere si falta).
  • src/drivers/routeros.driver.ts, snmp.driver.ts, network.driver.ts (más mikrowisp.driver.ts y zte.driver.ts).

Comandos

npm run start:dev   # tsx watch src/main.ts
npm run build        # tsc → dist/
npm start             # node dist/main.js

Docker

docker run -d --network host --restart always \
  -e AGENT_TOKEN=xxx -e CLOUD_URL=wss://api.valwisp.com \
  --name valwisp-agent valwisp/agent

Imagen base node:20-alpine + iputils/busybox-extras (para ping/traceroute). --network host es obligatorio para alcanzar dispositivos de la LAN.

Lado cloud

El contrapunto en la API es el módulo agent-gateway (src/modules/agent-gateway/) — Socket.io gateway en el path /agent-ws, dispatch de comandos, y el endpoint público GET /agent/downloads que sirve el manifiesto de instaladores del Agent Desktop.

On this page