Here's one way to fix this problem, as it appears the islayer has stopped running the "FindMyIP" service:
Open this file in a code editor:
~/Library/Widgets/iStat\ Pro.wdgt/scripts/core.js
find this function:
function getExtIP(){
Replace this line:
ipURL = 'http://whatsmyip.islayer.com/?random='+new Date().getTime();
with this line:
ipURL = 'http://www.whatsmyip.us/showipsimple.php?random='+new Date().getTime();
Just above this "if" statement:
if(extIP.length < 20 && ipConnection.status == 200 && extIP.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)){
Add these 2 lines:
extIP_len = extIP.length;
extIP = extIP.substring(16, (extIP_len - 3));
so that section would now appear:
extIP = ipConnection.responseText;
extIP_len = extIP.length;
extIP = extIP.substring(16, (extIP_len - 3));
if(extIP.length < 20 && ipConnection.status == 200 && extIP.match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)){
Note that you will have to restart the iStat widget by either using "-" and "+" to re-add it, or just hold down Command-R while clicking on a Widget. They'll spin like a black hole and restart.