#!/bin/sh CLIENT_IP="$REMOTE_ADDR" # Pass-through if openNDS already provided a fas parameter if [ -n "$QUERY_STRING" ] && echo "$QUERY_STRING" | grep -q "fas="; then printf "Status: 302 Found\r\n" printf "Location: /index.html?%s\r\n\r\n" "$QUERY_STRING" exit 0 fi CLIENT_MAC="" if [ -n "$CLIENT_IP" ]; then CLIENT_MAC=$(awk -v ip="$CLIENT_IP" '$1 == ip {print $4}' /proc/net/arp 2>/dev/null) if [ -z "$CLIENT_MAC" ] \vert{}\vert{} [ "$CLIENT_MAC" = "00:00:00:00:00:00" ]; then CLIENT_MAC=$(ip neigh show "$CLIENT_IP" 2>/dev/null | awk '{print $5}' | head -n 1) fi fi PAYLOAD="clientip=${CLIENT_IP}, clientmac=${CLIENT_MAC}, gatewayname=Guest%20WiFi" B64_FAS=$(printf '\%s' "$PAYLOAD" | base64 | tr -d '\r\n') printf "Status: 302 Found\r\n" printf "Location: /index.html?fas=%s\r\n\r\n" "$B64_FAS" exit 0