ref: 462245df3071ba0164757ccc010dfc05bf3e7898
parent: 1f6b9d22d36136f4161887be3c748b264cd5063d
author: glenda <glenda@9front.local>
date: Tue Nov 24 20:34:54 EST 2020
added 9gridchan things
--- /dev/null
+++ b/chat
@@ -1,0 +1,104 @@
+#!/bin/rc
+# minimal chat client for hubfs: chat [-n NICK] [-j CHANNEL] [chatsrv]
+
+fn helpmessage{
+ echo -------------------------
+ echo '/q to quit | /c to list channels | /h for help message'
+ echo '/n NICK to change nick | /j CHANNEL to change channels'
+ echo -------------------------
+}
+
+rfork enf
+channel=chat
+chatsrv=chat
+while (~ $1 -*){
+ switch($1){
+ case -n
+ name = $2
+ shift
+ shift
+ case -j
+ channel = $2
+ shift
+ shift
+ case *
+ echo bad flag $1 '-n NICK -j CHANNEL'
+ shift
+ }
+}
+if(! ~ $1 '')
+ chatsrv=$1
+if(! test -e /n/$chatsrv/chat)
+ mount /srv/$chatsrv /n/$chatsrv
+if(! test -e /n/$chatsrv/chat){
+ echo 'no chat service named $chatsrv found' >[1=2]
+ exit no.chat
+}
+
+echo ' -- hubchat 0.2 --'
+helpmessage
+sleep 2
+while(~ $#name 0){
+ echo 'please enter a chat name:'
+ name=`{read}
+}
+echo JOIN $name to $channel >>/n/$chatsrv/$channel
+cat /n/$chatsrv/$channel &
+catkill=$apid
+
+while(talk=`{read}){
+ if(~ $talk /*){
+ switch($talk){
+ case /q*
+ echo PART $name from $channel >>/n/$chatsrv/$channel
+ @{echo kill>/proc/$catkill/ctl}
+ exit
+ case /n*
+ if(! ~ $talk(2) ''){
+ echo nick $name ' -> ' $talk(2) >>/n/$chatsrv/$channel
+ name=$talk(2)
+ }
+ if not
+ echo 'you need to provide a nick for /n NICK'
+ command=yes
+ case /j*
+ if (~ $talk(2) '')
+ echo must specify a channel to join
+ if not if(test -e /n/chat/$talk(2)){
+ echo PART $name from $channel >>/n/$chatsrv/$channel
+ @{echo kill>/proc/$catkill/ctl}
+ channel=$talk(2)
+ cat /n/chat/$channel &
+ catkill=$apid
+ echo JOIN $name to $channel >>/n/$chatsrv/$channel
+ }
+ if not
+ echo channel does not exist
+ command=yes
+ case /h*
+ helpmessage
+ echo currently in $channel
+ echo
+ command=yes
+ case /c
+ echo Available channels:
+ lc /n/$chatsrv
+ echo -------------------
+ echo currently in $channel
+ echo
+ command=yes
+ case *
+ echo unknown command
+ command=yes
+ }
+ }
+ if(~ $talk '')
+ command=yes
+ if(! ~ $command yes){
+# ts=`{date -u}
+# ts=`{echo '('^$ts(4)^')'}
+ line=`{echo $name ': ' $talk}
+ echo $line >>/n/chat/$channel
+ }
+ command=no
+}
--- /dev/null
+++ b/gridstart
@@ -1,0 +1,101 @@
+#!/bin/rc
+# connects to 9gridchan grid services and starts a new subrio
+# options -t tls -m mountonly -s scriptonly
+# awk '/exportfs/{print "srv -c", $1, $3, $5}' /mnt/registry/index
+
+fn cpl{
+ cp $1 /n/griddisk/cpl
+ ptarg=`{basename $1}
+ plumb http://wiki.9gridchan.org/incoming/cpl/$ptarg
+}
+
+fn error{
+ echo An error ocurred.
+ exit
+}
+
+while (~ $1 -*){
+ switch($1){
+ case -t
+ tls = yes
+ shift
+ case -m
+ mountonly = yes
+ shift
+ case -s
+ scriptonly = yes
+ shift
+ case *
+ echo bad flag $1 >>[1=2]
+ shift
+ }
+}
+
+if(test -e /srv/gridregistry){
+ echo 'old grid connections found in /srv, remove? (y/n)'
+ ans=`{read}
+ if(~ $ans y){
+ rm /srv/gridchat
+ rm /srv/gridplumber
+ rm /srv/gridram
+ rm /srv/gridregistry
+ rm /srv/gridroot
+ rm /srv/gridwiki
+ rm /srv/griddisk
+ rm /srv/pubregistry
+ }
+}
+
+if(~ $tls yes){
+ auth/factotum
+ echo 'key proto=dp9ik user=glenda dom=grid !password=9gridchan' >/mnt/factotum/ctl
+ srvtls tcp!registry.9gridchan.org!16675 gridregistry /mnt/registry || error
+ awk '/tlssrv/{print "srvtls -c", $1, $3, $5}' /mnt/registry/index >/tmp/gridscript
+# cat /mnt/registry/index |grep tlssrv |sed 's/^/srvtls -c /g' |sed 's/is //g' |sed 's/mountpoint //g' |sed 's/service.*$//g' >/tmp/gridscript
+}
+if(! ~ $tls yes){
+ srv tcp!registry.9gridchan.org!6675 gridregistry /mnt/registry || error
+ awk '/exportfs/{print "srv -c", $1, $3, $5}' /mnt/registry/index >/tmp/gridscript
+# cat /mnt/registry/index |grep exportfs |sed 's/^/srv -c /g' |sed 's/is //g' |sed 's/mountpoint //g' |sed 's/service.*$//g' >/tmp/gridscript
+}
+
+if(~ $scriptonly yes){
+ echo 'script saved in /tmp/gridscript'
+ cat /tmp/gridscript
+ exit
+}
+
+. /tmp/gridscript
+
+if(~ $mountonly yes){
+ echo 'grid services mounted'
+ exit
+}
+
+if(test -e /bin/grio)
+ srio=(grio -s -c 0x99009900)
+if not
+ srio=(rio -s)
+
+echo '#!/bin/rc
+window -r 0 0 700 400 chat
+window -r 700 0 1300 400 acme -l/tmp/gridacme
+window -r 0 400 700 750 mothra -a http://wiki.9gridchan.org/message_board
+window -r 700 400 1300 750 page /n/gridroot/lib/musicant.png
+' >/tmp/gridrio
+
+chmod +x /tmp/gridrio
+if(! test -e /mnt/web/ctl)
+ webfs
+
+echo '/usr/glenda
+/lib/font/bit/vga/unicode.font
+/lib/font/bit/vga/unicode.font
+ 0 66
+f 1 1 36 36 3
+ 1 33 36 1 0 /n/griddisk/ Del Snarf Get | Look
+F 1 1 15 15 28 15
+ 2 23 15 0 1 Del Snarf Undo | Look
+Wiki /mnt/wiki' >/tmp/gridacme
+
+window -m -r 0 0 1350 750 $srio -i /tmp/gridrio
--- a/restore
+++ b/restore
@@ -1,5 +1,5 @@
#!/bin/rc
-cp ./df ./email-login ./riostart ./screenshot $home/bin/rc
+cp ./df ./email-login ./riostart ./chat ./gridstart ./screenshot $home/bin/rc
cp color $home/
./install-go.rc
./pull9front