Перед регой отправляешь гет запрос на урл ip.bablosoft.com. Сохраняешь ответ с ip в переменную. Дальше в цикле while true отправляешь запросы на тот же урл и проверяешь, если ip сменился, то выходишь из цикла.
Проблемы будут такие:
- большую часть времени скрипт будет простаивать, ожидая нового айпишника
- часто сервер ip.bablosoft.com не отвечает. нужно писать дополнительные проверки ("игнорировать ошибки") и регуляркой проверять что отдался именно ip.
Можно чуть усложнить, и проверять перед регой ip, дальше писать его в базу например в формате прокси:ip. И при следующей реге уже проверять не сменился ли ip относительно предыдущей.