01-wifi 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/sh
  2. # WiFi hotplug script - triggers on wireless events
  3. # Install to /etc/hotplug.d/wireless/
  4. SERVER_URL="${SERVER_URL:-http://163.245.193.47:3843}"
  5. ROUTER_ID="${ROUTER_ID:-$(cat /proc/sys/kernel/hostname)}"
  6. log() {
  7. logger -t client2server-hotplug -p user.info "$1"
  8. }
  9. send_event() {
  10. local event_type="$1"
  11. local data="$2"
  12. json="{\"router_id\":\"$ROUTER_ID\",\"event\":\"$event_type\",\"data\":$data}"
  13. curl -s -X POST "$SERVER_URL/api/events" \
  14. -H "Content-Type: application/json" \
  15. -d "$json" 2>/dev/null
  16. log "Sent: $event_type"
  17. }
  18. # Handle WiFi client association
  19. case "$ACTION" in
  20. associate)
  21. if [ -n "$MACADDR" ]; then
  22. log "WiFi CONNECTED: $MACADDR"
  23. send_event "wifi_connected" "{\"mac\":\"$MACADDR\",\"interface\":\"$INTERFACE\"}"
  24. fi
  25. ;;
  26. disassociate)
  27. if [ -n "$MACADDR" ]; then
  28. log "WiFi DISCONNECTED: $MACADDR"
  29. send_event "wifi_disconnected" "{\"mac\":\"$MACADDR\",\"interface\":\"$INTERFACE\"}"
  30. fi
  31. ;;
  32. esac