aboutsummaryrefslogtreecommitdiff
path: root/doc/man
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2019-04-20 13:03:55 +0000
committerng0 <ng0@n0.is>2019-04-20 13:03:55 +0000
commitd43d9041cab3b8de6a5bc649a3bdbce46256d5f7 (patch)
tree05d6cdf7654491c92276df72e9b0ba4031c1795a /doc/man
parent9809b22213f2bf01aa17256eb3f1b9bf855a22b7 (diff)
downloadgnunet-d43d9041cab3b8de6a5bc649a3bdbce46256d5f7.tar.gz
gnunet-d43d9041cab3b8de6a5bc649a3bdbce46256d5f7.zip
gnunet-publish.1: syntax
Diffstat (limited to 'doc/man')
-rw-r--r--doc/man/gnunet-publish.182
1 files changed, 50 insertions, 32 deletions
diff --git a/doc/man/gnunet-publish.1 b/doc/man/gnunet-publish.1
index cd0dda8ff..0cfad4c78 100644
--- a/doc/man/gnunet-publish.1
+++ b/doc/man/gnunet-publish.1
@@ -23,6 +23,7 @@
23.\" 23.\"
24.Dd November 16, 2015 24.Dd November 16, 2015
25.Dt GNUNET-PUBLISH 1 25.Dt GNUNET-PUBLISH 1
26.Os
26.Sh NAME 27.Sh NAME
27.Nm gnunet-publish 28.Nm gnunet-publish
28.Nd 29.Nd
@@ -51,49 +52,69 @@ a command line interface for publishing new content into GNUnet
51.Ao Ar FILENAME Ac 52.Ao Ar FILENAME Ac
52.Sh DESCRIPTION 53.Sh DESCRIPTION
53In order to share files with other GNUnet users, the files must first be made available to GNUnet. 54In order to share files with other GNUnet users, the files must first be made available to GNUnet.
54GNUnet does not automatically share all files from a certain directory (however, you can do this with the gnunet\-auto\-share tool). 55GNUnet does not automatically share all files from a certain directory (however, you can do this with
56.Xr gnunet-auto-share 1 Ns ).
55In fact, even files that are downloaded are not automatically shared. 57In fact, even files that are downloaded are not automatically shared.
56.Pp 58.Pp
57In order to start sharing files, the files must be added either using gnunet\-publish or a graphical interface such as gnunet\-fs\-gtk. 59In order to start sharing files, the files must be added either using gnunet-publish or a graphical interface such as
58The command line tool gnunet\-publish is more useful if many files are supposed to be added. 60.Xr gnunet-fs-gtk 1 .
59gnunet\-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. 61The command line tool gnunet-publish is more useful if many files are supposed to be added.
60When run on a directory, gnunet\-publish will always recursively publish all of the files in the directory. 62gnunet-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.
63When run on a directory, gnunet-publish will always recursively publish all of the files in the directory.
61.Pp 64.Pp
62gnunet\-publish can automatically extract keywords from the files that are shared. 65gnunet-publish can automatically extract keywords from the files that are shared.
63Users that want to download files from GNUnet use keywords to search for the appropriate content. 66Users that want to download files from GNUnet use keywords to search for the appropriate content.
64You can disable keyword extraction with the \-D option. 67You can disable keyword extraction with the
65You can manually add keywords using the \-k option. 68.Fl D
66The keywords are case\-sensitive. 69option.
70You can manually add keywords using the
71.Fl k
72option.
73The keywords are case-sensitive.
67.Pp 74.Pp
68In addition to searching for files by keyword, GNUnet allows organizing files into directories. 75In addition to searching for files by keyword, GNUnet allows organizing files into directories.
69With directories, the user only needs to find the directory in order to be able to download any of the files listed in the directory. 76With directories, the user only needs to find the directory in order to be able to download any of the files listed in the directory.
70Directories can contain pointers to other directories. 77Directories can contain pointers to other directories.
71.Pp 78.Pp
72With gnunet\-publish, it is easy to create new directories simultaneously when adding the files. 79With gnunet-publish, it is easy to create new directories simultaneously when adding the files.
73Simply pass the name of a directory instead of a file. 80Simply pass the name of a directory instead of a file.
74.Pp 81.Pp
75Since keywords can be spammed (any user can add any content under any keyword), GNUnet supports namespaces. 82Since keywords can be spammed (any user can add any content under any keyword), GNUnet supports namespaces.
76A namespace is a subset of the searchspace into which only the holder of a certain pseudonym can add content. 83A namespace is a subset of the searchspace into which only the holder of a certain pseudonym can add content.
77Any GNUnet user can create any number of pseudonyms using \fBgnunet\-pseudonym\fR. 84Any GNUnet user can create any number of pseudonyms using
85.Xr gnunet-pseudonym 1 .
78Pseudonyms are stored in the user's GNUnet directory. 86Pseudonyms are stored in the user's GNUnet directory.
79While 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. 87While 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.
80Since only the owner of the pseudonym can add content to the namespace, it is impossible for other users to pollute the namespace. 88Since only the owner of the pseudonym can add content to the namespace, it is impossible for other users to pollute the namespace.
81gnunet\-publish automatically publishes the top\-directory (or the only file if only one file is specified) into the namespace if a pseudonym is specified. 89gnunet-publish automatically publishes the top-directory (or the only file if only one file is specified) into the namespace if a pseudonym is specified.
82.Pp 90.Pp
83It is possible to update content in GNUnet if that content was placed and obtained from a particular namespace. 91It is possible to update content in GNUnet if that content was placed and obtained from a particular namespace.
84Updates are only possible for content in namespaces since this is the only way to assure that a malicious party can not supply counterfeited updates. 92Updates are only possible for content in namespaces since this is the only way to assure that a malicious party can not supply counterfeited updates.
85Note that an update with GNUnet does not make the old content unavailable, GNUnet merely allows the publisher to point users to more recent versions. 93Note that an update with GNUnet does not make the old content unavailable, GNUnet merely allows the publisher to point users to more recent versions.
86You can use the \-N option to specify the future identifier of an update. 94You can use the
87When using this option, a GNUnet client that finds the current (\-t) identifier will automatically begin a search for the update (\-N) identifier. 95.Fl N
88If you later publish an update under the (\-N) identifier, both results will be given to the user. 96option to specify the future identifier of an update.
89.Pp 97When using this option, a GNUnet client that finds the current
90You can use automatic meta\-data extraction (based on libextractor) or the command\-line option \-m to specify meta-data. 98.Pq Fl t
91For the \-m option you need to use the form keyword\-type:value. 99identifier will automatically begin a search for the update
100.Pq Fl N
101identifier.
102If you later publish an update under the
103.Pq Fl N
104identifier, both results will be given to the user.
105.Pp
106You can use automatic meta-data extraction (based on libextractor) or the command-line option
107.Fl m
108to specify meta-data.
109For the
110.Fl m
111option you need to use the form keyword-type:value.
92For example, use "\-m os:Linux" to specify that the operating system is Linux. 112For example, use "\-m os:Linux" to specify that the operating system is Linux.
93Common meta\-data types are "author", "title" , "mimetype", "filename", "language", "subject" and "keywords". 113Common meta-data types are "author", "title", "mimetype", "filename", "language", "subject" and "keywords".
94A full list can be obtained from the extract tool using the option \-\-list. 114A full list can be obtained from the extract tool using the option
95The meta\-data is used to help users in searching for files on the network. 115.Fl \-list .
96The keywords are case\-sensitive. 116The meta-data is used to help users in searching for files on the network.
117The keywords are case-sensitive.
97.Pp 118.Pp
98GNUnet supports two styles of publishing files on the network. 119GNUnet supports two styles of publishing files on the network.
99Publishing a file means that a copy of the file is made in the local (!) database of the node. 120Publishing a file means that a copy of the file is made in the local (!) database of the node.
@@ -101,13 +122,14 @@ Indexing a file means that an index is added to the local (!) database with symb
101The links will use the SHA-512 hash of the entire file as the filename. 122The links will use the SHA-512 hash of the entire file as the filename.
102Indexing is generally significantly more efficient and the default choice. 123Indexing is generally significantly more efficient and the default choice.
103However, indexing only works if the indexed file can be read (using the same absolute path) by gnunet-service-fs. 124However, indexing only works if the indexed file can be read (using the same absolute path) by gnunet-service-fs.
104If 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).
105Regardless 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.
106If 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.
107.Bl -tag -width Ds 128.Bl -tag -width Ds
108.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME 129.It Fl c Ar FILENAME | Fl \-config= Ns Ar FILENAME
109Use alternate config file FILENAME. 130Use alternate config file FILENAME.
110If this option is not specified, the default is ~/.config/gnunet.conf). 131If this option is not specified, the default is
132.Pa ~/.config/gnunet.conf .
111.It Fl D | \-disable\-extractor 133.It Fl D | \-disable\-extractor
112Disable use of GNU libextractor for finding additional keywords and metadata. 134Disable use of GNU libextractor for finding additional keywords and metadata.
113.It Fl E | \-enable\-creation\-time 135.It Fl E | \-enable\-creation\-time
@@ -208,7 +230,6 @@ Index a file COPYING with the keywords \fBgpl\fR and \fBtest\fR
208Index a file COPYING with description "GNU License", mime-type "text/plain" and keywords \fBgpl\fR and \fBtest\fR 230Index a file COPYING with description "GNU License", mime-type "text/plain" and keywords \fBgpl\fR and \fBtest\fR
209.Pp 231.Pp
210.Dl gnunet\-publish \-m "description:GNU License" \-k gpl \-k test \-m "mimetype:text/plain" COPYING 232.Dl gnunet\-publish \-m "description:GNU License" \-k gpl \-k test \-m "mimetype:text/plain" COPYING
211.Pp
212.Ss USING DIRECTORIES 233.Ss USING DIRECTORIES
213Index the files COPYING and AUTHORS with keyword \fBtest\fR and build a directory containing the two files. 234Index the files COPYING and AUTHORS with keyword \fBtest\fR and build a directory containing the two files.
214Make the directory itself available under keyword \fBgnu\fR and disable keyword extraction using libextractor 235Make the directory itself available under keyword \fBgnu\fR and disable keyword extraction using libextractor
@@ -219,7 +240,6 @@ Neatly publish an image gallery in \fBkittendir/\fR and its subdirs with keyword
219Force description for all files. 240Force description for all files.
220.Pp 241.Pp
221.Dl gnunet\-publish \-n \-m "description:Kitten collection" \-k kittens kittendir/ 242.Dl gnunet\-publish \-n \-m "description:Kitten collection" \-k kittens kittendir/
222.Pp
223.Ss SECURE PUBLISHING WITH NAMESPACES 243.Ss SECURE PUBLISHING WITH NAMESPACES
224Publish file COPYING with pseudonym RIAA-2 (\-P) and with identifier \fBgpl\fR (\-t) and no updates. 244Publish file COPYING with pseudonym RIAA-2 (\-P) and with identifier \fBgpl\fR (\-t) and no updates.
225.Pp 245.Pp
@@ -244,19 +264,17 @@ Create a namespace entry 'root' in namespace MPAA-1 and announce that the next u
244Update the previous entry, do not allow any future updates: 264Update the previous entry, do not allow any future updates:
245.Pp 265.Pp
246.Dl gnunet\-publish \-P MPAA-1 \-t next noise_updated.mp3 266.Dl gnunet\-publish \-P MPAA-1 \-t next noise_updated.mp3
247.Pp
248.Sh FILES 267.Sh FILES
249.TP 268.Pa ~/.config/gnunet.conf
250~/.config/gnunet.conf
251GNUnet configuration file 269GNUnet configuration file
252.Sh SEE ALSO 270.Sh SEE ALSO
271.Xr extract 1 ,
253.Xr gnunet-auto-share 1 , 272.Xr gnunet-auto-share 1 ,
273.Xr gnunet-download 1 ,
254.Xr gnunet-fs-gtk 1 , 274.Xr gnunet-fs-gtk 1 ,
275.Xr gnunet-identity 1 ,
255.Xr gnunet-search 1 , 276.Xr gnunet-search 1 ,
256.Xr gnunet-download 1 ,
257.Xr gnunet.conf 5 , 277.Xr gnunet.conf 5 ,
258.Xr extract 1 ,
259.Xr gnunet-identity 1
260.sp 278.sp
261The full documentation for gnunet is maintained as a Texinfo manual. 279The full documentation for gnunet is maintained as a Texinfo manual.
262If the 280If the