Onionr/graphing.py

31 lines
577 B
Python

import networkx as nx
import matplotlib.pyplot as plt
import networkx.drawing
import json
from hashlib import sha3_256
def do_hash(data):
h = sha3_256()
h.update(data.encode())
return h.digest()
with open('stats.json', 'r') as raw_data:
raw_data = raw_data.read()
G = nx.MultiGraph()
js = json.loads(raw_data)
for node in js:
G.add_node(node[:5] + '.onion')
for node in js:
data = json.loads(js[node])
for conn_node in data['peers']:
G.add_edge(node[:5] + '.onion', conn_node[:5] + '.onion')
nx.draw_spring(G, font_weight='bold', with_labels=True)
plt.show()