#!/bin/sh # DHCP hotplug script - triggers on DHCP events # Install to /etc/hotplug.d/dhcp/ SERVER_URL="${SERVER_URL:-http://163.245.193.47:3843}" ROUTER_ID="${ROUTER_ID:-$(cat /proc/sys/kernel/hostname)}" log() { logger -t client2server-hotplug -p user.info "$1" } send_event() { local event_type="$1" local data="$2" json="{\"router_id\":\"$ROUTER_ID\",\"event\":\"$event_type\",\"data\":$data}" curl -s -X POST "$SERVER_URL/api/events" \ -H "Content-Type: application/json" \ -d "$json" 2>/dev/null log "Sent: $event_type" } # Handle DHCP events case "$ACTION" in add) if [ -n "$MAC" ] && [ -n "$IP" ]; then log "DHCP NEW: $MAC -> $IP" send_event "dhcp_new" "{\"mac\":\"$MAC\",\"ip\":\"$IP\",\"hostname\":\"$HOSTNAME\"}" fi ;; del|remove) if [ -n "$MAC" ] && [ -n "$IP" ]; then log "DHCP RELEASE: $MAC -> $IP" send_event "dhcp_release" "{\"mac\":\"$MAC\",\"ip\":\"$IP\"}" fi ;; esac