home | help
GTK-GNUTELLA(1) 		      1.2.0			 GTK-GNUTELLA(1)

NAME
     gtk-gnutella - A Gnutella client for Gtk+

SYNOPSIS
     gtk-gnutella

DESCRIPTION
     gtk-gnutella is a GTK+ Gnutella client for Unix. It supports both searching
     and sharing with the 0.6 version of the Gnutella protocol and includes sup-
     port  for numerous protocol improvements and additions that have been added
     to the Gnutella network since.

     The Gnutella network allows users to search  for  files  and  to  advertise
     files  shared  locally,  but  is  not handling file transfers which is done
     through HTTP.  The addition of Gnutella-specific HTTP  headers  makes  each
     Gnutella  client  a  powerful  file swarmer where even firewalled hosts can
     contribute.

     Great care has been devoted into making  gtk-gnutella  powerful,  efficient
     and reliable.

OPTIONS
     All  the options can be abbreviated as long as the supplied name is not am-
     biguous.

     --cleanup
	    For developers mostly: this requests a final memory cleanup sequence
	    at exit time in an attempt to be able to spot memory leaks by  look-
	    ing  at  all the remaining allocated blocks, letting the developpers
	    figuring out, perhaps, why they were not cleaned-up properly.

     --compile-info
	    Tell gtk-gnutella to output a list of variables describing	compile-
	    time  configuration  information  that was gathered when the program
	    was built.

     --daemonize
	    This options causes gtk-gnutella to become	a  daemon.  It	detaches
	    from  the  terminal  (if started from one) and forks itself into the
	    background. It also changes it working directory to the root  direc-
	    tory  i.e.,  "/" so that it doesn't block a mount point for example.
	    This is mainly meant for headless mode but you can also  use  it  if
	    the Gtk+ GUI is enabled.

	    For  example,  if  you do not start gtk-gnutella from a terminal but
	    from a window manager menu, there's little reason to  not  daemonize
	    gtk-gnutella.  Thus  you might want to add the --daemonize option in
	    this case.

	    Please note that when gtk-gnutella is started as a daemon all output
	    which is normally send to the standard  output  and  standard  error
	    output  (usually your terminal or a common log file such as ~/.xses-
	    sion-errors), is sent to /dev/null.  The  options  --log-stderr  and
	    --log-stdout can be used to redirect log output in this case.

     --exec-on-crash path
	    Execute command specified in path when gtk-gnutella crashes.

     --geometry
	    This  option  can  be  used to force the main window of the GUI to a
	    certain location on your screen and/or give it certain dimensions.

	    For example, the following would position the window  in  the  lower
	    right corner with a width of 800 pixels and a height of 600 pixels:

		gtk-gnutella --geometry 800x600-0-0

	    Note  that	none  of this can be guaranteed, your window manager has
	    the last word on this. This option	is  a  traditional  command-line
	    switch supported by most X11 applications.

     --help
	    Show a summary of all supported options.

     --log-stderr , --log-stdout
	    These options allow you to log everything which is written to stderr
	    respectively  stdout  to  some  files. A typical use would look like
	    this:

	       gtk-gnutella --daemonize  \
		    --log-stderr ~/logs/gtkg.stderr \
		    --log-stdout ~/logs/gtkg.stdout

	    Redirecting these log messages also works without  --daemonize.   Of
	    course,  log  files  can  become large and you might want to archive
	    them or delete them periodically. After moving or deleting	the  log
	    files,  you  can send gtk-gnutella a SIGHUP signal to create new log
	    files.

     --log-supervise
	    Redirects the logs for the supervisor process.

     --minimized
	    Launches gtk-gnutella with a minimized main window. Recommended when
	    starting gtk-gnutella in the background on login.

     --no-dbus
	    Disable notifications of gtk-gnutella events to D-BUS.

     --no-expire
	    Disable GUI popups when gtk-gnutella has expired.  This is	not  the
	    default  behaviour	because  we  wish to keep the network healthy by
	    having recent versions running, but at the same time  we  understand
	    not everyone can or wants to upgrade in a timely manner.

     --no-restart
	    Prevents gtk-gnutella from auto-restarting itself when crashing on a
	    platform where core dumps are not possible or disabled.

     --no-supervise
	    Prevents  gtk-gnutella from starting a supervising process that will
	    monitor the main process and automatically restart	a  new	instance
	    when the previous one exits abnormally.

     --no-xshm
	    Disable MIT shared memory extension, when running with the X graphi-
	    cal user-interface.

     --pause-on-crash
	    Pause  the	process  on crash, so that a debugger may be attached to
	    inspect the current state for instance.

     --ping
	    This option allows you to check whether  gtk-gnutella  is  currently
	    running.  This  option returns with a success code when gtk-gnutella
	    is already running, and with a failure code when it is not.

	    This allows you to use the following code to start gtk-gnutella from
	    a cron job or window manager menu and avoid starting it twice:

		gtk-gnutella --ping || gtk-gnutella

     --restart-on-crash
	    Asks gtk-gnutella to auto-restart itself after crashing on	a  plat-
	    form where core dumps are allowed.

	    Regardless of core dumping options, --no-restart will always prevent
	    a  restart whilst --restart-on-crash will always request one if pos-
	    sible.  It is not allowed to supply both options at the same time.

     --resume-session
	    Requests that the previous session be continued.   This  means  that
	    searches  launched for the duration of the session only will not ex-
	    pire, that seeded files will continue to be seeded, and that all the
	    other aspects persisted during the previous session will be restored
	    (current tab for instance).

     --shell
	    When  this	option	is  used  to  connect  to  an  already	 running
	    gtk-gnutella process over a local unix domain socket. This socket is
	    located    at    "$GTK_GNUTELLA_DIR/ipc/socket",	thus	normally
	    "~/.gtk-gnutella/ipc/socket". The socket is only accessible  by  the
	    user  running  gtk-gnutella  which is enforced by filesystem permis-
	    sions. The socket is in a dedicated directory because apparently not
	    all systems honor the access permissions on sockets as seen  through
	    the filesystem.

	    You  can  disable  this  feature by setting the property "enable_lo-
	    cal_socket" to FALSE. It is recommendable to use this  local  socket
	    whenever  possible instead of the TCP socket to access the shell in-
	    terface remotely. The reason is that  the  authentication  token  is
	    passed non-encrypted over the network and everyone who can sniff the
	    network  is able to connect to the remote shell. This may not matter
	    over the loopback interface or a LAN, but it's a  bad  idea  to  use
	    this over the Internet.

     --topless
	    Starts gtk-gnutella without the graphical user-interface.

     --use-poll
	    For developers mostly: this requests that I/O polling be done exclu-
	    sively through the poll() interface instead of more modern and effi-
	    cient epoll() or kqueue() system calls.

     --version
	    Show  the  user-agent string used on the Gnutella network which also
	    holds the version information.

