As far as I know, Sky Broadband don't offer a static IP address. You're going to want a way of keeping track of your externally available dynamic IP, so you can access your machine from outside of your network.
The python script below scrapes your Sky router's status page for your current IP and emails it your Gmail account.
Remember to change the Gmail username and password variables from '????????' to your Gmail authentication credentials. Run this script periodically as a cron job, and as long as you have Gmail access you'll know your IP.
#!/usr/bin/python import smtplib from email.mime.text import MIMEText import urllib2 import re # router login page router_login = "http://192.168.0.1" # router status url router_status = "http://192.168.0.1/sky_router_status.html" # router logout page router_logout = "http://192.168.0.1/sky_logout.html" # default sky router username and password router_username = "admin" router_password = "sky" # gmail email address email = "????????@gmail.com" # gmail password email_password = "????????" # gmail smtp settings server = "smtp.gmail.com" port = 587 # email subject subject = "Server IP" # login to router passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, router_login, router_username, router_password) authhandler = urllib2.HTTPBasicAuthHandler(passman) opener = urllib2.build_opener(authhandler) urllib2.install_opener(opener) urllib2.urlopen(router_login) # get the first ip on the status page ip = urllib2.urlopen(router_status).read() ip = re.findall(r"[0-9]+(?:\.[0-9]+){3}", ip) ip = ip[0] # logout of router urllib2.urlopen(router_logout) # check for last ip address f = open(".last_ip", "a+") f.seek(0, 0) last_ip = f.readline() # has ip changed if ip != last_ip: # store the new ip f.truncate(0) f.write(ip) session = smtplib.SMTP(server, port) session.ehlo() session.starttls() session.login(email, email_password) body = "http://" + ip msg = MIMEText(body) msg['Subject'] = subject msg['From'] = email msg['To'] = email session.sendmail(email, email, msg.as_string()) session.quit() f.close()