| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/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
|