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

FreeBSD Manual Pages

  
 
  

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)  be-
       hind 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  con-
       taining the new file location.

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

       [-i]    Enable auto index if no index.gmi is found in a directory.  The
	       index  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
	       considered  as  a directory name.  As example, for request gem-
	       ini://hostname.example/file.gmi	vger  will   read   the	  file
	       /var/gemini/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.exam-
	       ple/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  con-
	       tent 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
	       allow 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 be-
       cause 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 fire-
       wall.

       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.0	       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.0>

home | help