Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
gatling(8)		     System Manager's Manual		      gatling(8)

NAME
     gatling - high performance file server

SYNOPSIS
     gatling [-hHnvVtdDfFUlaEe] [-i bind-to-ip] [-p bind-to-port] [-T seconds]
	     [-u uid] [-c dir] [-w workgroup] [-P bytes] [-O [f/]ip/port/regex]
	     [-r redir-url] [-X timeout,sshd]

DESCRIPTION
     gatling is a HTTP, FTP and SMB1 server.  It will export the current working
     directory to the world.

     Use -i 127.0.0.1 to only bind to a certain IP address.

     Use -H to turn off HTTP.

     Use -S to turn off SMB1.

     Use  -p 81 to bind HTTP to a different TCP port than 80.  Use -f -p 2100 to
     bind FTP to a different TCP port than 21.	When running  as  non-root,  the
     default ports are 8000 and 2121, respectively.

     Use  -u  nobody to run under a different UID than root.  This is done after
     binding the server ports, so it is safe to use -u and still bind to port 80
     -- in fact, it is recommended not to  run	gatling  as  superuser.  Use  -u
     httpd,nobody to run gatling as user httpd, but run CGIs as user nobody (for
     example so a rogue CGI program cannot kill httpd, only itself and other CGI
     programs).

     When  a  user  name  is  given  (as opposed to a numeric UID), gatling will
     switch to that user and the default group for that user  from  /etc/passwd,
     but  no  supplementary groups from /etc/group. When a UID is given, gatling
     will only switch the UID, not the GID; but you can use UID.GID  or  UID:GID
     to also specify a GID.

     Use  -c /home/www to chdir and chroot to another directory than the current
     working directory.  It is recommended to run gatling in a	chroot	environ-
     ment to lessen the impact of possible future security problems.

     Use  -P  2M to activate prefetching mode.	Gatling will then make sure this
     much data is  prefetched.	 This  can  reduce  disk  activity  and  improve
     throughput  dramatically  if  your OS I/O scheduler is not state of the art
     and you are serving several large files from the same hard disk to  differ-
     ent  downloaders.	 Without prefetching, the disk will otherwise waste time
     moving the disk head between the two large files.

     Use -f to enable anonymous FTP (default) or -F to disable it.   Use  -U  to
     disable  uploads  altogether  (normally  gatling  will allow file uploads).
     Gatling only allows uploads to world writable directories to prevent  acci-
     dental  upload permission, and the files will not be world readable (use -a
     if you want them world readable).	Gatling will  only  allow  downloads  of
     world  readable  files, that's why this switch is important.  These options
     are only available if gatling is compiled with SUPPORT_FTP defined.

     Use -e to enable encryption support (https) or -E to disable it.  These op-
     tions are only available if gatling is compiled with SUPPORT_HTTPS defined.

     Use -l to make gatling always ask for FTP passwords.  Normally gatling does
     not, which confuses some stupid clients.  This option makes gatling ask for
     (and ignore) a password.

     Use -d to enable directory index generation for HTTP  (listing  directories
     is  always  possible  in FTP), -D to disable.  It is harder to accidentally
     publish a document if the attacker can not find out the file  name  through
     directory listings.

     Use  -t  to  enable transparent proxy mode.  Normally, gatling will replace
     the port in Host: HTTP headers and FTP virtual host names with  the  actual
     port  the	connection  arrived at.  This is important for security (in case
     you have a secret intranet web site on port 81, which  is	blocked  at  the
     firewall).   However,  when  using  a  firewall  to redirect connections to
     gatling, it may make more sense to keep the ports from the HTTP Host: head-
     ers for virtual hosting.

     Use -v to enable virtual hosting mode, -V to disable it.  Normally, when  a
     HTTP  connection  asks  for  /foo.html and carries a "Host: www.fefe.de:80"
     header, gatling will chdir to "www.fefe.de:80".  If  "www.fefe.de:80"  does
     not  exist,  gatling will chdir to "default".  If this also does not exist,
     and neither -v or -V are given, gatling will serve "foo.html" from the cur-
     rent working directory.  Specifying -v will make sure that no file is  ever
     served  from  the current working directory, only from the virtual host di-
     rectories or from default.  Specifying -V means that gatling will	not  try
     to chdir at all and always serve from the current working directory.

     Use  -T 600 to set the timeout for HTTP and FTP data connections to 10 min-
     utes (600 seconds, default is 23 seconds).  Use -f -T 600 to set the  time-
     out for FTP control connections (default is 600 seconds).

     If you use -r http://master.example.com/ on mirror.example.com, and someone
     asks  for	a  file that does not exist, gatling will not create a 404 error
     but a redirect to the same file on master.example.com.

     Use -X timeout,sshd to enable SSH passthrough mode.  If someone connects on
     the SSL socket, but does not say anything for timeout  (sane  value:  2-10)
     seconds,  then  gatling  will  run  an sshd in inetd mode with that socket.
     sshd is the full path name to sshd, plus the command line you want to  give
     it,  if any.  gatling automatically appends -i, so use this for example for
     -u0 to disable DNS lookups.

     Use -O [flag/]ip/port/regex to enable proxy mode, also used  for  SCGI  and
     FastCGI.	To  use  the  proxy mode, there has to be a ".proxy" file in the
     root of the virtual host it is meant for.	Specify ip and port to point  to
     your  app server, and give a regex to match the URI.  Note: the regex needs
     to match the full file name, so use the  extension  for  matching.   If  no
     flags  are  given,  HTTP  proxying is used.  Otherwise, flags specifies the
     proxying mode: Use S for SCGI and F for FastCGI mode.  See  README.php  for
     an example.

     It  is  also possible to specify a Unix Domain socket, using the syntax --O
     [flag/]|filename|regex.  Remember to put the argument in quotes when typing
     it in the shell.

SIGNALS
     Sending gatling SIGHUP will make it close all the server  sockets	(so  you
     can  start a new gatling process with different options on the same ports).
     The old gatling process will continue serving the	established  connections
     until they are all finished.

AUTHOR
     Initially written by Felix von Leitner <felix-gatling@fefe.de>.

LICENSE
     GPLv2 (see http://www.gnu.org/copyleft/gpl.html) with an exception to allow
     linking against openssl.

								      gatling(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gatling&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help