#p2p #lookup #gnu #bindings #secure #peer #gns

nightly gnunet

Bindings for GNUnet: GNU's framework for secure peer-to-peer networking

15 releases

Uses old Rust 2015

0.0.15 Jan 17, 2016
0.0.14 Jun 20, 2015
0.0.13 May 31, 2015
0.0.12 Apr 27, 2015
0.0.2 Nov 22, 2014

#35 in #gnu

34 downloads per month

GPL-3.0 license

670KB
13K SLoC

gnunet-rs

GNUnet bindings for Rust.

Note: This library is for interacting with a locally running GNUnet peer. It does not implement a peer itself. It is also FAR from complete. Only a few rudimentry features are implemented. You cannot, for example, use this for peer-to-peer communication (yet).

Features implemented so far:

  • Parsing GNUnet config files.
  • Retrieving peer info from the peerinfo service.
  • Performing GNS lookups.
  • Performing identity ego lookups.

Next on the list:

  • DHT bindings.
  • Cadet (peer-to-peer) bindings.
  • Datastore bindings.

See http://canndrew.org/rust-doc/gnunet for documentation. See examples directory for example code. Feedback and pull requests are encouraged!


lib.rs:

Rust interface for GNUnet. GNU's framework for secure peer-to-peer networking.

This library does not implement a GNUnet peer. You must have the GNUnet software installed and running in order to use this library.

Examples

Perform a GNS lookup.

use gnunet::{Cfg, gns};

let c = Cfg::default().unwrap();
let r = gns::lookup_in_master(&c, "www.gnu", gns::RecordType::A, None).unwrap();
println!("Got the following IPv4 record for www.gnu: {}", r);

Dependencies

~9.5MB
~154K SLoC