Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python2
- # -*- coding: utf-8 -*-
- import os
- import sys
- import time
- import smtplib
- import getpass
- from email.MIMEMultipart import MIMEMultipart
- from email.MIMEText import MIMEText
- #${gpg --decrypt mdp_crypte.asc}
- def send(ip, pswd):
- #pswd = os.popen("gpg --decrypt mdp_crypte.asc").read() #sys.argv[1]
- sender = 'quentin.bineau@gmail.com'
- receveur = ['quentin.bineau@gmail.com']
- SMTP_Server = 'smtp.gmail.com'
- SMTP_Port = 587
- body = 'Ip Public : %s' % (ip)
- msg = MIMEMultipart()
- msg['From'] = sender
- msg['To'] = receveur
- Subject = 'Ip Public'
- mailserver = smtplib.SMTP(SMTP_Server, SMTP_Port)
- mailserver.ehlo()
- mailserver.starttls()
- mailserver.ehlo()
- mailserver.login(sender, pswd)
- msg = 'Subject : %s\n\n%s' % (Subject, body)
- mailserver.sendmail(sender, receveur, msg)
- mailserver.quit()
- def ip_public():
- pswd = getpass.getpass("Mot de passe mail:")
- while 1:
- #Enregistrement de l'ancienne IP Public
- if os.path.isfile("ip_ancienne"):
- file_ip = open("ip_ancienne", "r")
- ip_ancienne = file_ip.read()
- file_ip.close()
- else:
- print ("Fichier ip_ancienne n'existe pas")
- ip_ancienne = 0
- print "ip ancienne : " + str(ip_ancienne)
- #Commande de recup de l'adresse IP Public
- os.system("./ip_public")
- #Lecture de l'adresse ip actuelle
- if os.path.isfile("ip_actuelle.txt"):
- with open("ip_actuelle.txt", "r") as f:
- ip = f.read()
- if ip == "":
- ip = -1
- f.close()
- else:
- print "Fichier ip_actuelle.txt n'existe pas"
- return -2
- #Si les deux IP sont différentes, il y a eu un changement d'ip
- # Si Erreur lors de curl dans le script ip_public
- print "Ip: " + str(ip)
- if ip == -1:
- print "Erreur lors du chargement de l'adresse"
- elif ip != ip_ancienne:
- #Changement dans le fichier
- print ("Ip différente, envoie de la nouvelle IP")
- file_ip = open("ip_ancienne", "w")
- file_ip.write(ip)
- send(ip,pswd)
- time.sleep(300)
- if (len(sys.argv))<1:
- print "option argument : mdp crypté\n$(commande -option fichier.asc)"
- else:
- ip_public()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement