Latest Release: 0.4.5
Current in CVS: 0.4.5
Web UI Screenshots
MUTELLA - unix/linux Gnutella-net client
Well, yet another Gnutella clone. Initially I wrote it for myself suddenly
I've noticed that it's not bad at all... Still it is far from being ideal
General information about Gnutella network can be found at
The INSTALL document describes how to build mutella. If you are running a
reasonably recent (less than a year old) release of Linux, it will amount
to the following steps:
# unpack the tarfile, this will create a directory "mutella-X.X"
# go into the directory that was just produced
./configure # or 'sh ./configure'
# do not forget --prefix=... if you want mutella
# to be installed in the place other than /usr/local
make # or 'gmake' on some systems, like BSD or Solaris
make install # if you want to binary, manual pahes and WEB-ui
# template in a public directories like /usr/local/xxx
Compiled? Installed? Ready to rock! See "Usage" for the tips. Or just start
your client and get connected to the gnutella network.
The situation with the lack of documentation is slowly improving. Starting
from version 0.4 mutella ships with the manual page, containing detailed
description of program functionality. However, this page may display
incorrectly if your man-subsytem makes use of the older version of GNU
groff. For that reason and also to save people from reading long and
precise description, we provide major usage tips here. This description
is certainly incomplete and mey be slightly out of date, but hopefully
is sufficient to help one to get started.
NEW: Since version 0.3.9b mutella provides built-in HTTP interface, which,
however, is disabled by default in order to guaranty high security of the
default configuration. The procedure of activation of the remote interface
is briefly described in the HTTP-interface section.
TIP: Many mutella's users find 'screen' system command to be extremely
useful to run mutella 24/7 independent of for example X session. Consult
screen(1) manual page.
Current version of mutella does not have any command line options; to start
the client simply type 'mutella'. It will perform certain initialisation
steps and will come up with '>'. Now you can type in commands. 'help' or
'?' without parameters lists all supported commands. Type 'help '
to see some details on the command usage.
The most useful commands are:
this adds new query to the search list. additionally you can specify
minimum size of the file with 'min:XXXX' or exact size with
'size:XXXX' where XXXX is the size specification. K, M and G
suffixes are accepted. When issued without parameters performs
list [-auto] [-empty]
displays current query list. When keyword(s) is/are specified lists
only searches which contain all given keywords. Optional parameter
'-auto' suppressed automatically generated searches like searches
for the alternative locations for the files you attempt to download
or searches for broken downloads and partial files. Use '-empty' to
suppress output of searches with no hits.
synonym for 'list -empty'.
displays the results of the query(s). Queries can be selected by the
numeric IDs given by previous 'list' command or by the set of
keywords. Accepts numeric ranges like 1-5,7,21- and so on.
retrieve the file, or the set of files for the result Ids given.
displays various bits of information concerning current status of the
client and the net.
stops a transfer (upload or download) for given ID(s). When stopping
the download partial file remains on the disc.
opens Gnutella-net connection to the given host. When 'port' is
ommited 6346 is assumed.
closes the Gnutella-net connection by numeric ID(s).
sets or displays values of the various parameters.
rescans the shared directory
The behaviour of Mutella to great degree depends on multitude of options,
also referred here as properties, parameters or variables. You can access
these by the `set' command. NEW: `help' command now works with properties
as well, e.g. `help MaxUploads' will produce few lines of text describing
MaxUploads variable. Currently almost all variables are documented to some
degree, but still I will mention few of them here.
BandwidthTransfer maximum network bandwidth given to all uploads together
DownloadPath where to put files
ForceIP IP to display to the network (if behind firewall)
ForcePort port to display to the network
MaxConnections maximum Gnutella-net connections. set according to your
bandwidth. In most cases values between 6 and 20 make
sense. 15 connections I normally use result in 15-
60Kbyte per second of connection-related bandwidth
MinConnections minimum number of connections to maintain. recommended
value is 4.
MaxUploads maximum number of uploads.
SharePath path to your shared files. curently only single
Directory is supported, but you can use symbolic links
inside it to share files for example from different
TerminalLines number of lines in your terminal window.
TreminalColumns width of the terminal window in characters.
Paginate Boolean variable controls whether to stop between
When client is started, before '>' is displayed optional start-up script
can be executed. Default location of the script is $HOME/.mutella/termrc
(used to be $HOME/.mutella_termrc in the earlier versions). Syntax is
similar to the interactive mode commands described above.
Since version 0.3.9b mutella provides built-in template-based HTTP
interface. The default location of the template files is
The access to the remote interface is disabled by default in order to
ensure that high security and privacy traditionally provided by mutella
is maintained. To enable http-ui one has to:
1. Set remote username/password via 'RemotePass' and 'RemotePass' variables
2. Set 'RemoteEnable' to 'true'
3. Set 'AllowedRemoteNet' to something appropriate if http-ui is supposed
to be used from somewhere else. The default is 'localhost only' that is
'127.0.0.1/32'. To enable any IP to use the HTTP interface set
'AllowedRemoteNet' to '0.0.0.0/0'.
To connect to the http interface type 'http://localhost:6346/remote' in
your favourite browser (this implies that your client is listening on port
6346; check 'LocalPort' if this does not work).
TIP: if you set 'AllowedRemoteNet' to your private class-C subnet like
'192.168.1.0/24' it is important to realise that the 'localhost' is no
longer allowed to use the UI. The workaround is to use the host name instead
of the 'localhost' in the browther.
For troubleshooting is it helpfull to check HTTP access log file located at
'~/.mutella/htaccess.log' The logging facility may be switched off by setting
'RemoteLogAccess' to 'false'
NOTE: The template pages for the remote interface are installed to
/share/mutella/remote/template by default. The place where mutella
looks for the template is controlled by 'RemoteTemplatePath' variable.
This variable will point to the correct location if you have installed
mutella using 'make install' or as a binary package. Othervise you have to
adjust 'RemoteTemplatePath' to point ot the correct directory on your file
system. Mutella's built-in HTTP server does not allow '..' path elements and
does not build directory indexes for security reasons.
For a comprehensive reference or the guide for creating/modifying templtes
it would be usefull to see README.HTTP-UI when it is written.
List of relevant Mutella variables
RemoteEnable Enable/Disable http-ui. Default is 'false'
RemoteLogAccess Log http-ui access. Default is 'true'. Access is logged
AllowedRemoteNet The subnet, allowed to use http-ui. Default is
localhost (127.0.0.1/32). Setting it to 0.0.0.0/0
enables access from any IP
RemoteDir Http path to http-ui. Default is "/remote". If changed
requires restart to have an effect
RemoteTemplatePath Disk path to the http template
RemoteUser User name for the http authentification. Default is
empty. Stored as clear text
RemotePass Password for the http authentification. Default is
empty. Stored as clear text
Good files for everybody!
Hope mutella works fine for you.