DawOS Agent¶
Broadband management, simplified.
What is DawOS Agent?¶
DawOS Agent is an open-source broadband network gateway management daemon built on FastAPI. It wraps accel-cmd, nft, ip, tc, vtysh, and other Linux system utilities as 170 HTTP endpoints across 38 router modules, giving you full control of your accel-ppp PPPoE infrastructure through a single REST API.
The agent runs as a lightweight single-process daemon (64 MB RSS at idle) alongside accel-ppp on the same node. It provides complete remote management without direct SSH access.
Features¶
- PPPoE lifecycle -- sessions, rate-limiting, PADO delay, MAC filtering
- Network management -- interfaces, VLANs, routes, DNS, DHCP, VRRP, LLDP
- Firewall -- nftables rules, NAT/masquerade, zone firewall, conntrack
- Dynamic routing -- BGP, OSPF, RIP, BFD status via FRR/vtysh
- Config management -- checkpoint, diff, rollback, guarded apply with auto-revert
- Monitoring -- Prometheus metrics endpoint, health/readiness probes, WebSocket event streaming
- Security -- API-key auth with RBAC (viewer/operator/admin), rate limiting, systemd sandboxing
- Observability -- structured JSON logging, request ID tracing, audit log, webhook notifications
- Automation -- operational playbooks, bulk operations, cron-like scheduler
- Streaming -- SSE endpoints for live traffic and log tailing
Quick Example¶
# Install from PyPI
pip install dawos-agent
# Run with an API key
DAWOS_API_KEY=your-secret dawos-agent
# Health check (public)
curl http://localhost:8470/health
# List sessions (requires API key)
curl -H "X-API-Key: your-secret" http://localhost:8470/api/v1/sessions/list
Requirements¶
- Python 3.9+
- Linux (Debian 11+ / Ubuntu 22.04+)
- accel-ppp — the installer script builds it from source automatically; if installing via pip you must install accel-ppp yourself first
Install¶
Recommended: installer script¶
curl -sL https://raw.githubusercontent.com/Cepat-Kilat-Teknologi/dawos-agent/main/install.sh | sudo bash
Handles everything: builds accel-ppp, creates system user, sets up systemd, sudoers, conntrack, and file ownership.
Via pip (accel-ppp must be installed first)¶
See Installation for accel-ppp build instructions and manual system setup.
Companion CLI¶
For a rich terminal experience, use dawos-cli:
pip install dawos-cli
dawos profile add prod --url http://bng-node:8470 --key YOUR_KEY
dawos status
dawos session list
dawos top # live dashboard
Quality¶
| Metric | Value |
|---|---|
| Tests | 1410 passing |
| Coverage | minimum 90% |
| Pylint | 10.00/10 |
| Black | Formatted |
| Ruff | Zero violations |
| Vulnerabilities | 0 known (pip-audit) |