aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-06-18 15:00:12 +0000
committerChristian Grothoff <christian@grothoff.org>2012-06-18 15:00:12 +0000
commit5f48d602887285cff6c14358a1d1c6f004a68510 (patch)
treed123791357a784d1dda34edcd98d5a60ec874aff
parent352c6c0da07467c8aef266565df01a2844016a3e (diff)
downloadgnunet-5f48d602887285cff6c14358a1d1c6f004a68510.tar.gz
gnunet-5f48d602887285cff6c14358a1d1c6f004a68510.zip
adding man page for gnunet-auto-share, updating man page for gnunet-publish
-rw-r--r--doc/man/Makefile.am1
-rw-r--r--doc/man/gnunet-auto-share.186
-rw-r--r--doc/man/gnunet-publish.16
-rw-r--r--src/fs/fs.conf.in2
-rw-r--r--src/include/gnunet_scheduler_lib.h2
5 files changed, 92 insertions, 5 deletions
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
index c640460c4..de6a823a2 100644
--- a/doc/man/Makefile.am
+++ b/doc/man/Makefile.am
@@ -1,5 +1,6 @@
1man_MANS = \ 1man_MANS = \
2 gnunet-arm.1 \ 2 gnunet-arm.1 \
3 gnunet-auto-share.1 \
3 gnunet-core.1 \ 4 gnunet-core.1 \
4 gnunet-directory.1 \ 5 gnunet-directory.1 \
5 gnunet-download.1 \ 6 gnunet-download.1 \
diff --git a/doc/man/gnunet-auto-share.1 b/doc/man/gnunet-auto-share.1
new file mode 100644
index 000000000..e8a09d1cf
--- /dev/null
+++ b/doc/man/gnunet-auto-share.1
@@ -0,0 +1,86 @@
1.TH GNUNET\-AUTO\-SHARE "1" "18 Jun 2012" "GNUnet"
2.SH NAME
3gnunet\-auto\-share \- a command line tool to automatically share an entire directory with other users
4.SH SYNOPSIS
5.B gnunet\-auto\-share
6[\fIOPTIONS\fR] DIRNAME
7.SH DESCRIPTION
8.PP
9In order to share files with other GNUnet users, the files must first be made available to GNUnet. This tool can be used to automatically share all files from a certain directory. The program will periodically scan the directory for changes and publish files that are new or that changed on GNUnet. Which files have already been shared is remembered in a ".auto-share" file in the shared directory. You can run the tool by hand or automatically by adding the respective options to your configuration. gnunet\-auto\-share has many options in common with gnunet\-publish, but can only be used to index files.
10.PP
11You can use automatic meta\-data extraction (based on libextractor).
12.PP
13
14\fB\-c \fIFILENAME\fR, \fB\-\-config=FILENAME\fR
15Use alternate config file (if this option is not specified, the default is ~/.gnunet/gnunet.conf).
16
17.TP
18\fB\-D\fR, \fB\-\-disable\-extractor\fR
19Disable use of GNU libextractor for finding additional keywords and metadata.
20
21.TP
22\fB\-h\fR, \fB\-\-help\fR
23Print a brief help page with all the options.
24
25.TP
26\fB\-L \fILOGLEVEL\fR, \fB\-\-loglevel=\fILOGLEVEL\fR
27Change the loglevel. Possible values for LOGLEVEL are
28ERROR, WARNING, INFO and DEBUG.
29
30.TP
31\fB\-p \fIPRIORITY\fR, \fB\-\-prio=\fIPRIORITY\fR
32Executive summary: You probably don't need it.
33
34Set the priority of the published content (default: 365). 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 published content in favor of content that migrates from other peers.
35
36.TP
37\fB\-r \fILEVEL\fR, \fB\-\-replication=\fILEVEL\fR
38Set the desired replication level. If CONTENT_PUSHING is set to YES, GNUnet will push each block (for the file) LEVEL times to other peers before doing normal "random" replication of all content. This option can be used to push some content out into the network harder. Note that pushing content LEVEL times into the network does not guarantee that there will actually be LEVEL replicas.
39
40.TP
41\fB\-v\fR, \fB\-\-version\fR
42Print the version number.
43
44.TP
45\fB\-V\fR, \fB\-\-verbose\fR
46Be verbose. Using this option causes gnunet\-publish to print progress information and at the end the file identification that can be used to download the file from GNUnet.
47
48
49.SH SETTING ANONYMITY LEVEL
50
51The \fB\-a\fR option can be used to specify additional anonymity constraints. If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key. This will allow other users to download the file as fast as possible, including using non-anonymous methods (DHT, direct transfer). If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity). However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity. You can gain better privacy by specifying a higher level of anonymity, which increases the amount of cover traffic your own traffic will get, at the expense of performance. Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1.
52
53The definition of the ANONYMITY LEVEL is the following. 0 means no anonymity is required. Otherwise a value of 'v' means that 1 out of v bytes of "anonymous" traffic can be from the local user, leaving 'v-1' bytes of cover traffic per byte on the wire. Thus, if GNUnet routes n bytes of messages from foreign peers (using anonymous routing), it may originate n/(v-1) bytes of data in the same time\-period. The time\-period is twice the average delay that GNUnet defers forwarded queries.
54
55The default is 1 and this should be fine for most users. Also notice that if you choose very large values, you may end up having no throughput at all, especially if many of your fellow GNUnet\-peers all do the same.
56
57
58.SH EXAMPLES
59.PP
60
61\fBBasic example\fR
62
63Share a directory "$HOME/gnunet\-share/":
64
65 # gnunet\-auto\-share $HOME/gnunet\-share/ &
66
67
68\fBBasic configuration\fR
69
70Share a directory "$HOME/gnunet\-share/":
71
72 [ARM]
73 DEFAULTSERVICES = gnunet-auto-share # other default services here
74
75 [gnunet-auto-share]
76 OPTIONS = $HOME/gnunet\-share
77
78
79.SH FILES
80.TP
81~/.gnunet/gnunet.conf
82GNUnet configuration file
83.SH "REPORTING BUGS"
84Report bugs to <https://gnunet.org/bugs/> or by sending electronic mail to <gnunet\-developers@gnu.org>
85.SH "SEE ALSO"
86\fBgnunet\-fs\-gtk\fP(1), \fBgnunet\-pseudonym\fP(1), \fBgnunet\-search\fP(1), \fBgnunet\-download\fP(1), \fBgnunet.conf\fP(5), \fBextract\fP(1)
diff --git a/doc/man/gnunet-publish.1 b/doc/man/gnunet-publish.1
index a189c747e..f7d5ce28e 100644
--- a/doc/man/gnunet-publish.1
+++ b/doc/man/gnunet-publish.1
@@ -6,14 +6,12 @@ gnunet\-publish \- a command line interface for publishing new content into GNUn
6[\fIOPTIONS\fR] FILENAME 6[\fIOPTIONS\fR] FILENAME
7.SH DESCRIPTION 7.SH DESCRIPTION
8.PP 8.PP
9In order to share files with other GNUnet users, the files must first be made available to GNUnet. GNUnet does not automatically share all files from a certain directory. In fact, even files that are downloaded are not automatically shared. 9In order to share files with other GNUnet users, the files must first be made available to GNUnet. GNUnet does not automatically share all files from a certain directory (however, you can do this with the gnunet\-auto\-share tool). In fact, even files that are downloaded are not automatically shared.
10.PP 10.PP
11In order to start sharing files, the files must be added either using gnunet\-publish or a graphical interface such as gnunet\-fs\-gtk. The command line tool gnunet\-publish is more useful if many files are supposed to be added. gnunet\-publish can automatically publish batches of files, recursively publish directories, create directories that can be browsed within GNUnet and publish file lists in a namespace. When run on a directory, gnunet\-publish will always recursively publish all of the files in the directory. 11In order to start sharing files, the files must be added either using gnunet\-publish or a graphical interface such as gnunet\-fs\-gtk. The command line tool gnunet\-publish is more useful if many files are supposed to be added. gnunet\-publish can automatically publish batches of files, recursively publish directories, create directories that can be browsed within GNUnet and publish file lists in a namespace. When run on a directory, gnunet\-publish will always recursively publish all of the files in the directory.
12.PP 12.PP
13gnunet\-publish can 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 disable keyword extraction with the \-D option. You can manually add keywords using the \-k option. The keywords are case\-sensitive. 13gnunet\-publish can 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 disable keyword extraction with the \-D option. You can manually add keywords using the \-k option. The keywords are case\-sensitive.
14.PP 14.PP
15You can use automatic meta\-data extraction (based on libextractor) or the command\-line option \-m to specify meta-data. For the \-m option you need to use the form keyword\-type:value. For example, use "\-m os:Linux" to specify that the operating system is Linux. Common meta\-data types are "author name", "title" , "mimetype", "filename", "language", "subject" and "keywords". A full list can be obtained from the extract tool using the option \-\-list. The meta\-data is used to help users in searching for files on the network.
16.PP
17In addition to searching for files by keyword, GNUnet allows organizing files into directories. With directories, the user only needs to find the directory in order to be able to download any of the files listed in the directory. Directories can contain pointers to other directories. 15In addition to searching for files by keyword, GNUnet allows organizing files into directories. With directories, the user only needs to find the directory in order to be able to download any of the files listed in the directory. Directories can contain pointers to other directories.
18.PP 16.PP
19With gnunet\-publish, it is easy to create new directories simultaneously when adding the files. Simply pass the name of a directory instead of a file. 17With gnunet\-publish, it is easy to create new directories simultaneously when adding the files. Simply pass the name of a directory instead of a file.
@@ -171,4 +169,4 @@ GNUnet configuration file
171.SH "REPORTING BUGS" 169.SH "REPORTING BUGS"
172Report bugs to <https://gnunet.org/bugs/> or by sending electronic mail to <gnunet\-developers@gnu.org> 170Report bugs to <https://gnunet.org/bugs/> or by sending electronic mail to <gnunet\-developers@gnu.org>
173.SH "SEE ALSO" 171.SH "SEE ALSO"
174\fBgnunet\-fs\-gtk\fP(1), \fBgnunet\-pseudonym\fP(1), \fBgnunet\-search\fP(1), \fBgnunet\-download\fP(1), \fBgnunet.conf\fP(5), \fBextract\fP(1) 172\fBgnunet\-auto\-share\fP(1), \fBgnunet\-fs\-gtk\fP(1), \fBgnunet\-pseudonym\fP(1), \fBgnunet\-search\fP(1), \fBgnunet\-download\fP(1), \fBgnunet.conf\fP(5), \fBextract\fP(1)
diff --git a/src/fs/fs.conf.in b/src/fs/fs.conf.in
index 2a5131a7e..df302d478 100644
--- a/src/fs/fs.conf.in
+++ b/src/fs/fs.conf.in
@@ -32,7 +32,7 @@ EXPECTED_NEIGHBOUR_COUNT = 128
32PREFIX = @MONKEYPREFIX@ 32PREFIX = @MONKEYPREFIX@
33 33
34 34
35[fs-auto-share] 35[gnunet-auto-share]
36BINARY = gnunet-auto-share 36BINARY = gnunet-auto-share
37CONFIG = $DEFAULTCONFIG 37CONFIG = $DEFAULTCONFIG
38 38
diff --git a/src/include/gnunet_scheduler_lib.h b/src/include/gnunet_scheduler_lib.h
index 472753424..1e2a4000a 100644
--- a/src/include/gnunet_scheduler_lib.h
+++ b/src/include/gnunet_scheduler_lib.h
@@ -212,6 +212,8 @@ typedef int (*GNUNET_SCHEDULER_select) (void *cls,
212 struct GNUNET_NETWORK_FDSet * wfds, 212 struct GNUNET_NETWORK_FDSet * wfds,
213 struct GNUNET_NETWORK_FDSet * efds, 213 struct GNUNET_NETWORK_FDSet * efds,
214 struct GNUNET_TIME_Relative timeout); 214 struct GNUNET_TIME_Relative timeout);
215
216
215/** 217/**
216 * Initialize and run scheduler. This function will return when all 218 * Initialize and run scheduler. This function will return when all
217 * tasks have completed. On systems with signals, receiving a SIGTERM 219 * tasks have completed. On systems with signals, receiving a SIGTERM