Clean up relaystatus.py
This commit is contained in:
parent
f64531d856
commit
16171c2489
|
@ -3,72 +3,26 @@ import re
|
||||||
import os
|
import os
|
||||||
import datetime
|
import datetime
|
||||||
import json
|
import json
|
||||||
#import jsondiff as jd
|
|
||||||
import smtplib
|
import smtplib
|
||||||
#from jsondiff import diff
|
|
||||||
|
|
||||||
old_file = "onionoo_details"
|
|
||||||
|
|
||||||
url = "https://onionoo.torproject.org/details"
|
url = "https://onionoo.torproject.org/details"
|
||||||
r = requests.get(url)
|
r = requests.get(url)
|
||||||
relays = json.loads(r.content)["relays"]
|
relays = json.loads(r.content)["relays"]
|
||||||
|
|
||||||
#sorted_relays = sorted(relays, key=lambda x : x['nickname'], reverse=True)
|
|
||||||
|
|
||||||
#old_text = open(old_file, "r").read()
|
|
||||||
#old_text = json.loads(old_text)["relays"]
|
|
||||||
|
|
||||||
#sorted_old = sorted(old_text, key=lambda x : x['nickname'], reverse=True)
|
|
||||||
|
|
||||||
email = "From: relay status <relaystatus@encryptionin.space>\nTo: relaywatch@lists.encryptionin.space\nSubject: Relay Status " + datetime.datetime.now(datetime.timezone.utc).strftime('%Y-%m-%d %H') + "\n\n"
|
email = "From: relay status <relaystatus@encryptionin.space>\nTo: relaywatch@lists.encryptionin.space\nSubject: Relay Status " + datetime.datetime.now(datetime.timezone.utc).strftime('%Y-%m-%d %H') + "\n\n"
|
||||||
|
|
||||||
status = ""
|
status = ""
|
||||||
|
|
||||||
#diff takes too long
|
|
||||||
#print("beginning diff " + datetime.datetime.now().strftime("%H-%M-%S"))
|
|
||||||
#diff1 = diff(old_text, relays, syntax='symmetric')
|
|
||||||
#print("done diffing " + datetime.datetime.now().strftime("%H-%M-%S"))
|
|
||||||
|
|
||||||
#print("starting diff")
|
|
||||||
newVersions = 0
|
newVersions = 0
|
||||||
|
|
||||||
for new_relay in relays:
|
for new_relay in relays:
|
||||||
if datetime.datetime.strptime(new_relay["first_seen"], "%Y-%m-%d %H:%M:%S") > (datetime.datetime.utcnow() - datetime.timedelta(hours=1)):
|
if datetime.datetime.strptime(new_relay["first_seen"], "%Y-%m-%d %H:%M:%S") > (datetime.datetime.utcnow() - datetime.timedelta(hours=1)):
|
||||||
#added_relays += new_relay[1]["fingerprint"] + "\n"
|
|
||||||
exit = "no"
|
exit = "no"
|
||||||
if new_relay["exit_policy"][0] != "reject *:*":
|
if new_relay["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"])) + ", first seen: " + new_relay[1]["first_seen"] + "\n")
|
|
||||||
status += "New relay: \"" + new_relay["nickname"] + "\", fingerprint: " + new_relay["fingerprint"] + ", potential exit: " + exit + ", effective family size: " + str(len(new_relay["effective_family"])-1) + "\n"
|
status += "New relay: \"" + new_relay["nickname"] + "\", fingerprint: " + new_relay["fingerprint"] + ", potential exit: " + exit + ", effective family size: " + str(len(new_relay["effective_family"])-1) + "\n"
|
||||||
|
|
||||||
if re.search("0.3.5.17|0.4.5.11", new_relay["platform"], re.IGNORECASE):
|
if re.search("0.3.5.17|0.4.5.11", new_relay["platform"], re.IGNORECASE):
|
||||||
newVersions += 1
|
newVersions += 1
|
||||||
#if jd.delete in diff1:
|
|
||||||
# for deleted_relay in diff1[jd.delete]:
|
|
||||||
# #deleted_relays += deleted_relay[1]["fingerprint"] + "\n"
|
|
||||||
# print("Deleted relay: \"" + deleted_relay[1]["nickname"] + "\", fingerpint: " + deleted_relay[1]["fingerprint"] + "\n")
|
|
||||||
# status += "Deleted relay: \"" + deleted_relay[1]["nickname"] + "\", fingerpint: " + deleted_relay[1]["fingerprint"] + "\n"
|
|
||||||
|
|
||||||
#for updated_relay in diff1:
|
|
||||||
# if updated_relay != jd.insert and updated_relay != jd.delete:
|
|
||||||
# try:
|
|
||||||
# if "flags" in diff1[updated_relay]:
|
|
||||||
# if jd.insert in diff1[updated_relay]["flags"]:
|
|
||||||
# if "Exit" in diff1[updated_relay]["flags"][jd.insert]:
|
|
||||||
# relay = old_text[updated_relay]
|
|
||||||
# new_flags = ""
|
|
||||||
# for flag in diff1[updated_relay]["flags"][jd.insert]:
|
|
||||||
# new_flags = new_flags+flag[1]+","
|
|
||||||
# status += "\"" + relay["nickname"] + "\" (" + relay["fingerprint"] + ") got new flag(s): \"" + new_flags + "\"\n"
|
|
||||||
# except:
|
|
||||||
# print(diff1[updated_relay])
|
|
||||||
|
|
||||||
#print(status)
|
|
||||||
#with open("status.txt", "a") as output:
|
|
||||||
# output.write(status)
|
|
||||||
|
|
||||||
#with open(old_file, "w") as output:
|
|
||||||
# output.write(r.text)
|
|
||||||
|
|
||||||
if status:
|
if status:
|
||||||
email += status + "\nTotal new versions: " + str(newVersions) + "\n"
|
email += status + "\nTotal new versions: " + str(newVersions) + "\n"
|
||||||
|
|
Loading…
Reference in a new issue