Difference between revisions of "GNUnet"

From ArchWiki
Jump to: navigation, search
(Created page and added info about GNUnet)
 
(18 intermediate revisions by 10 users not shown)
Line 1: Line 1:
GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. Currently, the service implemented on the framework serves to perform censorship-resistant file-sharing.
+
[[Category:Internet Applications]]
 +
[[Category:Proxy servers]]
 +
{{Article summary start}}
 +
{{Article summary text|This article tells about installation, configuration and basic usage of GNUnet.}}
 +
{{Article summary heading|Required software}}
 +
{{Article summary link|GNUnet|https://gnunet.org/}}
 +
{{Article summary heading|Related}}
 +
{{Article summary wiki|Tor}}
 +
{{Article summary end}}
  
=Install=
+
'''GNUnet''' is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. Currently, the service implemented on the framework serves to perform censorship-resistant file-sharing.
To install GNUnet, you have to first enable the community repository and type in
+
pacman -S gnunet
+
  
If you also want to use the graphical interface, type in
+
__TOC__
pacman -S gnunet-gtk
+
  
=Configuration=
+
{{Wikipedia|GNUnet}}
To configure your gnunet installation, open a terminal and type in the following to set up the configuration for the daemon. By default, gnunet uses the directory '/var/lib/gnunet', which can only be accessed by root. You may want to change the GNUNET_HOME variable to your own home directory to be able to run gnunet as a normal user. Alternatively, set up a user named gnunet and have the GNUNET_HOME variable to point to '/home/gnunet'.
+
gnunet-setup -d
+
  
Then type in the following to set up the client options. These include where downloaded files are saved.
+
==Installation==
gnunet-setup
+
GNUnet can be [[pacman|installed]] with package {{Pkg|gnunet}}, available in [[official repositories]]. If you also want to use the graphical interface, install {{Pkg|gnunet-gtk}}.
  
=Usage=
+
==Configuration==
==Downloading==
+
To configure the gnunet daemon edit {{Ic|/etc/gnunetd.conf}}.
 +
 
 +
If you installed gnunet-gtk you can configure the client options with
 +
# gnunet-setup
 +
 
 +
The hostlist-servers which are shipped are for version 10 of gnunet. [https://gnunet.org/node/798/revisions/855/view It should be:]
 +
  <nowiki>http://v9.gnunet.org:58080/</nowiki>
 +
 
 +
==Usage==
 +
===Downloading===
 
To use gnunet-gtk to download a file, just search for the file in the 'Filesystem' tab. When you see the file you want, just download it as you would with any other P2P file-sharing program.
 
To use gnunet-gtk to download a file, just search for the file in the 'Filesystem' tab. When you see the file you want, just download it as you would with any other P2P file-sharing program.
 +
Start it with
 +
# gnunet-arm -s
 +
# gnunet-fs-gtk
  
==Uploading==
+
===Uploading===
Uploading files to the gnunet network is more complicated. GNUnet differentiates between 'indexing' a file and 'inserting' a file. The details can be read at the [http://gnunet.org gnunet website]. The following steps explain how to share data with the network, and are a shortened form of the instructions found on [http://gnunet.org/user_afs.php3?xlang=English this page].
+
Uploading files to the gnunet network is more complicated. GNUnet differentiates between 'indexing' a file and 'inserting' a file. The details can be read at the [https://gnunet.org framework's website]. The following steps explain how to share data with the network, and are a shortened form of the instructions found on [https://gnunet.org/file-sharing this page].
  
The following steps, currently, have to be done manually. A module, called gnunet-fuse, is being developed to make this process easier for a user, but is not ready yet (as of 12/FE/08).
+
The following steps may have to be done manually. A module, called gnunet-fuse, is being developed to make this process easier for a user. However, as of December 2008, there is little documentation for it and it is not even in [[AUR]] yet.
  
*To index a file/directory
+
====To index a file/directory====
 
  gnunet-insert [-n] [-k keword1] [-k keyword 2] [-m TYPE:VALUE] ''filename''
 
  gnunet-insert [-n] [-k keword1] [-k keyword 2] [-m TYPE:VALUE] ''filename''
 
It is not required to add keywords, but it is recommended. This is because GNUnet does not allow searching by filename, but by keywords. Libextractor, which is a dependency of gnunet, will extract keywords from the file, but you may wish to enter keywords of your own.
 
It is not required to add keywords, but it is recommended. This is because GNUnet does not allow searching by filename, but by keywords. Libextractor, which is a dependency of gnunet, will extract keywords from the file, but you may wish to enter keywords of your own.
 
The '-m' option is for meta-data. This is data (about the file) that other users of gnunet will see when your files show up during their searches. For further details, see the gnunet.org online documentation. The '-n' option is used to insert a file/directory into the gnunet MySQL/sqlite database, instead of just indexing it.
 
The '-m' option is for meta-data. This is data (about the file) that other users of gnunet will see when your files show up during their searches. For further details, see the gnunet.org online documentation. The '-n' option is used to insert a file/directory into the gnunet MySQL/sqlite database, instead of just indexing it.
  
*To unindex a file/directory
+
====To unindex a file/directory====
 
  gnunet-unindex
 
  gnunet-unindex
Suppose you have forgotten which files you indexed, you can look up the pointers in the directory '/var/lib/gnunet/data/shared', where GNUNET_HOME=/var/lib/gnunet (set by gnunet-setup -d). '''DO NOT''' edit this directory yourself, use gnunet-insert and gnunet-unindex to make changes. This is because gnunet uses a database to store file information, and deleting (or modifying) the contents of the directory will not remove the entries in the gnunet database.
+
Suppose you have forgotten which files you indexed, you can look up the pointers in the directory {{Ic|/var/lib/gnunet/data/shared}}, where {{Ic|1=GNUNET_HOME=/var/lib/gnunet}} (set by {{Ic|gnunet-setup -d}}).
 +
 
 +
{{Warning|Do not edit this directory yourself, use gnunet-insert and gnunet-unindex to make changes. This is because gnunet uses a database to store file information, and deleting (or modifying) the contents of the directory will not remove the entries in the gnunet database.}}
  
*Modifying and removing indexed files
+
====Modifying and removing indexed files====
**When you modify a file, the URI of the file changes. Therefore, GNUnet considers this to be a completely different file. Therefore, make sure that the original file is unindexed (using the gnunet-unindex command), modify the file, and then index the new file to make it accessible through the network.
+
* When you modify a file, the URI of the file changes. Therefore, GNUnet considers this to be a completely different file. Therefore, make sure that the original file is unindexed (using the gnunet-unindex command), modify the file, and then index the new file to make it accessible through the network.
**If you want to move/remove a file from your system, then you should unindex it first.
+
* If you want to move/remove a file from your system, then you should unindex it first.

Revision as of 19:32, 7 October 2013

Summary help replacing me
This article tells about installation, configuration and basic usage of GNUnet.
Required software
GNUnet
Related
Tor

GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. Currently, the service implemented on the framework serves to perform censorship-resistant file-sharing.

Template:Wikipedia

Installation

GNUnet can be installed with package gnunet, available in official repositories. If you also want to use the graphical interface, install gnunet-gtk.

Configuration

To configure the gnunet daemon edit /etc/gnunetd.conf.

If you installed gnunet-gtk you can configure the client options with

# gnunet-setup

The hostlist-servers which are shipped are for version 10 of gnunet. It should be:

 http://v9.gnunet.org:58080/

Usage

Downloading

To use gnunet-gtk to download a file, just search for the file in the 'Filesystem' tab. When you see the file you want, just download it as you would with any other P2P file-sharing program. Start it with

# gnunet-arm -s
# gnunet-fs-gtk

Uploading

Uploading files to the gnunet network is more complicated. GNUnet differentiates between 'indexing' a file and 'inserting' a file. The details can be read at the framework's website. The following steps explain how to share data with the network, and are a shortened form of the instructions found on this page.

The following steps may have to be done manually. A module, called gnunet-fuse, is being developed to make this process easier for a user. However, as of December 2008, there is little documentation for it and it is not even in AUR yet.

To index a file/directory

gnunet-insert [-n] [-k keword1] [-k keyword 2] [-m TYPE:VALUE] filename

It is not required to add keywords, but it is recommended. This is because GNUnet does not allow searching by filename, but by keywords. Libextractor, which is a dependency of gnunet, will extract keywords from the file, but you may wish to enter keywords of your own. The '-m' option is for meta-data. This is data (about the file) that other users of gnunet will see when your files show up during their searches. For further details, see the gnunet.org online documentation. The '-n' option is used to insert a file/directory into the gnunet MySQL/sqlite database, instead of just indexing it.

To unindex a file/directory

gnunet-unindex

Suppose you have forgotten which files you indexed, you can look up the pointers in the directory /var/lib/gnunet/data/shared, where GNUNET_HOME=/var/lib/gnunet (set by gnunet-setup -d).

Warning: Do not edit this directory yourself, use gnunet-insert and gnunet-unindex to make changes. This is because gnunet uses a database to store file information, and deleting (or modifying) the contents of the directory will not remove the entries in the gnunet database.

Modifying and removing indexed files

  • When you modify a file, the URI of the file changes. Therefore, GNUnet considers this to be a completely different file. Therefore, make sure that the original file is unindexed (using the gnunet-unindex command), modify the file, and then index the new file to make it accessible through the network.
  • If you want to move/remove a file from your system, then you should unindex it first.