diff options
author | Evaldas Auryla <ea@uoga.net> | 2021-05-07 11:50:16 -0700 |
---|---|---|
committer | Neel Chauhan <nc@FreeBSD.org> | 2021-05-07 11:52:17 -0700 |
commit | 23be95ab476aa70f86b4ada5bc5059f50fbb2b1d (patch) | |
tree | 5ccaf1e23f0506f9fc8c8a87edd1a1bf92c51fd2 /net/gemserv/files | |
parent | math/gretl: Update 2021a -> 2021b (diff) |
New port: net/gemserv: Gemini server written in Rust
PR: 255684
Diffstat (limited to 'net/gemserv/files')
-rw-r--r-- | net/gemserv/files/config.toml.sample.in | 21 | ||||
-rw-r--r-- | net/gemserv/files/gemserv.in | 76 | ||||
-rw-r--r-- | net/gemserv/files/index.gmi.sample.in | 3 |
3 files changed, 100 insertions, 0 deletions
diff --git a/net/gemserv/files/config.toml.sample.in b/net/gemserv/files/config.toml.sample.in new file mode 100644 index 000000000000..5c9d4129de61 --- /dev/null +++ b/net/gemserv/files/config.toml.sample.in @@ -0,0 +1,21 @@ +port = 1965 +# use "::" for ipv6 and ipv4 or "0.0.0.0" for ipv4 only +host = "0.0.0.0" +# log is optional and server wide. It defaults to info if not set. Other levels +# are error, warn, and info. If error is set it will only show error. If warn +# is set it will show error and warn. Info shows all three. +log = "info" + +# There must be at least 1 server tag if a client doesn't send sni the server +# will use this tag as its default. +# Server 1 +[[server]] +hostname = "gemini.example.net" +dir = "/usr/local/gemini/gemserv-dist" +key = "/usr/local/etc/gemserv/key.pem" +cert = "/usr/local/etc/gemserv/cert.pem" +# index is optional but defaults to index.gemini. The server will serve files +# ending in gemini or gmi. +index = "index.gmi" +# lang is optional +lang = "en" diff --git a/net/gemserv/files/gemserv.in b/net/gemserv/files/gemserv.in new file mode 100644 index 000000000000..b1fcb394f1ed --- /dev/null +++ b/net/gemserv/files/gemserv.in @@ -0,0 +1,76 @@ +#!/bin/sh + +# PROVIDE: gemserv +# REQUIRE: NETWORKING +# KEYWORD: shutdown +# +# Add these lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# gemserv_enable (bool): Set to NO by default. +# Set it to YES to enable gemserv. +# gemserv_user (user): Set user to run gemserv. +# Default: _gemini +# gemserv_group (group): Set group to run gemserv. +# Default: _gemini +# gemserv_config (path): Set to %%ETCDIR%%/config.toml +# by default. +# gemserv_syslog_output_enable: Set to enable syslog output. +# Default: YES +# gemserv_syslog_output_tag: Set syslog tag if syslog enabled. +# Default: gemserv +# gemserv_syslog_output_priority: Set syslog priority if syslog enabled. +# Default: notice +# gemserv_syslog_output_facility: Set syslog facility if syslog enabled. +# Default: daemon + +. /etc/rc.subr + +name=gemserv +rcvar=gemserv_enable + +load_rc_config $name + +: ${gemserv_enable:=NO} +: ${gemserv_user:="%%GEMSERV_USER%%"} +: ${gemserv_group:="%%GEMSERV_GROUP%%"} +: ${gemserv_config="%%ETCDIR%%/config.toml"} +: ${gemserv_syslog_output_enable:="YES"} +: ${gemserv_syslog_output_tag:="gemserv"} +: ${gemserv_syslog_output_priority:="notice"} +: ${gemserv_syslog_output_facility:="daemon"} + + +if checkyesno gemserv_syslog_output_enable; then + if [ -n "${gemserv_syslog_output_tag}" ]; then + gemserv_syslog_output_flags="-T ${gemserv_syslog_output_tag}" + else + gemserv_syslog_output_flags="-T ${name}" + fi + if [ -n "${gemserv_syslog_output_priority}" ]; then + gemserv_syslog_output_flags="${gemserv_syslog_output_flags} -s ${gemserv_syslog_output_priority}" + fi + if [ -n "${gemserv_syslog_output_facility}" ]; then + gemserv_syslog_output_flags="${gemserv_syslog_output_flags} -l ${gemserv_syslog_output_facility}" + fi +fi + +pidfile=/var/run/gemserv.pid +command=/usr/sbin/daemon +procname=%%PREFIX%%/bin/gemserv +command_args="-p ${pidfile} ${gemserv_syslog_output_flags} ${procname} ${gemserv_config}" + +start_precmd="gemserv_start_precmd" +stop_postcmd="gemserv_stop_postcmd" + +gemserv_start_precmd() { + if [ ! -e "${pidfile}" ]; then + /usr/bin/install -m 0644 -o ${gemserv_user} -g ${gemserv_group} /dev/null "${pidfile}" + fi +} + +gemserv_stop_postcmd() { + /bin/rm -f ${pidfile} +} + +run_rc_command "$1" diff --git a/net/gemserv/files/index.gmi.sample.in b/net/gemserv/files/index.gmi.sample.in new file mode 100644 index 000000000000..152be52af4da --- /dev/null +++ b/net/gemserv/files/index.gmi.sample.in @@ -0,0 +1,3 @@ +Hello world ! + +New gemini server running here. |