diff options
author | ng0 <ng0@n0.is> | 2019-04-18 18:43:54 +0000 |
---|---|---|
committer | ng0 <ng0@n0.is> | 2019-04-18 18:43:54 +0000 |
commit | bab2ea57b487b09236533d14bafb73c904439788 (patch) | |
tree | d41e90ff2a55181dc7d23d5900c752055a9c0c43 /doc/man | |
parent | a72c48b86b0b5049f05d2637930d298a3d313daf (diff) | |
download | gnunet-bab2ea57b487b09236533d14bafb73c904439788.tar.gz gnunet-bab2ea57b487b09236533d14bafb73c904439788.zip |
gnunet-publish.1
Diffstat (limited to 'doc/man')
-rw-r--r-- | doc/man/gnunet-publish.1 | 548 |
1 files changed, 242 insertions, 306 deletions
diff --git a/doc/man/gnunet-publish.1 b/doc/man/gnunet-publish.1 index 5f774580b..cd0dda8ff 100644 --- a/doc/man/gnunet-publish.1 +++ b/doc/man/gnunet-publish.1 | |||
@@ -1,347 +1,283 @@ | |||
1 | .TH GNUNET-PUBLISH "1" "November 16, 2015" "GNUnet" | 1 | .\" This file is part of GNUnet. |
2 | .SH NAME | 2 | .\" Copyright (C) 2001-2019 GNUnet e.V. |
3 | gnunet\-publish \- a command line interface for publishing new content into GNUnet | 3 | .\" |
4 | .SH SYNOPSIS | 4 | .\" Permission is granted to copy, distribute and/or modify this document |
5 | .B gnunet\-publish | 5 | .\" under the terms of the GNU Free Documentation License, Version 1.3 or |
6 | [\fIOPTIONS\fR] FILENAME | 6 | .\" any later version published by the Free Software Foundation; with no |
7 | .SH DESCRIPTION | 7 | .\" Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A |
8 | .PP | 8 | .\" copy of the license is included in the file |
9 | In order to share files with other GNUnet users, the files must first | 9 | .\" ``FDL-1.3''. |
10 | be made available to GNUnet. | 10 | .\" |
11 | GNUnet does not automatically share all files from a certain directory | 11 | .\" A copy of the license is also available from the Free Software |
12 | (however, you can do this with the gnunet\-auto\-share tool). | 12 | .\" Foundation Web site at @url{http://www.gnu.org/licenses/fdl.html}. |
13 | .\" | ||
14 | .\" Alternately, this document is also available under the General | ||
15 | .\" Public License, version 3 or later, as published by the Free Software | ||
16 | .\" Foundation. A copy of the license is included in the file | ||
17 | .\" ``GPL3''. | ||
18 | .\" | ||
19 | .\" A copy of the license is also available from the Free Software | ||
20 | .\" Foundation Web site at @url{http://www.gnu.org/licenses/gpl.html}. | ||
21 | .\" | ||
22 | .\" SPDX-License-Identifier: GPL3.0-or-later OR FDL1.3-or-later | ||
23 | .\" | ||
24 | .Dd November 16, 2015 | ||
25 | .Dt GNUNET-PUBLISH 1 | ||
26 | .Sh NAME | ||
27 | .Nm gnunet-publish | ||
28 | .Nd | ||
29 | a command line interface for publishing new content into GNUnet | ||
30 | .Sh SYNOPSIS | ||
31 | .Nm | ||
32 | .Op Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL | ||
33 | .Op Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME | ||
34 | .Op Fl D | \-disable\-extractor | ||
35 | .Op Fl E | \-enable\-creation\-time | ||
36 | .Op Fl e | \-extract | ||
37 | .Op Fl h | \-help | ||
38 | .Op Fl k Ar KEYWORD | Fl \-key= Ns Ar KEYWORD | ||
39 | .Op Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL | ||
40 | .Op Fl m Ar TYPE:VALUE | Fl \-meta= Ns Ar TYPE:VALUE | ||
41 | .Op Fl n | \-noindex | ||
42 | .Op Fl N Ar ID | Fl \-next= Ns Ar ID | ||
43 | .Op Fl p Ar PRIORITY | Fl \-prio= Ns Ar PRIORITY | ||
44 | .Op Fl P Ar NAME | Fl \-pseudonym= Ns Ar NAME | ||
45 | .Op Fl r Ar LEVEL | Fl \-replication= Ns Ar LEVEL | ||
46 | .Op Fl s | \-simulate-only | ||
47 | .Op Fl t Ar ID, \-this= Ns Ar ID | ||
48 | .Op Fl u Ar URI | Fl \-uri= Ns Ar URI | ||
49 | .Op Fl v | \-version | ||
50 | .Op Fl V | \-verbose | ||
51 | .Ao Ar FILENAME Ac | ||
52 | .Sh DESCRIPTION | ||
53 | In order to share files with other GNUnet users, the files must first be made available to GNUnet. | ||
54 | GNUnet does not automatically share all files from a certain directory (however, you can do this with the gnunet\-auto\-share tool). | ||
13 | In fact, even files that are downloaded are not automatically shared. | 55 | In fact, even files that are downloaded are not automatically shared. |
14 | .PP | 56 | .Pp |
15 | In order to start sharing files, the files must be added either using | 57 | In order to start sharing files, the files must be added either using gnunet\-publish or a graphical interface such as gnunet\-fs\-gtk. |
16 | gnunet\-publish or a graphical interface such as gnunet\-fs\-gtk. | 58 | The command line tool gnunet\-publish is more useful if many files are supposed to be added. |
17 | The command line tool gnunet\-publish is more useful if many files are | 59 | 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. |
18 | supposed to be added. | 60 | When run on a directory, gnunet\-publish will always recursively publish all of the files in the directory. |
19 | gnunet\-publish can automatically publish batches of files, | 61 | .Pp |
20 | recursively publish directories, create directories that can be | 62 | gnunet\-publish can automatically extract keywords from the files that are shared. |
21 | browsed within GNUnet and publish file lists in a namespace. | 63 | Users that want to download files from GNUnet use keywords to search for the appropriate content. |
22 | When run on a directory, gnunet\-publish will always recursively | ||
23 | publish all of the files in the directory. | ||
24 | .PP | ||
25 | gnunet\-publish can automatically extract keywords from the files that | ||
26 | are shared. | ||
27 | Users that want to download files from GNUnet use keywords to search | ||
28 | for the appropriate content. | ||
29 | You can disable keyword extraction with the \-D option. | 64 | You can disable keyword extraction with the \-D option. |
30 | You can manually add keywords using the \-k option. | 65 | You can manually add keywords using the \-k option. |
31 | The keywords are case\-sensitive. | 66 | The keywords are case\-sensitive. |
32 | .PP | 67 | .Pp |
33 | In addition to searching for files by keyword, GNUnet allows | 68 | In addition to searching for files by keyword, GNUnet allows organizing files into directories. |
34 | organizing files into directories. | 69 | 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. |
35 | With directories, the user only needs to find the directory in order | ||
36 | to be able to download any of the files listed in the directory. | ||
37 | Directories can contain pointers to other directories. | 70 | Directories can contain pointers to other directories. |
38 | .PP | 71 | .Pp |
39 | With gnunet\-publish, it is easy to create new directories | 72 | With gnunet\-publish, it is easy to create new directories simultaneously when adding the files. |
40 | simultaneously when adding the files. | ||
41 | Simply pass the name of a directory instead of a file. | 73 | Simply pass the name of a directory instead of a file. |
42 | .PP | 74 | .Pp |
43 | Since keywords can be spammed (any user can add any content under any | 75 | Since keywords can be spammed (any user can add any content under any keyword), GNUnet supports namespaces. |
44 | keyword), GNUnet supports namespaces. | 76 | A namespace is a subset of the searchspace into which only the holder of a certain pseudonym can add content. |
45 | A namespace is a subset of the searchspace into which only the holder | 77 | Any GNUnet user can create any number of pseudonyms using \fBgnunet\-pseudonym\fR. |
46 | of a certain pseudonym can add content. | 78 | Pseudonyms are stored in the user's GNUnet directory. |
47 | Any GNUnet user can create any number of pseudonyms using | 79 | While pseudonyms are locally identified with an arbitrary string that the user selects when the pseudonym is created, the namespace is globally known only under the hash of the public key of the pseudonym. |
48 | \fBgnunet\-pseudonym\fR. Pseudonyms are stored in the user's GNUnet | 80 | Since only the owner of the pseudonym can add content to the namespace, it is impossible for other users to pollute the namespace. |
49 | directory. | 81 | gnunet\-publish automatically publishes the top\-directory (or the only file if only one file is specified) into the namespace if a pseudonym is specified. |
50 | While pseudonyms are locally identified with an arbitrary string that | 82 | .Pp |
51 | the user selects when the pseudonym is created, the namespace is | 83 | It is possible to update content in GNUnet if that content was placed and obtained from a particular namespace. |
52 | globally known only under the hash of the public key of the pseudonym. | 84 | Updates are only possible for content in namespaces since this is the only way to assure that a malicious party can not supply counterfeited updates. |
53 | Since only the owner of the pseudonym can add content to the | 85 | Note that an update with GNUnet does not make the old content unavailable, GNUnet merely allows the publisher to point users to more recent versions. |
54 | namespace, it is impossible for other users to pollute the namespace. | 86 | You can use the \-N option to specify the future identifier of an update. |
55 | gnunet\-publish automatically publishes the top\-directory (or the | 87 | When using this option, a GNUnet client that finds the current (\-t) identifier will automatically begin a search for the update (\-N) identifier. |
56 | only file if only one file is specified) into the namespace if a | 88 | If you later publish an update under the (\-N) identifier, both results will be given to the user. |
57 | pseudonym is specified. | 89 | .Pp |
58 | .PP | 90 | You can use automatic meta\-data extraction (based on libextractor) or the command\-line option \-m to specify meta-data. |
59 | It is possible to update content in GNUnet if that content was placed | ||
60 | and obtained from a particular namespace. | ||
61 | Updates are only possible for content in namespaces since this is the | ||
62 | only way to assure that a malicious party can not supply counterfeited | ||
63 | updates. | ||
64 | Note that an update with GNUnet does not make the old content | ||
65 | unavailable, GNUnet merely allows the publisher to point users to more | ||
66 | recent versions. | ||
67 | You can use the \-N option to specify the future identifier of an | ||
68 | update. | ||
69 | When using this option, a GNUnet client that finds the current (\-t) | ||
70 | identifier will automatically begin a search for the update (\-N) | ||
71 | identifier. | ||
72 | If you later publish an update under the (\-N) identifier, both | ||
73 | results will be given to the user. | ||
74 | .PP | ||
75 | You can use automatic meta\-data extraction (based on libextractor) or | ||
76 | the command\-line option \-m to specify meta-data. | ||
77 | For the \-m option you need to use the form keyword\-type:value. | 91 | For the \-m option you need to use the form keyword\-type:value. |
78 | For example, use "\-m os:Linux" to specify that the operating system | 92 | For example, use "\-m os:Linux" to specify that the operating system is Linux. |
79 | is Linux. | 93 | Common meta\-data types are "author", "title" , "mimetype", "filename", "language", "subject" and "keywords". |
80 | Common meta\-data types are "author", "title" , "mimetype", | 94 | A full list can be obtained from the extract tool using the option \-\-list. |
81 | "filename", "language", "subject" and "keywords". | 95 | The meta\-data is used to help users in searching for files on the network. |
82 | A full list can be obtained from the extract tool using the option | ||
83 | \-\-list. | ||
84 | The meta\-data is used to help users in searching for files on the | ||
85 | network. | ||
86 | The keywords are case\-sensitive. | 96 | The keywords are case\-sensitive. |
87 | .PP | 97 | .Pp |
88 | GNUnet supports two styles of publishing files on the network. | 98 | GNUnet supports two styles of publishing files on the network. |
89 | Publishing a file means that a copy of the file is made in the local | 99 | Publishing a file means that a copy of the file is made in the local (!) database of the node. |
90 | (!) database of the node. | 100 | Indexing a file means that an index is added to the local (!) database with symbolic links to the file itself. |
91 | Indexing a file means that an index is added to the local (!) | 101 | The links will use the SHA-512 hash of the entire file as the filename. |
92 | database with symbolic links to the file itself. | 102 | Indexing is generally significantly more efficient and the default choice. |
93 | The links will use the SHA-512 hash of the entire file as the | 103 | However, indexing only works if the indexed file can be read (using the same absolute path) by gnunet-service-fs. |
94 | filename. | 104 | If this is not the case, indexing will fail (and gnunet\-publish will automatically revert to publishing instead). |
95 | Indexing is generally significantly more efficient and the default | 105 | Regardless of which method is used to publish the file, the file will be slowly (depending on how often it is requested and on how much bandwidth is available) dispersed into the network. |
96 | choice. | 106 | If you publish or index a file and then leave the network, it will almost always NOT be available anymore. |
97 | However, indexing only works if the indexed file can be read (using | 107 | .Bl -tag -width Ds |
98 | the same absolute path) by gnunet-service-fs. | 108 | .It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME |
99 | If this is not the case, indexing will fail (and gnunet\-publish will | 109 | Use alternate config file FILENAME. |
100 | automatically revert to publishing instead). | 110 | If this option is not specified, the default is ~/.config/gnunet.conf). |
101 | Regardless of which method is used to publish the file, the file will | 111 | .It Fl D | \-disable\-extractor |
102 | be slowly (depending on how often it is requested and on how much | 112 | Disable use of GNU libextractor for finding additional keywords and metadata. |
103 | bandwidth is available) dispersed into the network. | 113 | .It Fl E | \-enable\-creation\-time |
104 | If you publish or index a file and then leave the network, it will | ||
105 | almost always NOT be available anymore. | ||
106 | .PP | ||
107 | \fB\-c \fIFILENAME\fR, \fB\-\-config=FILENAME\fR | ||
108 | Use alternate config file (if this option is not specified, the | ||
109 | default is ~/.config/gnunet.conf). | ||
110 | .TP | ||
111 | \fB\-D\fR, \fB\-\-disable\-extractor\fR | ||
112 | Disable use of GNU libextractor for finding additional keywords and | ||
113 | metadata. | ||
114 | .TP | ||
115 | \fB\-E\fR, \fB\-\-enable\-creation\-time\fR | ||
116 | Enable use of creation time timestamp in metadata. | 114 | Enable use of creation time timestamp in metadata. |
117 | Setting this information will leak | 115 | Setting this information will leak information about the time at which a file was made available. |
118 | information about the time at which a file was made available. | 116 | .It Fl e | \-extract |
119 | .TP | 117 | Print the list of keywords that will be used for each file given the current options. |
120 | \fB\-e\fR, \fB\-\-extract\fR | ||
121 | Print the list of keywords that will be used for each file given the | ||
122 | current options. | ||
123 | Do not perform any indexing or publishing. | 118 | Do not perform any indexing or publishing. |
124 | .TP | 119 | .It Fl h | \-help |
125 | \fB\-h\fR, \fB\-\-help\fR | ||
126 | Print a brief help page with all the options. | 120 | Print a brief help page with all the options. |
127 | .TP | 121 | .It Fl k Ar KEYWORD | Fl \-key= Ns Ar KEYWORD |
128 | \fB\-k \fIKEYWORD\fR, \fB\-\-key=KEYWORD\fR | 122 | Additional key to index the content with (to add multiple keys, specify multiple times). |
129 | Additional key to index the content with (to add multiple keys, | ||
130 | specify multiple times). | ||
131 | Each additional key is case\-sensitive. | 123 | Each additional key is case\-sensitive. |
132 | Can be specified multiple times. | 124 | Can be specified multiple times. |
133 | The keyword is only applied to the top\-level file or directory. | 125 | The keyword is only applied to the top\-level file or directory. |
134 | .TP | 126 | .It Fl L Ar LOGLEVEL | Fl \-loglevel= Ns Ar LOGLEVEL |
135 | \fB\-L \fILOGLEVEL\fR, \fB\-\-loglevel=\fILOGLEVEL\fR | ||
136 | Change the loglevel. | 127 | Change the loglevel. |
137 | Possible values for LOGLEVEL are ERROR, WARNING, INFO and DEBUG. | 128 | Possible values for LOGLEVEL are ERROR, WARNING, INFO and DEBUG. |
138 | .TP | 129 | .It Fl m Ar TYPE:VALUE | Fl \-meta= Ns Ar TYPE:VALUE |
139 | \fB\-m \fITYPE:VALUE\fR, \fB\-\-meta=\fITYPE:VALUE\fR | 130 | For the main file (or directory), set the metadata of the given TYPE to the given VALUE. |
140 | For the main file (or directory), set the metadata of the given TYPE | 131 | Note that this will not add the respective VALUE to the set of keywords under which the file can be found. |
141 | to the given VALUE. | 132 | .It Fl n | \-noindex |
142 | Note that this will not add the respective VALUE to the set of | ||
143 | keywords under which the file can be found. | ||
144 | .TP | ||
145 | \fB\-n\fR, \fB\-\-noindex\fR | ||
146 | Executive summary: You probably don't need it. | 133 | Executive summary: You probably don't need it. |
147 | Do not index, full publishing. | 134 | Do not index, full publishing. |
148 | Note that directories, information for keyword search, namespace | 135 | Note that directories, information for keyword search, namespace search and indexing data are always published (even without this option). |
149 | search and indexing data are always published (even without this | 136 | With this option, every block of the actual files is stored in encrypted form in the block database of the local peer. |
150 | option). | 137 | While this adds security if the local node is compromised (the adversary snags your machine), it is significantly less efficient compared to on\-demand encryption and is definitely not recommended for large files. |
151 | With this option, every block of the actual files is stored in | 138 | .It Fl N Ar ID | Fl \-next= Ns Ar ID |
152 | encrypted form in the block database of the local peer. | 139 | Specifies the next identifier of a future version of the file to be published under the same pseudonym. |
153 | While this adds security if the local node is compromised (the | ||
154 | adversary snags your machine), it is significantly less efficient | ||
155 | compared to on\-demand encryption and is definitely not recommended | ||
156 | for large files. | ||
157 | .TP | ||
158 | \fB\-N \fIID\fR, \fB\-\-next=\fIID\fR | ||
159 | Specifies the next identifier of a future version of the file to be | ||
160 | published under the same pseudonym. | ||
161 | This option is only valid together with the \-P option. | 140 | This option is only valid together with the \-P option. |
162 | This option can be used to specify what the identifier of an updated | 141 | This option can be used to specify what the identifier of an updated version will look like. |
163 | version will look like. | ||
164 | Note that specifying \-i and \-N without \-t is not allowed. | 142 | Note that specifying \-i and \-N without \-t is not allowed. |
165 | .TP | 143 | .It Fl p Ar PRIORITY | Fl \-prio= Ns Ar PRIORITY |
166 | \fB\-p \fIPRIORITY\fR, \fB\-\-prio=\fIPRIORITY\fR | ||
167 | Executive summary: You probably don't need it. | 144 | Executive summary: You probably don't need it. |
168 | Set the priority of the published content (default: 365). | 145 | Set the priority of the published content (default: 365). |
169 | If the local database is full, GNUnet will discard the content with | 146 | If the local database is full, GNUnet will discard the content with the lowest ranking. |
170 | the lowest ranking. | ||
171 | Note that ranks change over time depending on popularity. | 147 | Note that ranks change over time depending on popularity. |
172 | The default should be high enough to preserve the locally published | 148 | The default should be high enough to preserve the locally published content in favor of content that migrates from other peers. |
173 | content in favor of content that migrates from other peers. | 149 | .It Fl P Ar NAME | Fl \-pseudonym= Ns Ar NAME |
174 | .TP | 150 | For the top\-level directory or file, places the file into the namespace identified by the pseudonym NAME. |
175 | \fB\-P \fINAME\fR, \fB\-\-pseudonym=\fINAME\fR | ||
176 | For the top\-level directory or file, places the file into the | ||
177 | namespace identified by the pseudonym NAME. | ||
178 | NAME must be a valid pseudonym managed by gnunet\-identity. | 151 | NAME must be a valid pseudonym managed by gnunet\-identity. |
179 | .TP | 152 | .It Fl r Ar LEVEL | Fl \-replication= Ns Ar LEVEL |
180 | \fB\-r \fILEVEL\fR, \fB\-\-replication=\fILEVEL\fR | ||
181 | Set the desired replication level. | 153 | Set the desired replication level. |
182 | If CONTENT_PUSHING is set to YES, GNUnet will push each block (for the | 154 | 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. |
183 | file) LEVEL times to other peers before doing normal "random" | 155 | This option can be used to push some content out into the network harder. |
184 | replication of all content. | 156 | Note that pushing content LEVEL times into the network does not guarantee that there will actually be LEVEL replicas. |
185 | This option can be used to push some content out into the network | 157 | .It Fl s | \-simulate-only |
186 | harder. | 158 | When this option is used, gnunet\-publish will not actually publish the file but just simulate what would be done. |
187 | Note that pushing content LEVEL times into the network does not | 159 | This can be used to compute the GNUnet URI for a file without actually sharing it. |
188 | guarantee that there will actually be LEVEL replicas. | 160 | .It Fl t Ar ID, \-this= Ns Ar ID |
189 | .TP | 161 | Specifies the identifier under which the file is to be published under a pseudonym. |
190 | \fB\-s\fR, \fB\-\-simulate-only\fR | ||
191 | When this option is used, gnunet\-publish will not actually publish | ||
192 | the file but just simulate what would be done. | ||
193 | This can be used to compute the GNUnet URI for a file without actually | ||
194 | sharing it. | ||
195 | .TP | ||
196 | \fB\-t \fIID\fR, \fB\-\-this=\fIID\fR | ||
197 | Specifies the identifier under which the file is to be published under | ||
198 | a pseudonym. | ||
199 | This option is only valid together with the\ \-P option. | 162 | This option is only valid together with the\ \-P option. |
200 | .TP | 163 | .It Fl u Ar URI | Fl \-uri= Ns Ar URI |
201 | \fB\-u \fIURI\fR, \fB\-\-uri=\fIURI\fR | 164 | This option can be used to specify the URI of a file instead of a filename (this is the only case where the otherwise mandatory filename argument must be omitted). |
202 | This option can be used to specify the URI of a file instead of a | 165 | Instead of publishing a file or directory and using the corresponding URI, gnunet\-publish will use this URI and perform the selected namespace or keyword operations. |
203 | filename (this is the only case where the otherwise mandatory filename | 166 | This can be used to add additional keywords to a file that has already been shared or to add files to a namespace for which the URI is known but the content is not locally available. |
204 | argument must be omitted). | 167 | .It Fl v | \-version |
205 | Instead of publishing a file or directory and using the corresponding | ||
206 | URI, gnunet\-publish will use this URI and perform the selected | ||
207 | namespace or keyword operations. | ||
208 | This can be used to add additional keywords to a file that has already | ||
209 | been shared or to add files to a namespace for which the URI is known | ||
210 | but the content is not locally available. | ||
211 | .TP | ||
212 | \fB\-v\fR, \fB\-\-version\fR | ||
213 | Print the version number. | 168 | Print the version number. |
214 | .TP | 169 | .It Fl V | \-verbose |
215 | \fB\-V\fR, \fB\-\-verbose\fR | ||
216 | Be verbose. | 170 | Be verbose. |
217 | Using this option causes gnunet\-publish to print progress information | 171 | 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. |
218 | and at the end the file identification that can be used to download | 172 | .El |
219 | the file from GNUnet. | 173 | .Ss SETTING ANONYMITY LEVEL |
220 | .SH SETTING ANONYMITY LEVEL | 174 | .Bl -tag -width Ds |
221 | The \fB\-a\fR option can be used to specify additional anonymity | 175 | .It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL |
222 | constraints. | 176 | .El |
223 | If set to 0, GNUnet will publish the file non-anonymously and in fact | 177 | .sp |
224 | sign the advertisement for the file using your peer's private key. | 178 | The \fB\-a\fR option can be used to specify additional anonymity constraints. |
225 | This will allow other users to download the file as fast as possible, | 179 | 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. |
226 | including using non-anonymous methods (DHT, direct transfer). | 180 | This will allow other users to download the file as fast as possible, including using non-anonymous methods (DHT, direct transfer). |
227 | If you set it to 1 (default), you use the standard anonymous routing | 181 | If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity). |
228 | algorithm (which does not explicitly leak your identity). | 182 | However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity. |
229 | However, a powerful adversary may still be able to perform traffic | 183 | 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. |
230 | analysis (statistics) to over time infer data about your identity. | 184 | Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1. |
231 | You can gain better privacy by specifying a higher level of anonymity, | 185 | .Pp |
232 | which increases the amount of cover traffic your own traffic will get, | ||
233 | at the expense of performance. | ||
234 | Note that regardless of the anonymity level you choose, peers that | ||
235 | cache content in the network always use anonymity level 1. | ||
236 | .PP | ||
237 | The definition of the ANONYMITY LEVEL is the following. | 186 | The definition of the ANONYMITY LEVEL is the following. |
238 | 0 means no anonymity is required. | 187 | 0 means no anonymity is required. |
239 | Otherwise a value of 'v' means that 1 out of v bytes of "anonymous" | 188 | 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. |
240 | traffic can be from the local user, leaving 'v-1' bytes of cover | 189 | 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. |
241 | traffic per byte on the wire. | 190 | The time\-period is twice the average delay that GNUnet defers forwarded queries. |
242 | Thus, if GNUnet routes n bytes of messages from foreign peers (using | 191 | .Pp |
243 | anonymous routing), it may originate n/(v-1) bytes of data in the same | ||
244 | time\-period. | ||
245 | The time\-period is twice the average delay that GNUnet defers | ||
246 | forwarded queries. | ||
247 | .PP | ||
248 | The default is 1 and this should be fine for most users. | 192 | The default is 1 and this should be fine for most users. |
249 | Also notice that if you choose very large values, you may end up | 193 | 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. |
250 | having no throughput at all, especially if many of your fellow | 194 | .Sh EXAMPLES |
251 | GNUnet\-peers all do the same. | 195 | .Ss BASIC EXAMPLES |
252 | .SH EXAMPLES | 196 | Index a file COPYING: |
253 | .PP | 197 | .Pp |
254 | \fBBasic examples\fR | 198 | .Dl gnunet-publish COPYING |
255 | .TP | 199 | .Pp |
256 | gnunet\-publish COPYING | 200 | Publish a file COPYING: |
257 | Index a file COPYING | 201 | .Pp |
258 | .TP | 202 | .Dl gnunet\-publish \-n COPYING |
259 | gnunet\-publish \-n COPYING | 203 | .Pp |
260 | Publish a file COPYING | ||
261 | .TP | ||
262 | gnunet\-publish \-k gpl \-k test COPYING | ||
263 | Index a file COPYING with the keywords \fBgpl\fR and \fBtest\fR | 204 | Index a file COPYING with the keywords \fBgpl\fR and \fBtest\fR |
264 | .TP | 205 | .Pp |
265 | gnunet\-publish \-m "description:GNU License" \-k gpl \-k test \-m "mimetype:text/plain" COPYING | 206 | .Dl gnunet\-publish \-k gpl \-k test COPYING |
266 | Index a file COPYING with description "GNU License", mime-type | 207 | .Pp |
267 | "text/plain" and keywords \fBgpl\fR and \fBtest\fR | 208 | Index a file COPYING with description "GNU License", mime-type "text/plain" and keywords \fBgpl\fR and \fBtest\fR |
268 | .PP | 209 | .Pp |
269 | \fBUsing directories\fR | 210 | .Dl gnunet\-publish \-m "description:GNU License" \-k gpl \-k test \-m "mimetype:text/plain" COPYING |
270 | .TP | 211 | .Pp |
271 | mkdir gnu ; mv COPYING AUTHORS gnu/ ; gnunet\-publish \-k test \-k gnu \-D gnu/ | 212 | .Ss USING DIRECTORIES |
272 | Index the files COPYING and AUTHORS with keyword \fBtest\fR and build | 213 | Index the files COPYING and AUTHORS with keyword \fBtest\fR and build a directory containing the two files. |
273 | a directory containing the two files. Make the directory itself | 214 | Make the directory itself available under keyword \fBgnu\fR and disable keyword extraction using libextractor |
274 | available under keyword \fBgnu\fR and disable keyword extraction using | 215 | .Pp |
275 | libextractor | 216 | .Dl mkdir gnu ; mv COPYING AUTHORS gnu/ ; gnunet\-publish \-k test \-k gnu \-D gnu/ |
276 | .TP | 217 | .Pp |
277 | gnunet\-publish \-n \-m "description:Kitten collection" \-k kittens kittendir/ | 218 | Neatly publish an image gallery in \fBkittendir/\fR and its subdirs with keyword \fBkittens\fR for the directory but no keywords for the individual files or subdirs (\-n). |
278 | Neatly publish an image gallery in \fBkittendir/\fR and its subdirs | ||
279 | with keyword \fBkittens\fR for the directory but no keywords for the | ||
280 | individual files or subdirs (\-n). | ||
281 | Force description for all files. | 219 | Force description for all files. |
282 | .PP | 220 | .Pp |
283 | \fBSecure publishing with namespaces\fR | 221 | .Dl gnunet\-publish \-n \-m "description:Kitten collection" \-k kittens kittendir/ |
284 | .TP | 222 | .Pp |
285 | gnunet\-publish \-P RIAA-2 \-t gpl COPYING | 223 | .Ss SECURE PUBLISHING WITH NAMESPACES |
286 | Publish file COPYING with pseudonym RIAA-2 (\-P) and with identifier | 224 | Publish file COPYING with pseudonym RIAA-2 (\-P) and with identifier \fBgpl\fR (\-t) and no updates. |
287 | \fBgpl\fR (\-t) and no updates | 225 | .Pp |
288 | .TP | 226 | .Dl gnunet\-publish \-P RIAA-2 \-t gpl COPYING |
289 | gnunet\-publish \-P RIAA-2 \-t MUSIC \-N VIDEOS /home/ogg | 227 | .Pp |
290 | Recursively index /home/ogg and build a matching directory | 228 | Recursively index /home/ogg and build a matching directory structure. |
291 | structure. Publish the top\-level directory into the namespace under | 229 | Publish the top\-level directory into the namespace under the pseudonym RIAA\-2 (\-P) under identifier 'MUSIC' (\-t) and promise to provide an update with identifier 'VIDEOS' (\-N): |
292 | the pseudonym RIAA\-2 (\-P) under identifier 'MUSIC' (\-t) and promise | 230 | .Pp |
293 | to provide an update with identifier 'VIDEOS' (\-N): | 231 | .Dl gnunet\-publish \-P RIAA-2 \-t MUSIC \-N VIDEOS /home/ogg |
294 | .TP | 232 | .Pp |
295 | gnunet\-publish \-nV /var/lib/mysql | 233 | Recursively publish (\-n) /var/lib/mysql and build a matching directory structure, but disable the use of libextractor to extract keywords (\-n). |
296 | Recursively publish (\-n) /var/lib/mysql and build a matching | 234 | Print the file identifiers (\-V) that can be used to retrieve the files. |
297 | directory structure, but disable the use of libextractor to extract | 235 | This will store a copy of the MySQL database in GNUnet but without adding any keywords to search for it. |
298 | keywords (\-n). | 236 | Thus only people that have been told the secret file identifiers printed with the \-V option can retrieve the (secret?) files: |
299 | Print the file identifiers (\-V) that can be used to retrieve the | 237 | .Pp |
300 | files. | 238 | .Dl gnunet\-publish \-nV /var/lib/mysql |
301 | This will store a copy of the MySQL database in GNUnet but without | 239 | .Pp |
302 | adding any keywords to search for it. | 240 | Create a namespace entry 'root' in namespace MPAA-1 and announce that the next update will be called 'next': |
303 | Thus only people that have been told the secret file identifiers | 241 | .Pp |
304 | printed with the \-V option can retrieve the (secret?) files: | 242 | .Dl gnunet\-publish \-P MPAA-1 \-t root \-N next noise.mp3 |
305 | .TP | 243 | .Pp |
306 | gnunet\-publish \-P MPAA-1 \-t root \-N next noise.mp3 | ||
307 | Create a namespace entry 'root' in namespace MPAA-1 and announce that | ||
308 | the next update will be called 'next': | ||
309 | .TP | ||
310 | gnunet\-publish \-P MPAA-1 \-t next noise_updated.mp3 | ||
311 | Update the previous entry, do not allow any future updates: | 244 | Update the previous entry, do not allow any future updates: |
312 | .SH FILES | 245 | .Pp |
246 | .Dl gnunet\-publish \-P MPAA-1 \-t next noise_updated.mp3 | ||
247 | .Pp | ||
248 | .Sh FILES | ||
313 | .TP | 249 | .TP |
314 | ~/.config/gnunet.conf | 250 | ~/.config/gnunet.conf |
315 | GNUnet configuration file | 251 | GNUnet configuration file |
316 | .SH BUGS | 252 | .Sh SEE ALSO |
317 | Report bugs to <https://bugs.gnunet.org/> or by sending electronic | 253 | .Xr gnunet-auto-share 1 , |
318 | mail to <gnunet\-developers@gnu.org> | 254 | .Xr gnunet-fs-gtk 1 , |
319 | .SH SEE ALSO | 255 | .Xr gnunet-search 1 , |
320 | \fBgnunet\-auto\-share\fP(1) | 256 | .Xr gnunet-download 1 , |
321 | \fBgnunet\-fs\-gtk\fP(1) | 257 | .Xr gnunet.conf 5 , |
322 | \fBgnunet\-search\fP(1) | 258 | .Xr extract 1 , |
323 | \fBgnunet\-download\fP(1) | 259 | .Xr gnunet-identity 1 |
324 | \fBgnunet.conf\fP(5) | 260 | .sp |
325 | \fBextract\fP(1) | 261 | The full documentation for gnunet is maintained as a Texinfo manual. |
326 | \fBgnunet\-identity\fP(1) | ||
327 | .PP | ||
328 | The full documentation for | ||
329 | .B gnunet | ||
330 | is maintained as a Texinfo manual. | ||
331 | If the | 262 | If the |
332 | .B info | 263 | .Xr info 1 |
333 | and | 264 | and gnunet programs are properly installed at your site, the command |
334 | .B gnunet | 265 | .Pp |
335 | programs are properly installed at your site, the command | 266 | .Dl info gnunet |
336 | .IP | 267 | .Pp |
337 | .B info gnunet | ||
338 | .PP | ||
339 | should give you access to the complete handbook, | 268 | should give you access to the complete handbook, |
340 | .IP | 269 | .Pp |
341 | .B info gnunet-c-tutorial | 270 | .Dl info gnunet-c-tutorial |
342 | .PP | 271 | .Pp |
343 | will give you access to a tutorial for developers. | 272 | will give you access to a tutorial for developers. |
344 | .PP | 273 | .sp |
345 | Depending on your installation, this information is also | 274 | Depending on your installation, this information is also available in |
346 | available in | 275 | .Xr gnunet 7 and |
347 | \fBgnunet\fP(7) and \fBgnunet-c-tutorial\fP(7). | 276 | .Xr gnunet-c-tutorial 7 . |
277 | .\".Sh HISTORY | ||
278 | .\".Sh AUTHORS | ||
279 | .Sh BUGS | ||
280 | Report bugs by using | ||
281 | .Lk https://bugs.gnunet.org | ||
282 | or by sending electronic mail to | ||
283 | .Aq Mt gnunet-developers@gnu.org . | ||