|
|
пре 2 месеци | |
|---|---|---|
| etc | пре 2 месеци | |
| server | пре 2 месеци | |
| usr | пре 2 месеци | |
| README.md | пре 2 месеци |
Lightweight event forwarder for OpenWrt routers to central server
Lightweight bash/lua scripts that listen to OpenWrt events (WiFi, DHCP, network) and forward them to a central server via HTTP.
┌─────────────────┐ HTTP/WebSocket ┌─────────────────┐
│ OpenWrt │ ────────────────────────► │ Central Server │
│ Router │ │ │
│ │ │ - Receive │
│ ubus events │ │ - Store │
│ hostapd_cli │ │ - Notify │
│ dnsmasq │ │ - Dashboard │
└─────────────────┘ └─────────────────┘
| Event Type | Source | Payload |
|---|---|---|
| WiFi connect | hostapd | client MAC, signal |
| WiFi disconnect | hostapd | client MAC, reason |
| DHCP lease | dnsmasq | IP, MAC, hostname |
| Interface up/down | netifd | device, state |
| Network changes | ubus | config changes |
| File | Purpose |
|---|---|
etc/init.d/event-forwarder |
Main daemon startup script |
etc/config/event-forwarder |
UCI configuration |
usr/sbin/event-forwarder |
Main event listener script |
usr/lib/rpcd/event-forwarder |
ubus RPC plugin (optional) |
README.md |
This file |
# Copy to OpenWrt router
scp -r etc root@router:/tmp/
ssh router "mv /tmp/etc/* /etc/"
# Enable service
/etc/init.d/event-forwarder enable
/etc/init.d/event-forwarder start
# Check logs
logread -f -e event-forwarder
# Edit config on router
uci set event-forwarder.server.url='https://your-server.com/api/events'
uci set event-forwarder.server.token='your-secret-token'
uci set event-forwarder.general.interval='60'
uci commit event-forwarder
/etc/init.d/event-forwarder restart
Expected endpoint:
POST /api/events
Headers: Authorization: Bearer <token>
Content-Type: application/json
{
"router_id": "router-hostname-or-id",
"event_type": "wifi_connect|wifi_disconnect|dhcp_lease|interface_up|config_change",
"payload": {
"mac": "AA:BB:CC:DD:EE:FF",
"ip": "192.168.1.100",
"hostname": "device-name",
"signal": -45,
"device": "wlan0"
},
"timestamp": "2026-06-04T18:00:00Z"
}
/etc/config/event-forwarderMIT