Special-Use Domain Names of Peer-to-Peer Name Systems

We just submitted our draft for "Special-Use Domain Names of Peer-to-Peer Name Systems" to IETF. The intention is to reserve the TLDs ".exit", ".i2p", ".gnu", ".onion" and ".zkey" for use by the GNUnet, I2P and Tor peer-to-peer overlay networks. You can find the draft here.

Developer Documentation of the Week: GNUnet's PEERINFO subsystem

For the interested reader, the latest edition in GNUnet's "Documentation of the Week" is finally available. I am honoured to present:

The GNUnet PEERINFO subsystem

Developer Documentation of the Week: The GNS Namecache

I've now finished the chapter on the NAMECACHE subsystem, which is used as a local cache by the GNU Name System to avoid having to repeatedly query the DHT for the same records.

TESTING library

Continuing with the weekly documentation series, this week I wrote about the GNUnet's TESTING library. It is available here.


libgnurl is a fork of libcurl, which is mostly for GNUnet but it might be usable for others, hence we're releasing the code on this website to the general public. Please read the README for instructions, as you must supply the correct options to configure to get a proper build of libgnurl. In addition to the source as a TAR, we also offer the changes we made against libcurl's Git repository to create libgnurl. In the following, I will explain the motiviations behind this fork.

Conference Slides: On the Feasibility of a Censorship Resistant Decentralized Name System

After having the great opportunity to present GNS at FPS 2013, here the slides for the people interested. Enjoy!

You can find more information about GNS here: https://gnunet.org/gns

Sorting out the stat thing

The way 64/32 bit switching for stat and its siblings is handled in mingw-w64 is a bit complicated, and when gcc starts to complain that incompatible stat types are being used, it's not entirely obvious what to do.

This post documents my explanation (mostly for myself) of how stat types get to be the way they are.

Developer Documentation of the Week: The Distributed Hash Table

This week, I've spent some time improving the developer handbook chapter on GNUnet's Distributed Hash Table (DHT), also known as R5N. The DHT is a central data structure for non-anonymous operations in GNUnet, including mesh routing and name resolution in the GNU Name System. It is also a common data structure in other P2P networks and we thus expect it to be used by many applications.

Service of the week: STATISTICS

This is a delayed posting for the last week's documentation series. This time we present the STATISTICS subsystem which is used among many subsystems for storing and retrieving run-time data.

Documentation entry of the week: NSE

This week we present a very beginner friendly subsystem: NSE (Network Size Estimation: https://gnunet.org/gnunet-nse-subsystem

Why beginner friendly? NSE is very simple and thus exposes the basic structures to create a service, an API and both client-service and P2P protocols. With less than 1,000 lines of code, the NSE service illustrates how to initialize structures, connect and interact with CORE and STATISTICS and use many of the basic UTIL library functions: hashmaps, logging, crypto...


Subscribe to GNUnet RSS