Gérer les @IP dynamique sans 'noIP' ou 'dyndns'

edited février 2014 in Bons plans
En m'inspirant de ce tuto: http://forum.idleman.fr/discussion/141/yana-accessible-par-internet-#Item_26 et avec les aides de Guillaume et Xavier (Ils se reconnaîtront...merci encore! ;-) ) voici un script qui permet d'envoyer un mail à chaque changement d'IP dynamique.

# -*-coding:utf-8 -*

#import des librairies
import urllib
import re
import time
import smtplib

#Import du module texte
from email.MIMEText import MIMEText

#Definition de l'adresse pour recuperer son IP

#on stocke l'adresse IP dans la variable 'request'
request=urllib.urlopen(url).read()

#l'IP actuelle est 'theIP'
theIP=re.findall(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",request)

#la nouvelle IP est 'newIP'
newIP=re.findall(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",request)

#Création d'une boucle infinie
while 1:
while newIP==theIP: #creation d'une boucle tant que la nouvelle IP est égale a l'ancienne IP
print('IP initiale : ', theIP)
time.sleep(1800) #pause de 10 secondes
try:
request=urllib.urlopen(url).read() #récupération de l'adresse en cours
except Exception:
print "La Box est down !" #gestion d'erreur en cas de reboot de Box
newIP=re.findall(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",request)
print('IP en cours : ', newIP)
theIP=newIP #recuperation de la nouvelle IP comme reference
# Construction du message
email = MIMEText('Bonjour ! \n\n' + str(theIP) + ' est la nouvelle adresse...')
email['From']    = 'émetteur@toto.com'
email['To']      = 'récepteur@toto.fr'
email['Subject'] = 'YANA change d\'IP !'

print ('envoi du message')
#Envoi du message
server = smtplib.SMTP('smtp.orange.fr')
server.sendmail('émetteur@toto.com', 'récepteur@toto.fr', email.as_string())
server.quit()
Sign In or Register to comment.