#!/bin/rc #add this to $home/lib/plumbing # # gopher urls go to goph # type is text # data matches '(gopher)://[a-zA-Z0-9_@\-]+([.:][a-zA-Z0-9_@\-]+)*/?[a-zA-Z0-9_?,%#~&/\-+=]+([:.][a-zA-Z0-9_?,%#~&/\-+=]+)*' # plumb to none # plumb start rc -c 'goph '$0'' cd /tmp d=`{date -n} p=/tmp/goph port=70 adr=`{echo $1 | sed 's;gopher://;;g'} name=`{basename $1} host=`{echo $adr | sed 's;/.*$;;g'} sel=`{echo $adr | sed 's/^[^\/]*//'| sed 's/^.//'} item=`{echo $sel | sed 's/\/.*$//g'} if(~ $sel ''){ sel=1 item=1 } # debug #echo adr $adr #echo name $name #echo host $host #echo sel $sel #echo item $item switch($item){ case 0 gopher2html $host $port $sel >/tmp/goph/$name B $p/$name case 1 gopher2html $host $port $sel | sed 's;:70;;g' >/tmp/goph/$name.$d B $p/$name.$d case g I d gopher2html $host $port $sel file=`{ls -t /tmp/gopher.save.* | sed 1q} mv $file $p/$name chmod 666 $p/$name window page $p/$name case 9 gopher2html $host $port $sel file=`{ls -t /tmp/gopher.save.* | sed 1q} mv $file $p/$name chmod 666 $p/$name if(~ $name *.mp4) window treason $p/$name if(~ $name *.webm) window treason $p/$name if(~ $name *.mkv) window treason $p/$name case * gopher2html $host $port $sel echo name $p/$name file=`{ls -t /tmp/gopher.save.* | sed 1q} mv $file $p/$name chmod 666 $p/$name }