init commit
This commit is contained in:
commit
aacb3e890b
|
@ -0,0 +1,17 @@
|
|||
g9srv
|
||||
|
||||
g9srv/rfs (read fs)
|
||||
-w webroot the root of files to be served
|
||||
|
||||
-m multi webroot allows you to host on multiple domaians for exaple:
|
||||
|
||||
webroot/fulton.software/index.gmi
|
||||
|
||||
webroot/plan9.fulton.software/index.gmi
|
||||
|
||||
Coming soon:
|
||||
Blog host
|
||||
|
||||
Werc
|
||||
|
||||
C lib
|
|
@ -0,0 +1,3 @@
|
|||
#! /bin/rc
|
||||
mkdir -p /rc/bin/g9srv
|
||||
cp rfs /rc/bin/g9srv
|
|
@ -0,0 +1,52 @@
|
|||
#! /bin/rc
|
||||
#TODO add content type parser
|
||||
cr=
|
||||
fn header{
|
||||
echo $1 $2$cr
|
||||
}
|
||||
|
||||
fn filetype{
|
||||
filetype=`{file -m $1}
|
||||
type=text/gemini
|
||||
#TODO: expand
|
||||
switch ($filetype){
|
||||
case image*:
|
||||
type=$filetype
|
||||
}
|
||||
echo $type
|
||||
}
|
||||
webroot=./
|
||||
while(! ~ $#* 0) {
|
||||
switch ($1) {
|
||||
case -w
|
||||
webroot=$2
|
||||
shift
|
||||
case -m
|
||||
mflag='yes'
|
||||
case *
|
||||
echo Usage: g9srv/fsr [-w webroot] [-m]
|
||||
exit usage
|
||||
}
|
||||
shift
|
||||
}
|
||||
fullurl=`{read}
|
||||
if(~ $mflag yes)
|
||||
url=`{echo $fullurl | sed 's/gemini:\/\///
|
||||
s/
//'}
|
||||
if not
|
||||
url=`{echo $fullurl | sed 's/gemini:\/\/[0-9 a-z .]*//
|
||||
s/
//'}
|
||||
if(test -f $webroot$url){
|
||||
header 20 text/gemini
|
||||
cat $webroot$url
|
||||
exit 0
|
||||
}
|
||||
|
||||
if(test -f $webroot$url/index.gmi)
|
||||
header 20 text/utf8
|
||||
cat $webroot$url/index.gmi
|
||||
exit 0
|
||||
}
|
||||
header 51 'file not found'
|
||||
|
||||
|
Loading…
Reference in New Issue