Advertisement
Guest User

Untitled

a guest
Apr 27th, 2015
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. #! /usr/bin/env python2
  2. # -*- coding: utf-8 -*-
  3.  
  4. import os
  5. import sys
  6. import time
  7. import smtplib
  8. import getpass
  9. from email.MIMEMultipart import MIMEMultipart
  10. from email.MIMEText import MIMEText
  11.  
  12. #${gpg --decrypt mdp_crypte.asc}
  13.  
  14. def send(ip, pswd):
  15. #pswd = os.popen("gpg --decrypt mdp_crypte.asc").read() #sys.argv[1]
  16. sender = 'quentin.bineau@gmail.com'
  17. receveur = ['quentin.bineau@gmail.com']
  18. SMTP_Server = 'smtp.gmail.com'
  19. SMTP_Port = 587
  20.  
  21. body = 'Ip Public : %s' % (ip)
  22. msg = MIMEMultipart()
  23. msg['From'] = sender
  24. msg['To'] = receveur
  25. Subject = 'Ip Public'
  26.  
  27. mailserver = smtplib.SMTP(SMTP_Server, SMTP_Port)
  28. mailserver.ehlo()
  29. mailserver.starttls()
  30. mailserver.ehlo()
  31. mailserver.login(sender, pswd)
  32. msg = 'Subject : %s\n\n%s' % (Subject, body)
  33. mailserver.sendmail(sender, receveur, msg)
  34. mailserver.quit()
  35.  
  36. def ip_public():
  37. pswd = getpass.getpass("Mot de passe mail:")
  38. while 1:
  39. #Enregistrement de l'ancienne IP Public
  40. if os.path.isfile("ip_ancienne"):
  41. file_ip = open("ip_ancienne", "r")
  42. ip_ancienne = file_ip.read()
  43. file_ip.close()
  44. else:
  45. print ("Fichier ip_ancienne n'existe pas")
  46. ip_ancienne = 0
  47.  
  48. print "ip ancienne : " + str(ip_ancienne)
  49. #Commande de recup de l'adresse IP Public
  50. os.system("./ip_public")
  51.  
  52. #Lecture de l'adresse ip actuelle
  53. if os.path.isfile("ip_actuelle.txt"):
  54. with open("ip_actuelle.txt", "r") as f:
  55. ip = f.read()
  56. if ip == "":
  57. ip = -1
  58. f.close()
  59. else:
  60. print "Fichier ip_actuelle.txt n'existe pas"
  61. return -2
  62.  
  63. #Si les deux IP sont différentes, il y a eu un changement d'ip
  64. # Si Erreur lors de curl dans le script ip_public
  65. print "Ip: " + str(ip)
  66. if ip == -1:
  67. print "Erreur lors du chargement de l'adresse"
  68. elif ip != ip_ancienne:
  69. #Changement dans le fichier
  70. print ("Ip différente, envoie de la nouvelle IP")
  71. file_ip = open("ip_ancienne", "w")
  72. file_ip.write(ip)
  73. send(ip,pswd)
  74. time.sleep(300)
  75. if (len(sys.argv))<1:
  76. print "option argument : mdp crypté\n$(commande -option fichier.asc)"
  77. else:
  78. ip_public()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement