Kdysi jsem to zkoušel polo-ručně - php skriptem jsem stáhl graylist, přeformátoval ho na hromadu příkazů /ip firewall address-list add list=turris address=... a výsledek jsem potom pustil v mikrotiku. Zkoušle jsem to na nějakém malém domácím routeru a ten se při té operaci docela zapotil. Navíc graylist obsahuje hlavně adresy které útočí a to na routeru který neměl veřejnou adresu prostě nemělo smysl.
V PHP si to můžeš napsat s použitím Mikrotik API - ideálně pomocí getAll vyčteš stávající address list, zjistíš co je do něj potřeba přidat a co odebrat a pak ho pomocí metod add/remove upravíš
https://github.com/pear2/Net_RouterOS/w ... basics#add