tazpanel annotate boot.cgi @ rev 121

settings.cgi: hide password (well... still in URL, should we use POST instead of GET ?)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Apr 15 12:38:49 2011 +0200 (2011-04-15)
parents b898c9887a62
children 20b80d61e7c7
rev   line source
pankso@50 1 #!/bin/sh
pankso@50 2 #
paul@82 3 # Boot CGI script - All what happens before login (grub, rcS, slim)
pankso@50 4 #
pankso@112 5 # Copyright (C) 2011 SliTaz GNU/Linux - BSD License
pankso@50 6 #
pankso@50 7
pankso@50 8 # Common functions from libtazpanel and source main boot config file.
pankso@50 9 . lib/libtazpanel
pankso@50 10 . /etc/rcS.conf
pascal@81 11 header
pankso@50 12 get_config
pankso@50 13
pankso@109 14 TITLE="- Boot"
pankso@50 15
pankso@50 16 #
pankso@50 17 # Commands
pankso@50 18 #
pankso@50 19
pascal@81 20 case " $(GET) " in
pascal@81 21 *\ daemons\ *)
pankso@51 22 #
pankso@51 23 # Everything until user login
pankso@51 24 #
paul@52 25 # Start and stop a daemon. I think we dont need restart since 2
paul@52 26 # clicks and you are done
pascal@81 27 daemon=$(GET daemons)
pascal@81 28 case "$daemon" in
pascal@81 29 start=*)
pankso@51 30 sleep 1
pascal@81 31 /etc/init.d/${daemon#start=} start | log ;;
pascal@81 32 stop=*)
pascal@81 33 /etc/init.d/${daemon#stop=} stop | log ;;
pankso@51 34 esac
pankso@51 35 . /etc/rcS.conf
pankso@51 36 xhtml_header
pankso@67 37
pankso@51 38 cat << EOT
pankso@51 39 <div id="wrapper">
paul@52 40 <h2>`gettext "Manage daemons"`</h2>
pankso@51 41 <p>
paul@52 42 `gettext "Check, start and stop daemons on SliTaz"`
pankso@51 43 </p>
pankso@51 44 </div>
pankso@51 45 EOT
pankso@51 46 # Demon list
pankso@51 47 table_start
pankso@51 48 cat << EOT
pankso@51 49 <thead>
pankso@51 50 <tr>
pankso@51 51 <td>`gettext "Name"`</td>
pankso@51 52 <td>`gettext "Description"`</td>
pankso@51 53 <td>`gettext "Status"`</td>
pankso@51 54 <td>`gettext "Action"`</td>
pankso@51 55 <td>`gettext "PID"`</td>
pankso@51 56 </tr>
pankso@51 57 </thead>
pankso@51 58 EOT
pankso@51 59 cd /etc/init.d
pankso@51 60 list="`ls | sed -e /.sh/d -e /rc./d -e /RE/d -e /daemon/d \
pankso@51 61 -e /firewall/d`"
pankso@51 62 for name in $list
pankso@51 63 do
pankso@51 64 pkg=""
pankso@51 65 pid=""
pankso@51 66 status=""
pankso@51 67 SHORT_DESC=""
pankso@51 68 echo '<tr>'
pankso@51 69 # Name
pankso@51 70 echo "<td>$name</td>"
paul@52 71 # First check if daemon is started at bootime
pankso@51 72 [ echo "RUN_DAEMONS" | fgrep $name ] && boot="on boot"
paul@52 73 # Standard SliTaz busybox daemons and firewall
pankso@51 74 case "$name" in
pankso@51 75 firewall)
pankso@51 76 gettext "<td>SliTaz Firewall with iptable rules</td>" ;;
pankso@51 77 httpd)
pankso@51 78 gettext "<td>Small and fast web server with CGI support</td>" ;;
pankso@51 79 ntpd)
paul@52 80 gettext "<td>Network time protocol daemon</td>" ;;
pankso@51 81 ftpd)
pankso@51 82 gettext "<td>Anonymous FTP server</td>" ;;
pankso@51 83 udhcpd)
pankso@51 84 gettext "<td>Busybox DHCP server</td>" ;;
pankso@51 85 syslogd|klogd)
pankso@51 86 gettext "<td>Linux Kernel log daemon</td>" ;;
pankso@76 87 crond)
pankso@76 88 gettext "<td>Execute scheduled commands</td>" ;;
pankso@76 89 dnsd)
pankso@76 90 gettext "<td>Small static DNS server daemon</td>" ;;
pankso@76 91 tftpd)
pankso@76 92 gettext "<td>Transfer a file on tftp request</td>" ;;
pankso@76 93 inetd)
pankso@76 94 gettext "<td>Listen for network connections and launch programs</td>" ;;
pankso@76 95 zcip)
pankso@76 96 gettext "<td>Manage a ZeroConf IPv4 link-local address</td>" ;;
pankso@51 97 *)
pankso@51 98 # Descrition from receipt
pankso@51 99 [ -d "$LOCALSTATE/installed/$name" ] && pkg=$name
pankso@51 100 [ -d "$LOCALSTATE/installed/${name%d}" ] && pkg=${name%d}
pankso@51 101 [ -d "$LOCALSTATE/installed/${name}-pam" ] && pkg=${name}-pam
pankso@51 102 if [ "$pkg" ]; then
pankso@51 103 . $LOCALSTATE/installed/$pkg/receipt
pankso@51 104 echo "<td>$SHORT_DESC</td>"
pankso@51 105 else
pankso@51 106 echo "<td>----</td>"
pankso@51 107 fi ;;
pankso@51 108 esac
pankso@51 109 # Attemp to get daemon status
pankso@51 110 pidfile=`find /var/run -name *$name*.pid`
pankso@51 111 [ "$pidfile" ] && pid=`cat $pidfile`
pankso@51 112 # dbus
pankso@51 113 [ -f /var/run/${name}/pid ] && pid=`cat /var/run/${name}/pid`
pankso@51 114 # apache
pankso@51 115 [ "$name" = "apache" ] && pid=`cat /var/run/$name/httpd.pid`
pankso@51 116 # Pidof works for many daemon
pankso@51 117 [ "$pid" ] || pid=`pidof $name`
pankso@51 118 if [ "$pid" ]; then
pankso@51 119 echo "<td><img src='$IMAGES/started.png' /></td>"
pankso@51 120 echo "<td><a href='$SCRIPT_NAME?daemons=stop=$name'>
pankso@51 121 <img src='$IMAGES/stop.png' /></a></td>"
pankso@51 122 echo "<td>$pid</td>"
pankso@51 123 else
pankso@51 124 echo "<td>-</td>"
pankso@51 125 echo "<td><a href='$SCRIPT_NAME?daemons=start=$name'>
pankso@51 126 <img src='$IMAGES/start.png' /></a></td>"
pankso@51 127 echo "<td>-----</td>"
pankso@51 128 fi
pankso@51 129 echo '</tr>'
pankso@51 130 done
pankso@51 131 table_end ;;
pankso@50 132 *)
pankso@50 133 #
pankso@51 134 # Default content with summary
pankso@50 135 #
pankso@50 136 . /etc/rcS.conf
pankso@50 137 xhtml_header
pankso@67 138
pankso@50 139 cat << EOT
pankso@50 140 <div id="wrapper">
pankso@51 141 <h2>`gettext "Boot &amp; Start services"`</h2>
pankso@50 142 <p>
paul@82 143 `gettext "Everything that happens before user login"`
pankso@50 144 </p>
pankso@50 145 </div>
pankso@51 146 <div>
pankso@51 147 <a class="button" href="$SCRIPT_NAME?daemons">Manage daemons</a>
pankso@51 148 </div>
pankso@51 149
pankso@57 150 <h3>`gettext "Configuration files"`</h3>
pankso@57 151 <ul>
pankso@57 152 <li>`gettext "Main configuration file:"`
pankso@57 153 <a href="index.cgi?file=/etc/rcS.conf">rcS.conf</a></li>
pankso@57 154 <li>`gettext "Grub menu:"`
pankso@57 155 <a href="index.cgi?file=/boot/grub/menu.lst">menu.lst</a></li>
pankso@57 156 <li>`gettext "Login manager settings:"`
pankso@57 157 <a href="index.cgi?file=/etc/slim.conf">slim.conf</a></li>
pankso@73 158 </ul>
pankso@57 159
pankso@50 160 <h3>`gettext "Kernel cmdline"`</h3>
pankso@50 161 <pre>
pankso@50 162 `cat /proc/cmdline`
pankso@50 163 </pre>
pankso@50 164 <h3>`gettext "Local startup commands"`</h3>
pankso@50 165 <pre>
pankso@75 166 $(cat /etc/init.d/local.sh | syntax_highlighter sh)
pankso@50 167 </pre>
pankso@105 168 <a class="button" href="index.cgi?file=/etc/init.d/local.sh&amp;action=edit">
pankso@105 169 <img src="$IMAGES/edit.png" />$(gettext "Edit script")</a>
pankso@50 170 EOT
pankso@50 171 ;;
pankso@50 172 esac
pankso@50 173
pankso@50 174 xhtml_footer
pankso@50 175 exit 0