import socket import json import sys GETDHT = '{"request":"getDHT", "keepalive":true}' GETSWITCHPEERS = '{"request":"getSwitchPeers"}' SERVER = "y.yakamo.org" #gives the option to get data from an external server instead and send that #if no options given it will default to localhost instead if len(sys.argv) == 3: host_port = (sys.argv[1], int(sys.argv[2])) else: host_port = ('localhost', 9001) def send_view_to_server(tosend): if tosend: attempts = 3 while attempts: try: conn = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) conn.connect((SERVER, 45671)) conn.send(tosend) conn.close() print "sent ok" break except: attempts -= 1 def collect_dht_getswitchpeers(serport): try: ygg = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ygg.connect(host_port) ygg.send(GETDHT) dhtdata = json.loads(ygg.recv(1024 * 15)) ygg.send(GETSWITCHPEERS) switchdata = json.loads(ygg.recv(1024 * 15)) temp_dict = {} temp_dict["dhtpack"] = dhtdata temp_dict["switchpack"] = switchdata return json.dumps(temp_dict).encode() except: return False send_view_to_server(collect_dht_getswitchpeers(host_port))