Okay, not sure if I should post it here, but, is there a way to easily refresh the MAC addresses? Right now it first has to go through each MAC address currently in memory before it refreshes the MAC list after you modified /etc/hostapd/mac_nintendozone MAC address list file thingy. I have a hotfix where I can run a certain script that will create a new file in the temporary folder so that the main script recognizes it has to break off the current loop when taking a new MAC address, which I assume works, I have not tested it yet, but I have no reason to believe it won't work, but still.
Also, it works perfect for me at the moment, especially after a few small modifications I made where you can also add a description of the current MAC address. Heck, here's my modifications:
https://gist.github.com/GaryCXJk/2ffcfa40e882bb00ac64
I've added four files to github gist, mac_nintendozone, nintendozone.sh and nz_refresh.sh, which should be added to /etc/hostapd, and index.php and refresh.php, which should be added to /var/www, but I assume you already knew that. Basically, what I changed in the web files is I added a button that refreshes the MAC addresses list thing, as well as added something to both display all available MAC addresses in the order shown in the file, as well as a list that shows the addresses in the order it will read them.
nz_refresh.sh is basically a script that creates a file that tells nintendozone.sh to refresh the MAC list.
Now, there are quite a few things I added to nintendozone.sh. First, something to allow easy MAC refreshing without having to reboot. I also added something that writes the list to a file, so that it can be read by index.php.
Next, I modified the script to read descriptions for each MAC address. It will read the MAC address first, then the SSID, then the description. However, I am aware that SSIDs can contain spaces, so I've also added a check where you can add double quotes to define a string with a space. This only has to be done for the description, and you can escape a double quote to include it in the string with a slash, and use double slashes to escape a slash. This is why I also added mac_nintendozone.
No credits required if used.