HackerNCoder
c79eaed7c3
Skip first 46 lines Check running relays only comment out downloading from collector
68 lines
1.8 KiB
Python
68 lines
1.8 KiB
Python
import re
|
|
import sys
|
|
import os
|
|
import requests
|
|
import datetime
|
|
|
|
dt = datetime.datetime.utcnow().strftime("%m-%d-%H")
|
|
|
|
numberOfHSDir = 0
|
|
numberOfNonv2HSDir = 0
|
|
numberOfv2HSDir = 0
|
|
|
|
numberOfNonv2 = 0
|
|
numberOfv2 = 0
|
|
|
|
consensus = "consensus"
|
|
|
|
#url = "https://collector.torproject.org/recent/relay-descriptors/consensuses/2022-{}-00-00-consensus".format(dt)
|
|
#print(url)
|
|
|
|
#r = requests.get(url)
|
|
#os.remove(consensus)
|
|
#with open(consensus,"wb") as output:
|
|
# output.write(r.content)
|
|
|
|
consensus = open(consensus, "r")
|
|
|
|
for _ in range(46):
|
|
next(consensus)
|
|
|
|
while True:
|
|
line1 = consensus.readline()
|
|
if not line1: break
|
|
|
|
if re.search("^s.*Running", line1, re.IGNORECASE):
|
|
isHSDir = False
|
|
if re.search("^s.*HSDir", line1, re.IGNORECASE):
|
|
numberOfHSDir += 1
|
|
isHSDir = True
|
|
line2 = consensus.readline()
|
|
if re.search("^v Tor 0\.(4\.[6-9]|3\.5\.(17|18)|4\.5\.(11|12|13|14))", line2, re.IGNORECASE):
|
|
if isHSDir:
|
|
numberOfNonv2HSDir += 1
|
|
numberOfNonv2 += 1
|
|
else:
|
|
if isHSDir:
|
|
numberOfv2HSDir += 1
|
|
numberOfv2 += 1
|
|
for _ in range(3):
|
|
next(consensus)
|
|
print(line1 + " " + line2 + " " + str(isHSDir))
|
|
|
|
dt = datetime.datetime.utcnow().strftime("%Y/%m/%d %H")
|
|
with open("trackingv2.csv", "a") as csvFile:
|
|
csvFile.write("{},{},{},{}\n".format(numberOfv2HSDir, numberOfNonv2HSDir, numberOfHSDir, dt))
|
|
|
|
with open("trackingv2relays.csv", "a") as relaysCsv:
|
|
relaysCsv.write("{},{},{},{}\n".format(numberOfv2, numberOfNonv2, 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))
|
|
|