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.1152
1 files changed, 106 insertions, 46 deletions
diff --git a/doc/man/gnunet-publish.1 b/doc/man/gnunet-publish.1
index b003f27e0..c41e34a8c 100644
--- a/doc/man/gnunet-publish.1
+++ b/doc/man/gnunet-publish.1
@@ -45,7 +45,7 @@ a command line interface for publishing new content into GNUnet
45.Op Fl P Ar NAME | Fl \-pseudonym= Ns Ar NAME 45.Op Fl P Ar NAME | Fl \-pseudonym= Ns Ar NAME
46.Op Fl r Ar LEVEL | Fl \-replication= Ns Ar LEVEL 46.Op Fl r Ar LEVEL | Fl \-replication= Ns Ar LEVEL
47.Op Fl s | \-simulate-only 47.Op Fl s | \-simulate-only
48.Op Fl t Ar ID, \-this= Ns Ar ID 48.Op Fl t Ar ID | Fl \-this= Ns Ar ID
49.Op Fl u Ar URI | Fl \-uri= Ns Ar URI 49.Op Fl u Ar URI | Fl \-uri= Ns Ar URI
50.Op Fl v | \-version 50.Op Fl v | \-version
51.Op Fl V | \-verbose 51.Op Fl V | \-verbose
@@ -125,25 +125,24 @@ However, indexing only works if the indexed file can be read (using the same abs
125If this is not the case, indexing will fail (and gnunet-publish will automatically revert to publishing instead). 125If this is not the case, indexing will fail (and gnunet-publish will automatically revert to publishing instead).
126Regardless 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. 126Regardless 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.
127If you publish or index a file and then leave the network, it will almost always NOT be available anymore. 127If you publish or index a file and then leave the network, it will almost always NOT be available anymore.
128.Sh OPTIONS 128.Pp
129The options are as follows:
129.Bl -tag -width Ds 130.Bl -tag -width Ds
130.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL 131.It Fl a Ar LEVEL | Fl \-anonymity= Ns Ar LEVEL
131This option can be used to specify additional anonymity constraints. The default is 1. 132This option can be used to specify additional anonymity constraints.
133The default is 1.
132If 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. 134If 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.
133This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer). 135This will allow other users to download the file as fast as possible, including using non-anonymous methods (discovery via DHT and CADET transfer).
134If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity). 136If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity).
135However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity. 137However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time discovery your identity.
136You can gain better privacy by specifying a higher level of anonymity (using values above 1). 138You can gain better privacy by specifying a higher level of anonymity (using values above 1).
137This tells FS that it must hide your own requests in equivalent\-looking cover traffic. 139This tells FS that it must hide your own requests in equivalent-looking cover traffic.
138This should confound an adversaries traffic analysis, increasing the time and effort it would 140This should confound an adversaries traffic analysis, increasing the time and effort it would take to discover your identity.
139take to discover your identity. However, it also can significantly reduce performance, as 141However, it also can significantly reduce performance, as your requests will be delayed until sufficient cover traffic is available.
140your requests will be delayed until sufficient cover traffic is available. The specific 142The specific numeric value (for anonymity levels above 1) is simple:
141numeric value (for anonymity levels above 1) is simple: 143Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L-1 equivalent requests of cover traffic (traffic your peer routes for others) in the same time-period.
142Given an anonymity level L (above 1), each request FS makes on your behalf must be hidden in L\-1 equivalent 144The time-period is twice the average delay by which GNUnet artificially delays traffic.
143requests of cover traffic (traffic your peer routes for others) in the same time\-period. 145Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1.
144The time\-period is twice the average delay by which GNUnet artificially delays traffic.
145Note that regardless of the anonymity level you choose, peers that cache content in the
146network always use anonymity level 1.
147.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME 146.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
148Use alternate config file FILENAME. 147Use alternate config file FILENAME.
149If this option is not specified, the default is 148If this option is not specified, the default is
@@ -174,12 +173,20 @@ Executive summary: You probably don't need it.
174Do not index, full publishing. 173Do not index, full publishing.
175Note that directories, information for keyword search, namespace search and indexing data are always published (even without this option). 174Note that directories, information for keyword search, namespace search and indexing data are always published (even without this option).
176With this option, every block of the actual files is stored in encrypted form in the block database of the local peer. 175With this option, every block of the actual files is stored in encrypted form in the block database of the local peer.
177While 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. 176While 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.
178.It Fl N Ar ID | Fl \-next= Ns Ar ID 177.It Fl N Ar ID | Fl \-next= Ns Ar ID
179Specifies the next identifier of a future version of the file to be published under the same pseudonym. 178Specifies the next identifier of a future version of the file to be published under the same pseudonym.
180This option is only valid together with the \-P option. 179This option is only valid together with the
180.Fl P
181option.
181This option can be used to specify what the identifier of an updated version will look like. 182This option can be used to specify what the identifier of an updated version will look like.
182Note that specifying \-i and \-N without \-t is not allowed. 183Note that specifying
184.Fl i
185and
186.Fl N
187without
188.Fl t
189is not allowed.
183.It Fl p Ar PRIORITY | Fl \-prio= Ns Ar PRIORITY 190.It Fl p Ar PRIORITY | Fl \-prio= Ns Ar PRIORITY
184Executive summary: You probably don't need it. 191Executive summary: You probably don't need it.
185Set the priority of the published content (default: 365). 192Set the priority of the published content (default: 365).
@@ -187,8 +194,9 @@ If the local database is full, GNUnet will discard the content with the lowest r
187Note that ranks change over time depending on popularity. 194Note that ranks change over time depending on popularity.
188The default should be high enough to preserve the locally published content in favor of content that migrates from other peers. 195The default should be high enough to preserve the locally published content in favor of content that migrates from other peers.
189.It Fl P Ar NAME | Fl \-pseudonym= Ns Ar NAME 196.It Fl P Ar NAME | Fl \-pseudonym= Ns Ar NAME
190For the top\-level directory or file, places the file into the namespace identified by the pseudonym NAME. 197For the top-level directory or file, places the file into the namespace identified by the pseudonym NAME.
191NAME must be a valid pseudonym managed by gnunet\-identity. 198NAME must be a valid pseudonym managed by
199.Xr gnunet-identity 1 .
192.It Fl r Ar LEVEL | Fl \-replication= Ns Ar LEVEL 200.It Fl r Ar LEVEL | Fl \-replication= Ns Ar LEVEL
193Set the desired replication level. 201Set the desired replication level.
194If 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. 202If 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.
@@ -197,70 +205,122 @@ Note that pushing content LEVEL times into the network does not guarantee that t
197.It Fl s | \-simulate-only 205.It Fl s | \-simulate-only
198When this option is used, gnunet\-publish will not actually publish the file but just simulate what would be done. 206When this option is used, gnunet\-publish will not actually publish the file but just simulate what would be done.
199This can be used to compute the GNUnet URI for a file without actually sharing it. 207This can be used to compute the GNUnet URI for a file without actually sharing it.
200.It Fl t Ar ID, \-this= Ns Ar ID 208.It Fl t Ar ID | Fl \-this= Ns Ar ID
201Specifies the identifier under which the file is to be published under a pseudonym. 209Specifies the identifier under which the file is to be published under a pseudonym.
202This option is only valid together with the\ \-P option. 210This option is only valid together with the
211.Fl P
212option.
203.It Fl u Ar URI | Fl \-uri= Ns Ar URI 213.It Fl u Ar URI | Fl \-uri= Ns Ar URI
204This 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). 214This 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).
205Instead 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. 215Instead 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.
206This 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. 216This 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.
207.It Fl v | \-version 217.It Fl v | \-version
208Print the version number. 218Print the version number.
209.It Fl V | \-verbose 219.It Fl V | \-verbose
210Be verbose. 220Be verbose.
211Using 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. 221Using 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.
212.El 222.El
213.Sh EXAMPLES 223.Sh EXAMPLES
214.Ss BASIC EXAMPLES 224.Ss BASIC EXAMPLES
215Index a file COPYING: 225Index a file
226.Pa COPYING :
216.Pp 227.Pp
217.Dl gnunet-publish COPYING 228.Dl gnunet-publish COPYING
218.Pp 229.Pp
219Publish a file COPYING: 230Publish a file
231.Pa COPYING :
220.Pp 232.Pp
221.Dl gnunet\-publish \-n COPYING 233.Dl gnunet-publish -n COPYING
222.Pp 234.Pp
223Index a file COPYING with the keywords \fBgpl\fR and \fBtest\fR 235Index a file
236.Pa COPYING
237with the keywords
238.Ar gpl
239and
240.Ar test :
224.Pp 241.Pp
225.Dl gnunet\-publish \-k gpl \-k test COPYING 242.Dl gnunet-publish -k gpl -k test COPYING
226.Pp 243.Pp
227Index a file COPYING with description "GNU License", mime-type "text/plain" and keywords \fBgpl\fR and \fBtest\fR 244Index a file
245.Pa COPYING
246with description
247.Ar "GNU License" ,
248mime-type
249.Ar "text/plain"
250and keywords
251.Ar gpl
252and
253.Ar test:
228.Pp 254.Pp
229.Dl gnunet\-publish \-m "description:GNU License" \-k gpl \-k test \-m "mimetype:text/plain" COPYING 255.Dl gnunet-publish -m "description:GNU License" -k gpl -k test -m "mimetype:text/plain" COPYING
230.Ss USING DIRECTORIES 256.Ss USING DIRECTORIES
231Index the files COPYING and AUTHORS with keyword \fBtest\fR and build a directory containing the two files. 257Index the files
232Make the directory itself available under keyword \fBgnu\fR and disable keyword extraction using libextractor 258.Pa COPYING
259and
260.Pa AUTHORS
261with keyword
262.Ar test
263and build a directory containing the two files.
264Make the directory itself available under keyword
265.Ar gnu
266and disable keyword extraction using libextractor:
233.Pp 267.Pp
234.Dl mkdir gnu ; mv COPYING AUTHORS gnu/ ; gnunet\-publish \-k test \-k gnu \-D gnu/ 268.Dl mkdir gnu ; mv COPYING AUTHORS gnu/ ; gnunet-publish -k test -k gnu -D gnu/
235.Pp 269.Pp
236Neatly 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). 270Neatly publish an image gallery in
271.Pa kittendir/
272and its subdirs with keyword
273.Ar kittens
274for the directory but no keywords for the individual files or subdirs
275.Pq Fl n .
237Force description for all files. 276Force description for all files.
238.Pp 277.Pp
239.Dl gnunet\-publish \-n \-m "description:Kitten collection" \-k kittens kittendir/ 278.Dl gnunet-publish -n -m "description:Kitten collection" -k kittens kittendir/
240.Ss SECURE PUBLISHING WITH NAMESPACES 279.Ss SECURE PUBLISHING WITH NAMESPACES
241Publish file COPYING with pseudonym RIAA-2 (\-P) and with identifier \fBgpl\fR (\-t) and no updates. 280Publish file COPYING with pseudonym RIAA-2
281.Pq Fl P
282and with identifier \fBgpl\fR
283.Pq Fl t
284and no updates.
242.Pp 285.Pp
243.Dl gnunet\-publish \-P RIAA-2 \-t gpl COPYING 286.Dl gnunet-publish -P RIAA-2 -t gpl COPYING
244.Pp 287.Pp
245Recursively index /home/ogg and build a matching directory structure. 288Recursively index
246Publish 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): 289.Pa /home/ogg
290and build a matching directory structure.
291Publish the top-level directory into the namespace under the pseudonym
292.Ar RIAA-2
293.Pq Fl P
294under identifier
295.Ar 'MUSIC'
296.Pq Fl t
297and promise to provide an update with identifier
298.Ar 'VIDEOS'
299.Pq Fl N :
247.Pp 300.Pp
248.Dl gnunet\-publish \-P RIAA-2 \-t MUSIC \-N VIDEOS /home/ogg 301.Dl gnunet-publish -P RIAA-2 -t MUSIC -N VIDEOS /home/ogg
249.Pp 302.Pp
250Recursively publish (\-n) /var/lib/mysql and build a matching directory structure, but disable the use of libextractor to extract keywords (\-n). 303Recursively publish
251Print the file identifiers (\-V) that can be used to retrieve the files. 304.Pq Fl n
305/var/lib/mysql and build a matching directory structure, but disable the use of libextractor to extract keywords
306.Pq Fl n .
307Print the file identifiers
308.Pq Fl V
309that can be used to retrieve the files.
252This will store a copy of the MySQL database in GNUnet but without adding any keywords to search for it. 310This will store a copy of the MySQL database in GNUnet but without adding any keywords to search for it.
253Thus only people that have been told the secret file identifiers printed with the \-V option can retrieve the (secret?) files: 311Thus only people that have been told the secret file identifiers printed with the
312.Fl V
313option can retrieve the (secret?) files:
254.Pp 314.Pp
255.Dl gnunet\-publish \-nV /var/lib/mysql 315.Dl gnunet-publish -nV /var/lib/mysql
256.Pp 316.Pp
257Create a namespace entry 'root' in namespace MPAA-1 and announce that the next update will be called 'next': 317Create a namespace entry 'root' in namespace MPAA-1 and announce that the next update will be called 'next':
258.Pp 318.Pp
259.Dl gnunet\-publish \-P MPAA-1 \-t root \-N next noise.mp3 319.Dl gnunet-publish -P MPAA-1 -t root -N next noise.mp3
260.Pp 320.Pp
261Update the previous entry, do not allow any future updates: 321Update the previous entry, do not allow any future updates:
262.Pp 322.Pp
263.Dl gnunet\-publish \-P MPAA-1 \-t next noise_updated.mp3 323.Dl gnunet-publish -P MPAA-1 -t next noise_updated.mp3
264.Sh FILES 324.Sh FILES
265.Pa ~/.config/gnunet.conf 325.Pa ~/.config/gnunet.conf
266GNUnet configuration file 326GNUnet configuration file
@@ -271,7 +331,7 @@ GNUnet configuration file
271.Xr gnunet-fs-gtk 1 , 331.Xr gnunet-fs-gtk 1 ,
272.Xr gnunet-identity 1 , 332.Xr gnunet-identity 1 ,
273.Xr gnunet-search 1 , 333.Xr gnunet-search 1 ,
274.Xr gnunet.conf 5 , 334.Xr gnunet.conf 5
275.sp 335.sp
276The full documentation for gnunet is maintained as a Texinfo manual. 336The full documentation for gnunet is maintained as a Texinfo manual.
277If the 337If the