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

  
 
  

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

NAME
     vger -- inetd gemini server

SYNOPSIS
     vger [-l lang] [-v] [-i] [-c cgi_path] [-d path] [-u username]
	  [-m mimetype]

DESCRIPTION
     vger is a secure gemini server that is meant to be run on inetd(8) behind a
     relay daemon offering TLS capabilities like relayd(8).

     If  an  incoming  gemini query doesn't explicitly request a file, vger will
     serves a default "index.gmi" file if present.

     It is possible to create redirections by creating a symbolic link	contain-
     ing the new file location.

OPTIONS
     [-l lang]
	     Set  the lang in the return code to lang.	A list can be specified,
	     i.e "-l en,fr" will send "lang=en,fr".  Default is  no  lang  meta-
	     data.

     [-i]    Enable auto index if no index.gmi is found in a directory.  The in-
	     dex  is  a  file  that will contain a link to every file within the
	     current directory.

     [-v]    Enable virtualhost support, the hostname in the query will be  con-
	     sidered  as  a  directory	name.	As  example,  for  request  gem-
	     ini://hostname.example/file.gmi vger will read the  file  /var/gem-
	     ini/hostname.example/file.gmi

     [-c]    Enable  CGI  support.   cgi_path  files  will  be executed as a cgi
	     script instead of returning  their  content.   cgi_path  should  be
	     relative to chroot so cgi can be called for different virtualhosts.
	     As    example,   for   a	request   gemini://hostname.example/cgi-
	     bin/hello.cgi, one must set:

		   vger -c cgi-bin

	     In this case, pledge(2) promises and unveil permission are  set  to
	     enable cgi execution.

	     Be  very careful on how you write your CGI, it can read outside the
	     chroot.

     [-m mimetype]
	     Use mimetype instead of the "application/octet-stream"  as  content
	     type for which vger is unable to find the type.

     [-d path]
	     Use  path	instead  of  the default "/var/gemini/" path to look for
	     files.  On OpenBSD vger will use unveil(2) on this path to only al-
	     low read-only file access within this directory.

     [-u username]
	     Enable chroot(2) on the data directory and then drop privileges  to
	     username.	This requires vger to be run as root user.

DEPLOYMENT
     vger  is meant to be run by inetd(8).  vger can be used on any port because
     it won't be public.

     /etc/inetd.conf example using a dedicated gemini_user:

	   127.0.0.1:11965 stream tcp nowait gemini_user /usr/local/bin/vger vger

     The public port TCP/1965 must be served by a daemon  like	relayd(8)  which
     negociate	TLS connections and forward them to the inetd daemon on the vger
     port.  Do not forget to open the TCP/1965 port in your firewall.

     relayd.conf(5) configuration example:

	   log connection
	   relay "gemini" {
	       listen on hostname.example port 1965 tls
	       forward to 127.0.0.1 port 11965
	   }

EXIT STATUS
     The vger utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     chroot(2), unveil(2), relayd.conf(5), inetd(8), relayd(8)

AUTHORS
     See the LICENSE file for the authors.

LICENSE
     See the LICENSE file for the terms of redistribution.

FreeBSD ports 15.quarterly	December 03, 2020			 VGER(8)

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

home | help