FreeBSD Manual Pages
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)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | DEPLOYMENT | EXIT STATUS | SEE ALSO | AUTHORS | LICENSE
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>
