1GTK-GNUTELLA(1) 1.1.14 GTK-GNUTELLA(1)
2
3
4
6 gtk-gnutella - A Gnutella client for Gtk+
7
9 gtk-gnutella
10
12 gtk-gnutella is a GTK+ Gnutella client for Unix. It supports both
13 searching and sharing with the 0.6 version of the Gnutella protocol and
14 includes support for numerous protocol improvements and additions that
15 have been added to the Gnutella network since.
16
17 The Gnutella network allows users to search for files and to advertise
18 files shared locally, but is not handling file transfers which is done
19 through HTTP. The addition of Gnutella-specific HTTP headers makes
20 each Gnutella client a powerful file swarmer where even firewalled
21 hosts can contribute.
22
23 Great care has been devoted into making gtk-gnutella powerful, effi‐
24 cient and reliable.
25
27 All the options can be abbreviated as long as the supplied name is not
28 ambiguous.
29
30 --cleanup
31 For developers mostly: this requests a final memory cleanup
32 sequence at exit time in an attempt to be able to spot memory
33 leaks by looking at all the remaining allocated blocks, letting
34 the developpers figuring out, perhaps, why they were not
35 cleaned-up properly.
36
37 --compile-info
38 Tell gtk-gnutella to output a list of variables describing com‐
39 pile-time configuration information that was gathered when the
40 program was built.
41
42 --daemonize
43 This options causes gtk-gnutella to become a daemon. It detaches
44 from the terminal (if started from one) and forks itself into
45 the background. It also changes it working directory to the root
46 directory i.e., "/" so that it doesn't block a mount point for
47 example. This is mainly meant for headless mode but you can also
48 use it if the Gtk+ GUI is enabled.
49
50 For example, if you do not start gtk-gnutella from a terminal
51 but from a window manager menu, there's little reason to not
52 daemonize gtk-gnutella. Thus you might want to add the --daemo‐
53 nize option in this case.
54
55 Please note that when gtk-gnutella is started as a daemon all
56 output which is normally send to the standard output and stan‐
57 dard error output (usually your terminal or a common log file
58 such as ~/.xsession-errors), is sent to /dev/null. The options
59 --log-stderr and --log-stdout can be used to redirect log output
60 in this case.
61
62 --exec-on-crash path
63 Execute command specified in path when gtk-gnutella crashes.
64
65 --geometry
66 This option can be used to force the main window of the GUI to a
67 certain location on your screen and/or give it certain dimen‐
68 sions.
69
70 For example, the following would position the window in the
71 lower right corner with a width of 800 pixels and a height of
72 600 pixels:
73
74 gtk-gnutella --geometry 800x600-0-0
75
76 Note that none of this can be guaranteed, your window manager
77 has the last word on this. This option is a traditional command-
78 line switch supported by most X11 applications.
79
80 --help Show a summary of all supported options.
81
82 --log-stderr , --log-stdout
83 These options allow you to log everything which is written to
84 stderr respectively stdout to some files. A typical use would
85 look like this:
86
87 gtk-gnutella --daemonize \
88 --log-stderr ~/logs/gtkg.stderr \
89 --log-stdout ~/logs/gtkg.stdout
90
91 Redirecting these log messages also works without --daemonize.
92 Of course, log files can become large and you might want to ar‐
93 chive them or delete them periodically. After moving or deleting
94 the log files, you can send gtk-gnutella a SIGHUP signal to cre‐
95 ate new log files.
96
97 --log-supervise
98 Redirects the logs for the supervisor process.
99
100 --minimized
101 Launches gtk-gnutella with a minimized main window. Recommended
102 when starting gtk-gnutella in the background on login.
103
104 --no-dbus
105 Disable notifications of gtk-gnutella events to D-BUS.
106
107 --no-restart
108 Prevents gtk-gnutella from auto-restarting itself when crashing
109 on a platform where core dumps are not possible or disabled.
110
111 --no-supervise
112 Prevents gtk-gnutella from starting a supervising process that
113 will monitor the main process and automatically restart a new
114 instance when the previous one exits abnormally.
115
116 --no-xshm
117 Disable MIT shared memory extension, when running with the X
118 graphical user-interface.
119
120 --pause-on-crash
121 Pause the process on crash, so that a debugger may be attached
122 to inspect the current state for instance.
123
124 --ping This option allows you to check whether gtk-gnutella is cur‐
125 rently running. This option returns with a success code when
126 gtk-gnutella is already running, and with a failure code when it
127 is not.
128
129 This allows you to use the following code to start gtk-gnutella
130 from a cron job or window manager menu and avoid starting it
131 twice:
132
133 gtk-gnutella --ping || gtk-gnutella
134
135 --restart-on-crash
136 Asks gtk-gnutella to auto-restart itself after crashing on a
137 platform where core dumps are allowed.
138
139 Regardless of core dumping options, --no-restart will always
140 prevent a restart whilst --restart-on-crash will always request
141 one if possible. It is not allowed to supply both options at
142 the same time.
143
144 --resume-session
145 Requests that the previous session be continued. This means
146 that searches launched for the duration of the session only will
147 not expire, that seeded files will continue to be seeded, and
148 that all the other aspects persisted during the previous session
149 will be restored (current tab for instance).
150
151 --shell
152 When this option is used to connect to an already running
153 gtk-gnutella process over a local unix domain socket. This
154 socket is located at "$GTK_GNUTELLA_DIR/ipc/socket", thus nor‐
155 mally "~/.gtk-gnutella/ipc/socket". The socket is only accessi‐
156 ble by the user running gtk-gnutella which is enforced by
157 filesystem permissions. The socket is in a dedicated directory
158 because apparently not all systems honor the access permissions
159 on sockets as seen through the filesystem.
160
161 You can disable this feature by setting the property
162 "enable_local_socket" to FALSE. It is recommendable to use this
163 local socket whenever possible instead of the TCP socket to
164 access the shell interface remotely. The reason is that the
165 authentication token is passed non-encrypted over the network
166 and everyone who can sniff the network is able to connect to the
167 remote shell. This may not matter over the loopback interface or
168 a LAN, but it's a bad idea to use this over the Internet.
169
170 --topless
171 Starts gtk-gnutella without the graphical user-interface.
172
173 --use-poll
174 For developers mostly: this requests that I/O polling be done
175 exclusively through the poll() interface instead of more modern
176 and efficient epoll() or kqueue() system calls.
177
178 --version
179 Show the user-agent string used on the Gnutella network which
180 also holds the version information.
181
183 When gtk-gnutella is first started, it will attempt to connect to a
184 well-known hosts server for some hosts to connect to. If you know a
185 host you want to connect to, you can enter it in the box on the Gnutel‐
186 laNet tab and push the Add button. When first connecting to the
187 gnutella network, it can take some time to establish a stable connec‐
188 tion. Be patient.
189
191 To search files just type your query in the search box at the top of
192 the screen. All searches, both active and inactive, are shown in the
193 sidebar.
194
195 You can have multiple searches running at once. To start another search
196 while the first one is running, simply enter another search term into
197 the edit box at the top of the window.
198
199 To stop a particular search and remove its tab from the search window,
200 select the search by clicking on its tab and click the "Close search"
201 button. If you want to clear the list for a particular search, but want
202 to continue to see new files that are received for this search, click
203 the "Clear results" button.
204
205 It is possible to apply filtering to search results using the filter
206 editor. Click on "Edit filters" to access the editor. Use of the fil‐
207 tering editor goes beyond the scope of this man page, but there is a
208 tutorial on this topic on the gtk-gnutella homepage.
209
210 When you find a file that you want to download, select the file in the
211 list and click "Download selected". This file will be placed in the
212 download queue. On the downloads view you can watch the download
213 progress of the file(s) you are downloading.
214
215 It is also possible to select a bunch of files for downloading at once.
216 By holding down the control or shift keys while clicking files, you can
217 select several files and then click "Download selected" to put them all
218 in the download queue at once.
219
221 Most of the configuration can be done via the "Preferences" window that
222 can be accesed using the "File -> Preferences" menu-option. You will
223 find several tabs there, each tab regrouping common information. But
224 some specific information pertaining to downloads or searches are
225 directly available on the "Downloads" and "Uploads" panes.
226
227 If you linger your mouse over each configuration parameter, a tooltip
228 window will popup explaining the meaning of that parameter. You may
229 have to press "Enter" after a text input, or move the focus to another
230 parameter to validate your entry. Items configured via spin buttons
231 normally take effect immediately, unless you type text instead of using
232 the spin buttons.
233
235 $GTK_GNUTELLA_DIR/config_gnet
236 Per-user configuration file, for core settings. This can be
237 edited when the program is not running, but it is best to use
238 the GUI to change configuration variables. gtk-gnutella saves
239 this file every time the program is exited normally.
240
241 $GTK_GNUTELLA_DIR/config_gui
242 GUI configuration. It is best to not edit this file.
243
244 $GTK_GNUTELLA_DIR/dmesh
245 This is where the download mesh is persisted. You don't need to
246 worry about this.
247
248 $GTK_GNUTELLA_DIR/dmesh_ban
249 This is where temporarily banned download mesh entries are
250 stored.
251
252 $GTK_GNUTELLA_DIR/done.namesize
253 This file holds the name and size of files completely downloaded
254 by gtk-gnutella and which will now be ignored.
255
256 $GTK_GNUTELLA_DIR/done.sha1
257 This file holds the SHA1 of files completely downloaded by
258 gtk-gnutella and which will now be ignored.
259
260 $GTK_GNUTELLA_DIR/downloads
261 This is where the download queue is persisted. Only the direct
262 downloads (i.e. non-pushed) can be saved, since they don't need
263 routing information.
264
265 $GTK_GNUTELLA_DIR/hosts
266 This is the host cache. This is saved by gtk-gnutella on exit
267 and should not be edited by hand.
268
269 $GTK_GNUTELLA_DIR/searches.xml
270 This is where the open searches and all the search filters are
271 saved.
272
273 $GTK_GNUTELLA_DIR/sha1_cache
274 This is where the cache of all the computed SHA1 is stored.
275
276 $GTK_GNUTELLA_DIR/tth_cache
277 This is the directory under which all the computed TTH trees are
278 stored. These files are binary data.
279
280 $GTK_GNUTELLA_DIR/upload_stats
281 This file keeps track of the upload statistics.
282
284 gtk-gnutella searches GTK_GNUTELLA_DIR for configuration files. If this
285 variable is not set, HOME is used instead. If HOME is not set, then no
286 configuration information will be saved when gtk-gnutella exits.
287
289 There are a couple of mailing lists for gtk-gnutella. See
290 http://sourceforge.net/mail/?group_id=4467 for more info.
291
293 gtk-gnutella is production-quality software, but still has minor bugs
294 and incomplete or missing features. But which software doesn't for its
295 authors?
296
297 There are probably other missing features that should be listed here.
298
299 A list of known bugs might be available at the gtk-gnutella web site
300 (see below.)
301
303 Additional information about gtk-gnutella and the latest version are
304 available at http://gtk-gnutella.sourceforge.net/
305
306 Additional information about gnutella is available at
307 http://www.the-gdf.org/ http://www.infoanarchy.org/en/Gnutella
308 http://rfc-gnutella.sourceforge.net/
309
311 Yann Grossel wrote the original gtk-gnutella which was running as a
312 Gnutella 0.4 client in 2000.
313
314 Raphael Manfredi <Raphael_Manfredi@pobox.com> is the current maintainer
315 and project leader (since version 0.14, released early September 2001).
316 For support, please contact the developer list, which can be reached at
317 <gtk-gnutella-devel@lists.sourceforge.net>.
318
319 For a full list of contributors, open the "About" menu.
320
321 Brian St. Pierre <bstpierre@bstpierre.org> wrote the initial version of
322 this manpage.
323
325 gtk-gnutella is Copyright (c) 2000, Yann Grossel, with additional copy‐
326 rights held by other contributors 2000-2014.
327
328 License to use and copy gtk-gnutella is given under the terms of the
329 GNU General Public License (GPL), version 2. Please see the file COPY‐
330 ING in the distribution for complete information.
331
332 This manual page can also be redistributed under the same conditions as
333 gtk-gnutella itself.
334
335
336
337Version October 2018 GTK-GNUTELLA(1)