GETTING STARTED
     When gtk-gnutella is first started, it will attempt to connect to	a  well-
     known  hosts  server  for	some hosts to connect to. If you know a host you
     want to connect to, you can enter it in the box on the GnutellaNet tab  and
     push  the Add button. When first connecting to the gnutella network, it can
     take some time to establish a stable connection. Be patient.

SEARCHING
     To search files just type your query in the search box at the  top  of  the
     screen. All searches, both active and inactive, are shown in the sidebar.

     You  can  have  multiple  searches running at once. To start another search
     while the first one is running, simply enter another search term  into  the
     edit box at the top of the window.

     To  stop a particular search and remove its tab from the search window, se-
     lect the search by clicking on its tab and click the "Close search" button.
     If you want to clear the list for a particular search, but want to continue
     to see new files that are received for this search, click	the  "Clear  re-
     sults" button.

     It  is  possible to apply filtering to search results using the filter edi-
     tor. Click on "Edit filters" to access the editor. Use of the filtering ed-
     itor goes beyond the scope of this man page, but there  is  a  tutorial  on
     this topic on the gtk-gnutella homepage.

     When you find a file that you want to download, select the file in the list
     and  click  "Download  selected".	This file will be placed in the download
     queue. On the downloads view you can watch the  download  progress  of  the
     file(s) you are downloading.

     It  is also possible to select a bunch of files for downloading at once. By
     holding down the control or shift keys while clicking files, you can select
     several files and then click "Download selected" to put  them  all  in  the
     download queue at once.

