#p2p #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

#1191 in Cryptography

Download history 24/week @ 2023-10-26 8/week @ 2023-11-02 3/week @ 2023-11-09 17/week @ 2023-11-16 16/week @ 2023-11-23 63/week @ 2023-11-30 1/week @ 2023-12-07 17/week @ 2023-12-14 31/week @ 2023-12-21 15/week @ 2023-12-28 1/week @ 2024-01-04 2/week @ 2024-01-11 40/week @ 2024-01-18 31/week @ 2024-01-25 31/week @ 2024-02-01 18/week @ 2024-02-08

120 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

~9MB
~137K SLoC