From 7e4b2a235d42dc51f24bbd923ccb224786244153 Mon Sep 17 00:00:00 2001 From: HackerNCoder Date: Wed, 1 Dec 2021 17:34:05 +0000 Subject: [PATCH] Also track all relays and their v2 status --- plotter4.py | 19 +++++++++++++++++++ trackingv2.py | 24 ++++++++++++++++++++---- 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 plotter4.py diff --git a/plotter4.py b/plotter4.py new file mode 100644 index 0000000..f9596fa --- /dev/null +++ b/plotter4.py @@ -0,0 +1,19 @@ +import pandas as pd +import datetime +import csv +import os +import matplotlib.pyplot as plt +from shutil import copyfile + +x_axis='datetime' +y_axes=['v2','nonv2'] + +df = pd.read_csv("trackingv2relays.csv") +filter = [x_axis] + y_axes +title = "Tracking how many Tor relays run a version that is non-v2" +df[filter].plot.line(x=x_axis, title=title, grid=True, rot=20, figsize=(6,5)) +plt.savefig("/var/www/data/relays_plot.png") + +copyfile("/home/trackingv2/trackingv2relays.csv", "/var/www/data/relaysv2.csv") + +print("plotted "+title) diff --git a/trackingv2.py b/trackingv2.py index c5c31dc..ca59b41 100644 --- a/trackingv2.py +++ b/trackingv2.py @@ -7,10 +7,13 @@ import datetime dt = datetime.datetime.utcnow().strftime("%m-%d-%H") numberOfHSDir = 0 +numberOfNonv2HSDir = 0 +numberOfv2HSDir = 0 + numberOfNonv2 = 0 numberOfv2 = 0 -consensus = "/home/trackingv2/consensus" +consensus = "consensus" url = "https://collector.torproject.org/recent/relay-descriptors/consensuses/2021-{}-00-00-consensus".format(dt) print(url) @@ -28,19 +31,32 @@ while True: if not line1: break - if re.search("^s.*HSDir", line1, re.IGNORECASE): + if re.search("^s", line1, re.IGNORECASE): + isHSDir = False + if re.search("^s.*HSDir", line1, re.IGNORECASE): + numberOfHSDir += 1 + isHSDir = True line2 = file.readline() - numberOfHSDir += 1 if re.search("^v.*Tor (0.4.[6-9]|0.3.5.17|0.4.5.11)", line2, re.IGNORECASE): + if isHSDir: + numberOfNonv2HSDir += 1 numberOfNonv2 += 1 else: + if isHSDir: + numberOfv2HSDir += 1 numberOfv2 += 1 dt = datetime.datetime.utcnow().strftime("%Y/%m/%d %H") with open("/home/trackingv2/trackingv2.csv", "a") as csvFile: - csvFile.write("{},{},{},{}\n".format(numberOfv2, numberOfNonv2, numberOfHSDir, dt)) + csvFile.write("{},{},{},{}\n".format(numberOfv2HSDir, numberOfNonv2HSDir, numberOfHSDir, dt)) + +with open("trackingv2relays.csv", "a") as relaysCsv: + relaysCsv.write("{},{},{}\n".format(numberOfv2, numberOfNonv2, dt)) #print("Num HSDir: {}".format(numberOfHSDir)) +#print("< 0.4.6: {}".format(numberOfv2HSDir)) +#print(">= 0.4.6: {}".format(numberOfNonv2HSDir)) +#print() #print("< 0.4.6: {}".format(numberOfv2)) #print(">= 0.4.6: {}".format(numberOfNonv2)) #print("DT: {}".format(dt))