ref: ee16926c2c31a31875a29ca3d34daa1a42772ec6
parent: 44101f0c5a2cfe50bacd7ca460c9929a9269b112
author: Jacobo Da Riva Muñoz <jdrm@disroot.org>
date: Thu Jan 22 05:16:53 EST 2026
Add some rc scripts
--- /dev/null
+++ b/rc/9psdf
@@ -1,0 +1,12 @@
+#!/bin/rc
+# 9psdf - access files on 9p.sdf.org
+# usage: 9psdf user
+
+if(! test -d /usr/sdf){+ mkdir /usr/sdf
+}
+
+rimport -p -u $1 9p.sdf.org / /n/sdf
+bind -a /n/sdf/usr/sdf /usr/sdf
+bind -a /usr/sdf/bin /bin
+bind -a /n/sdf/usr/$1/html $home/www/sdf
--- /dev/null
+++ b/rc/akeys
@@ -1,0 +1,7 @@
+#!/bin/rc
+
+auth/aescbc -d < $home/lib/fact.keys | read -m >/mnt/factotum/ctl
+
+cat /usr/jackrm/lib/ssh/key >/mnt/factotum/ctl
+echo "Aplicadas llaves"
+cat /mnt/factotum/ctl
--- /dev/null
+++ b/rc/clear
@@ -1,0 +1,2 @@
+#!/bin/rc
+echo >/dev/text
--- /dev/null
+++ b/rc/correo
@@ -1,0 +1,12 @@
+#!/bin/rc
+
+lista=(Inbox 9front)
+
+echo "Monto el sistema de archivos"
+upas/fs -f /imaps/disroot.org/jdrm
+
+for(buzon in $lista){+ echo "Abro $buzon"
+ echo 'open /imaps/disroot.org/jdrm/'$buzon $buzon'' >/mail/fs/ctl
+}
+
--- /dev/null
+++ b/rc/ekeys
@@ -1,0 +1,3 @@
+#!/bin/rc
+
+ipso -a $home/lib/fact.keys
--- /dev/null
+++ b/rc/feeder
@@ -1,0 +1,25 @@
+#!/bin/rc
+
+feedfile=$home/disroot/org/elfeed.org
+newsdir=/lib/news
+tmpdir=/tmp/news.$pid
+ifs='
+'
+
+fn sigexit siginit sigquit sighup{+ rm -rf $tmpdir
+ exit
+}
+
+cd /tmp
+ramfs
+webfs
+mkdir $tmpdir
+
+for(i in `{sed -e '/http/!d;s/......//;s/ /-/g;s/\]\[/ /;s/\]\]/-/' $feedfile}){+ url=(`{echo $i | awk '{ print $1 }'})+ tag=(`{echo $i | awk '{ print $2 }'})+ hget $url | rssfill -p $tag -d $tmpdir
+}
+
+dircp $tmpdir $newsdir
--- /dev/null
+++ b/rc/news
@@ -1,0 +1,2 @@
+#!/bin/rc
+nntpfs -a news.eternal-september.org
--- /dev/null
+++ b/rc/r
@@ -1,0 +1,20 @@
+#!/bin/rc
+
+if(~ $#* 0) {+ echo 'Para sincronizar: r cloud_name [pull|push] path_to_folder\n'
+ echo 'Para listar: r cloud_name ls path_to_folder\n'
+ echo 'example: r myNextCloud pull docs\n'
+}
+
+cloud=$1
+action=$2
+p=$3
+
+switch($action){+case 'pull'
+ rclone sync -i $cloud:$p $home/$cloud/$p
+case 'push'
+ rclone sync -i $home/$cloud/$p $cloud:$p
+case 'ls'
+ rclone ls $cloud:$p
+}
--- /dev/null
+++ b/rc/riostart
@@ -1,0 +1,25 @@
+#!/bin/rc
+window 0,0,161,117 stats -lmisce
+window 175,0,500,90 faces -i
+window 505,0,900,90 winwatch -e '^(cat|winwatch|stats|faces|vol)'
+window 905,0,1175,90 vdir
+window 1180,0,1280,50 vol
+
+
+# ACME - Mejor LOLA
+# window 5,100,1275,780 rio -c3 -a
+window -scroll -r (5 100 600 780) 'label rc:left; rc'
+window -scroll -r (610 100 1275 780) 'label rc:right; rc'
+# Workspaces
+window -hide -r (5 100 1275 780) lola -t
+
+#### window workspace.main
+### window main
+# window -hide 'cat /dev/kprint'
+auth/fgui
+
+
+
+# run a system shell on the serial console
+~ $#console 0 || window -scroll console
+
--- /dev/null
+++ b/rc/sdf
@@ -1,0 +1,2 @@
+#!/bin/rc
+rcpu -h 9p.sdf.org -u $1
--- /dev/null
+++ b/rc/sdfcom
@@ -1,0 +1,2 @@
+#!/bin/rc
+9psdf $1 && com
--- /dev/null
+++ b/rc/synctime
@@ -1,0 +1,2 @@
+#!/bin/rc
+aux/timesync -n pool.ntp.org
--- /dev/null
+++ b/rc/theme
@@ -1,0 +1,17 @@
+#!/bin/rc
+
+if(~ $#* 0){+ echo 'Usage: theme [ls|set theme]'
+}
+
+comm=$1
+
+switch($comm){+
+case 'ls'
+ lc $home/lib/themes/lola/
+case 'set'
+ theme=$2
+
+ settheme < $home/lib/themes/lola/$2
+}
--- /dev/null
+++ b/rc/tiempo
@@ -1,0 +1,18 @@
+#!/bin/rc
+rfork e
+
+if (~ $#* 0) {+ echo 'tiempo [i|c] village\n'
+ echo 'i - muestra imagen con la previsión\n'
+ echo 'c - muestra el tiempo actual por consola\n'
+}
+
+opcion=$1
+city=$2
+
+switch($opcion){+case 'i'
+ hget https://wttr.in/$city.png | page
+case 'c'
+ hget 'https://wttr.in/'$city'?format=%l:+%C+ temp:%t+ rain:%p\n'
+}
--- /dev/null
+++ b/rc/update
@@ -1,0 +1,58 @@
+#!/bin/rc
+# stolen to theDaemon
+# update - update your 9front system
+# usage: update
+
+curdir=`{pwd}+
+echo UPDATING SYSTEM SOURCE CODE
+
+sysupdate
+
+echo DOWNLOAD COMPLETED
+echo CONTINUE AND RECOMPILE [y/N]
+choice=`{read}+if (~ $choice [yY]* ) echo YOU ASKED FOR IT: RECOMPILING
+if not exit
+
+cd /
+. /sys/lib/rootstub
+
+echo BUILDING
+echo UPDATING COMPILERS
+cd /sys/src/cmd/cc
+mk install
+cd /sys/src/cmd/6c
+mk install
+
+echo UPDATING SYSTEM
+cd /sys/src
+mk install
+mk clean
+
+
+echo UPDATING MANUALS
+cd /sys/man
+mk
+
+
+echo UPDATING DOCUMENTS
+cd /sys/doc
+mk
+mk html
+
+echo UPDATING KERNEL BRAIN
+cd /sys/src/9/pc64
+mk install
+
+echo FLASHING NEW MEMORY BRAIN
+9fs 9fat
+rm /n/9fat/9bootfat
+cp /386/9bootfat /n/9fat/
+chmod +al /n/9fat/9bootfat
+cp /amd64/9pc64 /n/9fat
+
+cd $curdir
+
+echo 9front UPDATE IS COMPLETE
+echo FSHALT -R NOW OR FACE DOOM
--- /dev/null
+++ b/rc/wifi
@@ -1,0 +1,41 @@
+#!/bin/rc -e
+# wifi, una copia del script wifis de thedaemon.space
+
+rfork e
+
+fn Help{ echo `{basename $0}^' [essid]' }+fn Dump{ grep node '#'l1/ether1/ifstats }+fn Ask{+ echo -n $1
+ essid=`{dd -bs 64 -count 1 >[2]/dev/null}+}
+fn Wifi{+ ip/ipconfig ether /net/ether0 unbind
+ bind -b '#'l1 /net
+ aux/wpa -p2 -s $essid /net/ether1
+ ip/ipconfig -6
+ ip/ipconfig ra6 recvra 1 &
+ ip/ipconfig ether /net/ether1 &
+ wait
+ secstore=`{grep sys /net/ndb | awk -F'=' '{print $2}'}+ cat /net/ndb
+}
+
+switch($#*){+ case 0
+ if(~ $#essid 0){+ echo Wifis disponibles essid |
+ Dump
+ echo
+ Ask 'essid='
+ }
+ if(! ~ $#essid 0){+ Wifi
+ }
+ case 1
+ essid=($1)
+ Wifi
+ case *
+ Help
+ Dump
+}
--
⑨