CONFIGURATION
     Most of the configuration can be done via the "Preferences" window that can
     be accesed using the "File -> Preferences" menu-option.  You will find sev-
     eral tabs there, each tab regrouping common information.  But some specific
     information  pertaining  to downloads or searches are directly available on
     the "Downloads" and "Uploads" panes.

     If you linger your mouse over each configuration parameter, a tooltip  win-
     dow  will	popup explaining the meaning of that parameter.  You may have to
     press "Enter" after a text input, or move the focus to another parameter to
     validate your entry.  Items configured via spin buttons normally  take  ef-
     fect immediately, unless you type text instead of using the spin buttons.

FILES
     $GTK_GNUTELLA_DIR/config_gnet
	    Per-user  configuration  file, for core settings. This can be edited
	    when the program is not running, but it is best to use  the  GUI  to
	    change  configuration variables.  gtk-gnutella saves this file every
	    time the program is exited normally.

     $GTK_GNUTELLA_DIR/config_gui
	    GUI configuration.	It is best to not edit this file.

     $GTK_GNUTELLA_DIR/dmesh
	    This is where the download mesh is persisted.   You  don't	need  to
	    worry about this.

     $GTK_GNUTELLA_DIR/dmesh_ban
	    This is where temporarily banned download mesh entries are stored.

     $GTK_GNUTELLA_DIR/done.namesize
	    This  file holds the name and size of files completely downloaded by
	    gtk-gnutella and which will now be ignored.

     $GTK_GNUTELLA_DIR/done.sha1
	    This  file	holds  the  SHA1  of  files  completely  downloaded   by
	    gtk-gnutella and which will now be ignored.

     $GTK_GNUTELLA_DIR/downloads
	    This  is  where  the  download  queue is persisted.  Only the direct
	    downloads (i.e. non-pushed) can be	saved,	since  they  don't  need
	    routing information.

     $GTK_GNUTELLA_DIR/hosts
	    This  is  the  host cache. This is saved by gtk-gnutella on exit and
	    should not be edited by hand.

     $GTK_GNUTELLA_DIR/searches.xml
	    This is where the open searches  and  all  the  search  filters  are
	    saved.

     $GTK_GNUTELLA_DIR/sha1_cache
	    This is where the cache of all the computed SHA1 is stored.

     $GTK_GNUTELLA_DIR/tth_cache
	    This  is  the  directory  under which all the computed TTH trees are
	    stored.  These files are binary data.

     $GTK_GNUTELLA_DIR/upload_stats
	    This file keeps track of the upload statistics.

ENVIRONMENT
     gtk-gnutella searches GTK_GNUTELLA_DIR for  configuration	files.	If  this
     variable is not set, HOME is used instead. If HOME is not set, then no con-
     figuration information will be saved when gtk-gnutella exits.

MAILING LISTS
     There  are  a couple of mailing lists for gtk-gnutella.  See http://source-
     forge.net/mail/?group_id=4467 for more info.

BUGS
     gtk-gnutella is production-quality software, but still has minor  bugs  and
     incomplete  or  missing  features.   But which software doesn't for its au-
     thors?

     There are probably other missing features that should be listed here.

     A list of known bugs might be available at the gtk-gnutella web  site  (see
     below.)

SEE ALSO
     Additional information about gtk-gnutella and the latest version are avail-
     able at http://gtk-gnutella.sourceforge.net/

     Additional     information     about     gnutella	   is	 available    at
     http://www.the-gdf.org/		  http://www.infoanarchy.org/en/Gnutella
     http://rfc-gnutella.sourceforge.net/

AUTHORS
     Yann  Grossel  wrote  the	original  gtk-gnutella	which  was  running as a
     Gnutella 0.4 client in 2000.

     Raphael Manfredi <Raphael_Manfredi@pobox.com> is the current maintainer and
     project leader (since version 0.14, released early September 2001).
     For support, please contact the developer list, which  can  be  reached  at
     <gtk-gnutella-devel@lists.sourceforge.net>.

     For a full list of contributors, open the "About" menu.

     Brian  St.  Pierre  <bstpierre@bstpierre.org>  wrote the initial version of
     this manpage.

COPYRIGHT
     gtk-gnutella is Copyright (c) 2000, Yann  Grossel,  with  additional  copy-
     rights held by other contributors 2000-2020

     License  to  use  and copy gtk-gnutella is given under the terms of the GNU
     General Public License (GPL), version 2. Please see the file COPYING in the
     distribution for complete information.

     This manual page can also be redistributed under  the  same  conditions  as
     gtk-gnutella itself.

Version 			    July 2020			 GTK-GNUTELLA(1)

home | help