Also track all relays and their v2 status
This commit is contained in:
parent
61fc851da2
commit
7e4b2a235d
19
plotter4.py
Normal file
19
plotter4.py
Normal file
|
@ -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)
|
|
@ -7,10 +7,13 @@ import datetime
|
||||||
dt = datetime.datetime.utcnow().strftime("%m-%d-%H")
|
dt = datetime.datetime.utcnow().strftime("%m-%d-%H")
|
||||||
|
|
||||||
numberOfHSDir = 0
|
numberOfHSDir = 0
|
||||||
|
numberOfNonv2HSDir = 0
|
||||||
|
numberOfv2HSDir = 0
|
||||||
|
|
||||||
numberOfNonv2 = 0
|
numberOfNonv2 = 0
|
||||||
numberOfv2 = 0
|
numberOfv2 = 0
|
||||||
|
|
||||||
consensus = "/home/trackingv2/consensus"
|
consensus = "consensus"
|
||||||
|
|
||||||
url = "https://collector.torproject.org/recent/relay-descriptors/consensuses/2021-{}-00-00-consensus".format(dt)
|
url = "https://collector.torproject.org/recent/relay-descriptors/consensuses/2021-{}-00-00-consensus".format(dt)
|
||||||
print(url)
|
print(url)
|
||||||
|
@ -28,19 +31,32 @@ while True:
|
||||||
|
|
||||||
if not line1: break
|
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()
|
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 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
|
numberOfNonv2 += 1
|
||||||
else:
|
else:
|
||||||
|
if isHSDir:
|
||||||
|
numberOfv2HSDir += 1
|
||||||
numberOfv2 += 1
|
numberOfv2 += 1
|
||||||
|
|
||||||
dt = datetime.datetime.utcnow().strftime("%Y/%m/%d %H")
|
dt = datetime.datetime.utcnow().strftime("%Y/%m/%d %H")
|
||||||
with open("/home/trackingv2/trackingv2.csv", "a") as csvFile:
|
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("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(numberOfv2))
|
||||||
#print(">= 0.4.6: {}".format(numberOfNonv2))
|
#print(">= 0.4.6: {}".format(numberOfNonv2))
|
||||||
#print("DT: {}".format(dt))
|
#print("DT: {}".format(dt))
|
||||||
|
|
Loading…
Reference in a new issue