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