shithub: 9scripts

Download patch

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