Skip to main content

A library to interact with the cjdns Admin Interface

Project description

Bulid Status Code Health PyPI

The cjdns python library doesn’t support python3 and is a PITA to install, due to it’s use of a modified bencode library which is still called “bencode”, among other things, so I’m cleaning it up.

Installation

The easiest way to install it is:

pip install cjdns

But you could also clone it and run:

python setup.py install

Once it’s installed, you’ll find peerStats and cexec installed in your $PATH, and the cjdns library available for import.

Usage

Usage is simple. First, import:

import cjdns

Then, connect to the running cjdns instance. There are two ways to do this. The normal way is to use the ~/.cjdnsadmin file:

cjdns = cjdns.connectWithAdminInfo()

Or, if you have the IP, port and password and wish to ignore the ~/.cjdnsadmin file for whatever reason:

cjdns = cjdns.connect(ip, port, password)

Once connected, you may call any of the cjdns admin interface functions:

peerStats = cjdns.InterfaceController_peerStats()

Finally, there is a helper function that allows one to convert a cjdns public key into an IP address:

from cjdns import key_utils
key_utils.to_ipv6('1rfp3guz4jjhfu4dsu5mrz68f7fyp502wcttq6b78xdrjhd4ru80.k')

License

Same as cjdns, this is a GPLv3 project. Full text of the license is available [here](LICENSE)

Contributing

I welcome pull requests, please make sure that everything you contribute is pep8 compliant and works on python 2.6, 2.7, 3.2, 3.3 and 3.4. There are some basic tests in place for these things via Travis, but they’re not complete by any means.

Project details


Release history Release notifications

This version
History Node

0.2.4

History Node

0.2.3.1

History Node

0.2.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
cjdns-0.2.4-py2-none-any.whl (14.0 kB) Copy SHA256 hash SHA256 Wheel py2 Jul 3, 2016
cjdns-0.2.4-py3-none-any.whl (14.0 kB) Copy SHA256 hash SHA256 Wheel py3 Jul 3, 2016
cjdns-0.2.4.tar.gz (8.3 kB) Copy SHA256 hash SHA256 Source None Jul 3, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page