[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-developers] URI format

From: icepick
Subject: [GNUnet-developers] URI format
Date: Mon, 02 Aug 2004 14:00:00 -0400
User-agent: Mozilla Thunderbird 0.7 (Windows/20040616)


I found out about your new release on freshmeat today. What drew me in was a mention about shorter URI support. I love URI's. Ask my coworkers, I use them as nouns in all my IM (it's not "bug #1777", it's "";). It one of the key features I've been adding to Mnet 0.7.

Not having a example of a URI on your front page, I went digging in your FAQ and found this:


I have a few suggestions about how this could be improved:

1) use or support standards already created

There are a few ideas running around about how to identify stuff on p2p networks. One of my favorite use the URN format (URN's are a type of URI's):

urn:sha1:<SHA1 Sum of file in Base32>



This is nice and short. Gnutella uses these. There is a whole catalog of stuff you can find at that has a sha1 urn like that.

To support some of the more information that you want there is also the Magnet URI spec ( which is very widely used (kazaa uses it). It doesn't specify a hashing algorithm, but allows for many different systems to use the same syntax. This will allow you to embed all the info that you have in your current AFS URI scheme. It also unfortunately uses "&" :(.

Being able to support the exact same URI types as other applications is I think a good goal to work on. That way users can try GNUnet for something (taking advantage of the the potential anonymity), but then be able to fallback on older p2p networks if GNUnet doesn't have it. Applications should be written to then have the data published into GNUnet so that the next person doesn't have to fallback on the older non-anonymous networks.

if you don't want to make suggestion #1 you should maybe take these other ideas under consideration:

2) Don't use HEX/Base16, use Base32 outlines hex/base16, base32 and base64. Base64 has chars in it's alphabet that can't be used in URI's thus base32 is a good choice (and used in the above sha1 urn scheme)

3) Don't use the "//" after "gnunet:". According to the RFC "//" means the next bit of the URI is a host name you can look up via DNS.

an AFS uri would then look like:


Anyway... my $.02...


reply via email to

[Prev in Thread] Current Thread [Next in Thread]