Add email sending

This commit is contained in:
HackerNCoder 2021-09-27 02:18:20 +00:00
parent c548a53562
commit ecd8a3ced6

View file

@ -1,7 +1,9 @@
import requests import requests
import os import os
import datetime
import json import json
import jsondiff as jd import jsondiff as jd
import smtplib
from jsondiff import diff from jsondiff import diff
old_file = "onionoo_details" old_file = "onionoo_details"
@ -15,20 +17,29 @@ old_text = json.loads(old_text)["relays"]
diff1 = diff(old_text, relays, syntax='symmetric') diff1 = diff(old_text, relays, syntax='symmetric')
status = """From: relay status <relaystatus@encryptionin.space>
To: relaystatus@lists.encryptionin.space
Subject: Relay Status """ + datetime.datetime.now(datetime.utc).strftime('%Y-%m-%d %H') + """\n\n"""
for new_relay in diff1[jd.insert]: for new_relay in diff1[jd.insert]:
exit = "no" exit = "no"
if new_relay[1]["exit_policy"][0] != "reject *:*": if new_relay[1]["exit_policy"][0] != "reject *:*":
exit = "yes" exit = "yes"
print("New relay: \"" + new_relay[1]["nickname"], "\", fingerpint: " + new_relay[1]["fingerprint"] + ", potential exit: " + exit + ", effective family size: " + str(len(new_relay[1]["effective_family"]))) status = status + "New relay: \"" + new_relay[1]["nickname"], "\", fingerpint: " + new_relay[1]["fingerprint"] + ", potential exit: " + exit + ", effective family size: " + str(len(new_relay[1]["effective_family"])) + "\n"
for updated_relay in diff1: for updated_relay in diff1:
if updated_relay != jd.insert and updated_relay != jd.delete: if updated_relay != jd.insert and updated_relay != jd.delete:
if "flags" in diff1[updated_relay]: if "flags" in diff1[updated_relay]:
relay = old_text[updated_relay] if "Exit" in diff1[updated_relay]["flags"][jd.insert]:
new_flags = "" relay = old_text[updated_relay]
for flag in diff1[updated_relay]["flags"][jd.insert]: new_flags = ""
new_flags = new_flags+flag[1]+"," for flag in diff1[updated_relay]["flags"][jd.insert]:
print("\"" + relay["nickname"] + "\" (" + relay["fingerprint"] + ") got new flag(s): \"" + new_flags + "\"") new_flags = new_flags+flag[1]+","
status = status + "\"" + relay["nickname"] + "\" (" + relay["fingerprint"] + ") got new flag(s): \"" + new_flags + "\"\n"
with open(old_file, "w") as output: with open(old_file, "w") as output:
output.write(r.text) output.write(r.text)
try:
smtp = smptlib.SMTP('localhost')
smtp.sendmail('relaystatus@encryptionin.space', ['relaystatus@lists.encryptionin.space'],)