1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/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 <http://www.gnu.org/licenses/>.
- 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;
|