#!/usr/bin/env python # You may redistribute this program and/or modify it under the terms of # the GNU General Public License as published by the Free Software Foundation, # either version 3 of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . import sys; import math; from cjdnsadmin.cjdnsadmin import connectWithAdminInfo; from cjdnsadmin.publicToIp6 import PublicToIp6_convert; cjdns = connectWithAdminInfo(); allPeers = []; i = 0; while True: ps = cjdns.InterfaceController_peerStats(i); peers = ps['peers']; allPeers += peers; if (not 'more' in ps): break; i += 1; for peer in allPeers: p = (PublicToIp6_convert(peer['publicKey']) + '\t' + peer['switchLabel'] + '\tin ' + str(peer['bytesIn']) + '\tout ' + str(peer['bytesOut']) + '\t' + peer['state'] + '\tdup ' + str(peer['duplicates']) + ' los ' + str(peer['lostPackets']) + ' oor ' + str(peer['receivedOutOfRange'])); if 'user' in peer: p += '"' + peer['user'] + '"'; print p;