NAME
gnunet-auto-share - process to share a directory
SYNOPSIS
gnunet-auto-share [OPTIONS] DIRECTORY*
DESCRIPTION
In order to share files with other GNUnet users, the files must first
be made available to GNUnet. This tool allows you to automatically
share all files from certain directories.
In order to start sharing files, invoke gnunet-auto-share with the name
of the directories. As long as gnunet-auto-share is running, any files
placed in the directories will be automatically shared. Note that
files that you share may not always continue to be available after you
leave the network. gnunet-auto-share remembers the list of shared
directories in the configuration file. So the next time you start
gnunet-auto-share, you do not have to specify the directories again;
however, you can run gnunet-auto-share multiple times, specifying
additional directories each time.
gnunet-auto-share will automatically extract keywords from the files
that are shared. Users that want to download files from GNUnet use
keywords to search for the appropriate content. You can manually add
keywords using the -K option.
The directory structure of files in the shared directories will be
maintained. gnunet-auto-share only supports publishing files using
indexing. Indexing a file means that an index is added to the local
(!) database with symbolic links to the file itself. The links will
use the SHA-512 hash of the entire file as the filename. Indexing is
generally significantly more efficient and the default choice.
However, indexing only works if the indexed file can be read (using the
same absolute path) by gnunetd, so you should run gnunet-auto-share on
the same machine that uses gnunetd.
You can add metadata for the shared files by specifying metadata in a
metadata configuration file (by default located in
~/.gnunet/metadata.conf). The format of this file is just like the
normal GNUnet configuration files. Each section name should correspond
to a filename in one of the directories. Note that if you have the
same filename corresponding to different files in multiple directories,
you cannot specify different meta data. The keys are the various
metadata types and the entries correspond to the metadata values. The
special type "keyword" can be used to specify a list of keywords that
should be used for the respective file. Example:
[COPYING]
title = "The GNU Public License"
copyright = "1989, 1991 Free Software Foundation, Inc."
version = "2"
date = "June 1991"
mimetype = "text/plain"
description = "The most frequently used free software license"
language = "English"
organization = "Free Software Foundation"
keywords = "GPL GNU free license public FSF test"
[gnunet-logo.svg]
title = "Official logo of teh GNUnet project"
description = "Combines the GNU logo with a spider-net"
mimetype = "image/svg+xml"
artist = "Nicklas Larsson"
date = "14.7.2005"
organization = "The GNU Project"
keywords = "GNUnet logo"
contributor = "Christian Muellner"
Metadata specification only works for files in the top-level
directories, all other files will only be listed as part of the top-
level directories and be given metadata using libextractor.
-c FILENAME, --config=FILENAME Use alternate config file (if this
option is not specified, the default is ~/.gnunet/gnunet.conf).
-d, --debug
do not detach from the console (for debugging); log messages are
written to stderr.
-D, --disable-direct
Disable direct indexing information that would otherwise refer
to files inside of directories directly. Without -D, contents
can be found directly using keywords extracted with
libextractor. Use -D if you index directories with many similar
files that are adequately described using keywords for the
directory and for which individual references would unduely
pollute the global keyword search space. Also use -D to disable
libextractor for individual file publications. This way you can
ensure that a file will only be referenced using the keywords
that you are specifying explicitly.
-h, --help
Print a brief help page with all the options.
-H HOSTNAME, --host=HOSTNAME
on which host is gnunetd running (default: localhost). You can
also specify a port using the syntax HOSTNAME:PORT. The default
port is 2087.
-L LOGLEVEL, --loglevel=LOGLEVEL
Change the loglevel. Possible values for LOGLEVEL are NOTHING,
FATAL, ERROR, WARNING, INFO, STATUS and DEBUG. Note that
options in the configuration file take precedence over this
option (the argument will be ignored in that case).
-p PRIORITY, --prio=PRIORITY
Executive summary: You probably don’t need it.
Set the priority of the inserted content (default: 65535). If
the local database is full, GNUnet will discard the content with
the lowest ranking. Note that ranks change over time depending
on popularity. The default should be high enough to preserve
the locally inserted content in favor of content that migrates
from other peers.
-v, --version
Print the version number.
-V, --verbose
Be verbose. Using this option causes gnunet-auto-share to print
progress information and the file identification that can be
used to download the file from GNUnet.
EXAMPLES
Use the following command to have gnunet-auto-share run in the
background and share the "/home/share/" directory:
$ gnunet-auto-share /home/share/
Use the following command to share the "/home/share/" directory and see
the URIs of uploaded files. You can abort the daemon with CTRL-C:
$ gnunet-auto-share -d -V /home/share/
NOTES
As most GNUnet command-line tools, gnunet-auto-share supports passing
arguments using environment variables. This can improve your privacy
since otherwise the name of the shared directory will likely be visible
to other local users. Setting "GNUNET_ARGS" will cause the respective
string to be appended to the actual command-line and to be processed
the same way as arguments given directly at the command line.
FILES
~/.gnunet/gnunet.conf
GNUnet configuration file
REPORTING BUGS
Report bugs by using mantis <https://gnunet.org/bugs/> or by sending
electronic mail to <gnunet-developers@gnu.org>
SEE ALSO
gnunet-gtk(1), gnunet-insert(1), gnunet-search(1), gnunet-download(1),
gnunet.conf(5), gnunetd(1), extract(1)