slitaz-tools annotate tinyutils/serverbox @ rev 516
tazx: incorrect tux; slitaz installer creates 1008 user
author | Rohit Joshi <jozee@slitaz.org> |
---|---|
date | Wed Nov 10 20:26:12 2010 -0500 (2010-11-10) |
parents | ca6804d9b56b |
children | 7fdb586cf6bf |
rev | line source |
---|---|
jozee@462 | 1 #!/bin/sh |
jozee@462 | 2 # |
jozee@462 | 3 # Gtkdialog box to manage servers. |
jozee@462 | 4 # Please use tab to indent. |
jozee@462 | 5 |
jozee@462 | 6 VERSION=20100315 |
jozee@462 | 7 |
jozee@462 | 8 . /usr/lib/slitaz/gui_functions |
jozee@462 | 9 |
jozee@462 | 10 # Check if user is root. |
jozee@462 | 11 check_root() |
jozee@462 | 12 { |
jozee@462 | 13 if test $(id -u) != 0 ; then |
jozee@462 | 14 echo -e " |
jozee@462 | 15 You must be root to run `basename $0`. Please type 'su' and |
jozee@462 | 16 root password to become super-user.\n" |
jozee@462 | 17 exit 0 |
jozee@462 | 18 fi |
jozee@462 | 19 } |
jozee@462 | 20 # |
jozee@462 | 21 # Status servers |
jozee@462 | 22 # |
jozee@462 | 23 tab_status_servers() |
jozee@462 | 24 { |
jozee@462 | 25 local servers |
jozee@462 | 26 servers="dropbear sshd inetd dhcpd dnsd named rsync httpd mbd vnc pppd knock" |
jozee@462 | 27 cat <<EOT |
jozee@462 | 28 <frame Servers> |
jozee@462 | 29 <text wrap="false" width-chars="58"> |
jozee@462 | 30 <input>for i in $servers; do ps ww | grep \$i | grep -v grep | fold -s; done</input> |
jozee@462 | 31 </text> |
jozee@462 | 32 </frame> |
jozee@462 | 33 EOT |
jozee@462 | 34 } |
jozee@462 | 35 |
jozee@462 | 36 data_status() |
jozee@462 | 37 { |
jozee@462 | 38 cat <<EOT |
jozee@462 | 39 ps Servers tab_status_servers |
jozee@462 | 40 EOT |
jozee@462 | 41 } |
jozee@462 | 42 |
jozee@462 | 43 # |
jozee@462 | 44 # Status |
jozee@462 | 45 # |
jozee@462 | 46 tab_status() |
jozee@462 | 47 { |
jozee@462 | 48 use_tab data_status |
jozee@462 | 49 } |
jozee@462 | 50 |
jozee@462 | 51 sshremote() |
jozee@462 | 52 { |
jozee@462 | 53 cat << EOT |
jozee@462 | 54 <hbox> |
jozee@462 | 55 <text use-markup="true"> |
jozee@462 | 56 <label>"<b>Remote :</b>"</label> |
jozee@462 | 57 </text> |
jozee@462 | 58 <entry> |
jozee@462 | 59 <variable>$2</variable> |
jozee@462 | 60 <default>user@elsewhere</default> |
jozee@462 | 61 </entry> |
jozee@462 | 62 <button> |
jozee@462 | 63 <input file icon="utilities-terminal"></input> |
jozee@462 | 64 <label>Connect</label> |
jozee@462 | 65 <action>xterm -fa MiscFixed -fs 11 -bg black -fg white -geometry 80x25 -title "$1" -e "$1 \$$2 ; echo -e \"----\nENTER to continue...\" && read close" &</action> |
jozee@462 | 66 </button> |
jozee@462 | 67 <button> |
jozee@462 | 68 <input file icon="go-up"></input> |
jozee@462 | 69 <label>Send key</label> |
jozee@462 | 70 <action>$xterm -geometry 80x10 -title "send ssh key" -e "$0 call sendsshkey \$$2; echo -e \"----\nENTER to continue...\" && read close"</action> |
jozee@462 | 71 </button> |
jozee@462 | 72 </hbox> |
jozee@462 | 73 EOT |
jozee@462 | 74 } |
jozee@462 | 75 # |
jozee@462 | 76 # Dropbear client & server |
jozee@462 | 77 # |
jozee@462 | 78 tab_dropbear() |
jozee@462 | 79 { |
jozee@462 | 80 . /etc/daemons.conf |
jozee@462 | 81 set -- $DROPBEAR_OPTIONS |
jozee@462 | 82 while [ -n "$2" ]; do |
jozee@462 | 83 [ "$1" = "-b" ] && DROPBEAR_BANNER="$2" && break |
jozee@462 | 84 shift |
jozee@462 | 85 done |
jozee@462 | 86 |
jozee@462 | 87 cat <<EOT |
jozee@462 | 88 <frame Dropbear> |
jozee@462 | 89 $(helpdaemon dropbear 80x30 DROPBEAR_OPTIONS DROPBEAR_OPTS) |
jozee@462 | 90 $(datafile /etc/dropbear/banner DROPBEAR_BANNER 'Banner :') |
jozee@462 | 91 $(sshremote DROPBEAR_PEER 'dbclient -i /etc/dropbear/dropbear_rsa_host_key') |
jozee@462 | 92 <hbox> |
jozee@462 | 93 $(startstopdaemon dropbear) |
jozee@462 | 94 </hbox> |
jozee@462 | 95 </frame> |
jozee@462 | 96 EOT |
jozee@462 | 97 } |
jozee@462 | 98 |
jozee@462 | 99 # |
jozee@462 | 100 # OpenSSH client & server |
jozee@462 | 101 # |
jozee@462 | 102 tab_openssh() |
jozee@462 | 103 { |
jozee@462 | 104 cat <<EOT |
jozee@462 | 105 <frame OpenSSH> |
jozee@462 | 106 $(helpdaemon sshd 80x30 OPENSSH_OPTIONS OPENSSH_OPTS 8 nohelp) |
jozee@462 | 107 $(configfile /etc/ssh/sshd_config OPENSSH_CONF '5 sshd_config') |
jozee@462 | 108 $(sshremote OPENSSH_PEER 'ssh -i /etc/ssh/ssh_host_rsa_key') |
jozee@462 | 109 <hbox> |
jozee@462 | 110 $(startstopdaemon openssh) |
jozee@462 | 111 </hbox> |
jozee@462 | 112 </frame> |
jozee@462 | 113 EOT |
jozee@462 | 114 } |
jozee@462 | 115 |
jozee@462 | 116 data_sshd() |
jozee@462 | 117 { |
jozee@462 | 118 cat <<EOT |
jozee@462 | 119 dropbear Dropbear tab_dropbear |
jozee@462 | 120 sshd OpenSSH tab_openssh |
jozee@462 | 121 EOT |
jozee@462 | 122 } |
jozee@462 | 123 |
jozee@462 | 124 # |
jozee@462 | 125 # SSH tab |
jozee@462 | 126 # |
jozee@462 | 127 tab_sshd() |
jozee@462 | 128 { |
jozee@462 | 129 use_tab data_sshd |
jozee@462 | 130 } |
jozee@462 | 131 |
jozee@462 | 132 # |
jozee@462 | 133 # Busybox Inetd |
jozee@462 | 134 # |
jozee@462 | 135 tab_inetd() |
jozee@462 | 136 { |
jozee@462 | 137 cat <<EOT |
jozee@462 | 138 <frame Inetd (busybox)> |
jozee@462 | 139 $(helpdaemon inetd 60x14 INETD_OPTIONS INETD_OPTS) |
jozee@462 | 140 $(configfile /etc/inetd.conf INETD_CONF) |
jozee@462 | 141 <hbox> |
jozee@462 | 142 EOT |
jozee@462 | 143 for i in $(grep bin /etc/inetd.conf | awk '{ print $6}'); do |
jozee@462 | 144 i=$(basename $i) |
jozee@462 | 145 helpbutton $i 60x19 $i |
jozee@462 | 146 done |
jozee@462 | 147 cat <<EOT |
jozee@462 | 148 $(startstopdaemon inetd) |
jozee@462 | 149 </hbox> |
jozee@462 | 150 </frame> |
jozee@462 | 151 EOT |
jozee@462 | 152 } |
jozee@462 | 153 |
jozee@462 | 154 # |
jozee@462 | 155 # ZeroConf |
jozee@462 | 156 # |
jozee@462 | 157 tab_zcip() |
jozee@462 | 158 { |
jozee@462 | 159 |
jozee@462 | 160 . /etc/daemons.conf |
jozee@462 | 161 if [ -x /sbin/zcip -a -z "$ZCIP_OPTIONS" ]; then |
jozee@462 | 162 ZCIP_OPTIONS="eth0 /etc/zcip.script" |
jozee@462 | 163 cat >> /etc/daemons.conf <<EOT |
jozee@462 | 164 # ZeroConf options |
jozee@462 | 165 ZCIP_OPTIONS="$ZCIP_OPTIONS" |
jozee@462 | 166 |
jozee@462 | 167 EOT |
jozee@462 | 168 fi |
jozee@462 | 169 cat <<EOT |
jozee@462 | 170 <frame Zcip (busybox)> |
jozee@462 | 171 $(helpdaemon zcip 60x14 ZCIP_OPTIONS ZCIP_OPTS) |
jozee@462 | 172 $(datafile /etc/zcip.script CZIP_SCRIPT 'Script :') |
jozee@462 | 173 <hbox> |
jozee@462 | 174 $(startstopdaemon zcip) |
jozee@462 | 175 </hbox> |
jozee@462 | 176 </frame> |
jozee@462 | 177 EOT |
jozee@462 | 178 } |
jozee@462 | 179 |
jozee@462 | 180 # |
jozee@462 | 181 # Dhcpd ISC |
jozee@462 | 182 # |
jozee@462 | 183 tab_isc_dhcpd() |
jozee@462 | 184 { |
jozee@462 | 185 cat <<EOT |
jozee@462 | 186 <frame Dhcpd (ISC)> |
jozee@462 | 187 $(helpdaemon dhcpd 60x14 DHCPD_OPTIONS DHCPD_OPTS) |
jozee@462 | 188 $(configfile /etc/dhcpd.conf DHCPD_CONF) |
jozee@462 | 189 <hbox> |
jozee@462 | 190 $(startstopdaemon dhcpd dhcp) |
jozee@462 | 191 </hbox> |
jozee@462 | 192 </frame> |
jozee@462 | 193 EOT |
jozee@462 | 194 } |
jozee@462 | 195 |
jozee@462 | 196 # |
jozee@462 | 197 # Dhcpd Busybox |
jozee@462 | 198 # |
jozee@462 | 199 tab_udhcpd() |
jozee@462 | 200 { |
jozee@462 | 201 cat <<EOT |
jozee@462 | 202 <frame Udhcpd (busybox)> |
jozee@462 | 203 $(helpdaemon udhcpd 60x14 UDHCPD_OPTIONS UDHCPD_OPTS) |
jozee@462 | 204 $(configfile /etc/udhcpd.conf UDHCPD_CONF) |
jozee@462 | 205 <hbox> |
jozee@462 | 206 $(startstopdaemon udhcpd busybox) |
jozee@462 | 207 </hbox> |
jozee@462 | 208 </frame> |
jozee@462 | 209 EOT |
jozee@462 | 210 } |
jozee@462 | 211 |
jozee@462 | 212 data_dhcpd() |
jozee@462 | 213 { |
jozee@462 | 214 cat <<EOT |
jozee@462 | 215 udhcpd Udhcpd tab_udhcpd |
jozee@462 | 216 dhcpd Dhcpd tab_isc_dhcpd |
jozee@462 | 217 dnsmasq DNSmasq tab_dnsmasq |
jozee@462 | 218 EOT |
jozee@462 | 219 } |
jozee@462 | 220 |
jozee@462 | 221 # |
jozee@462 | 222 # dhcpd tab |
jozee@462 | 223 # |
jozee@462 | 224 tab_dhcpd() |
jozee@462 | 225 { |
jozee@462 | 226 use_tab data_dhcpd |
jozee@462 | 227 } |
jozee@462 | 228 |
jozee@462 | 229 # |
jozee@462 | 230 # PXE forwarder |
jozee@462 | 231 # |
jozee@462 | 232 tab_gpxe() |
jozee@462 | 233 { |
jozee@462 | 234 cat <<EOT |
jozee@462 | 235 <frame PXE forwarder> |
jozee@462 | 236 <hbox> |
jozee@462 | 237 <text use-markup="true"> |
jozee@462 | 238 <label>"<b>WEB boot URL(s) :</b>"</label> |
jozee@462 | 239 </text> |
jozee@462 | 240 </hbox> |
jozee@462 | 241 <hbox> |
jozee@462 | 242 <entry editable="true"> |
jozee@462 | 243 <default> |
jozee@462 | 244 "$(dd bs=1 skip=5 count=255 if=/usr/share/boot/gpxe.pxe 2> /dev/null | strings)" |
jozee@462 | 245 </default> |
jozee@462 | 246 <variable>WEB_PXE</variable> |
jozee@462 | 247 </entry> |
jozee@462 | 248 </hbox> |
jozee@462 | 249 <hbox> |
pascal@498 | 250 $(wikibutton http://doc.slitaz.org/en:guides:pxe) |
jozee@462 | 251 <button> |
jozee@462 | 252 <input file icon="go-jump"></input> |
jozee@462 | 253 <label>Install</label> |
jozee@462 | 254 <action> |
jozee@462 | 255 echo -n "\$WEB_PXE" | cat - /dev/zero | \ |
jozee@462 | 256 dd conv=notrunc bs=1 seek=5 count=255 of=/usr/share/boot/gpxe.pxe |
jozee@462 | 257 </action> |
jozee@462 | 258 <action> |
jozee@462 | 259 sed -i "s|tftpd -r .*\$|tftpd -r /usr/share/boot|" /etc/inetd.conf |
jozee@462 | 260 </action> |
jozee@462 | 261 <action> sed -i "/^boot_file/d" \$UDHCPD_CONF </action> |
jozee@462 | 262 <action> echo "boot_file gpxe.pxe" >> \$UDHCPD_CONF </action> |
jozee@462 | 263 <action> /etc/init.d/inetd restart </action> |
jozee@462 | 264 <action> /etc/init.d/udhcpd restart </action> |
jozee@462 | 265 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)inetd \?\\(.*\\)\\"/RUN_DAEMONS=\\"\1\2\\"/" /etc/rcS.conf</action> |
jozee@462 | 266 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)udhcpd \?\\(.*\\)\\"/RUN_DAEMONS=\\"\1\2\\"/" /etc/rcS.conf</action> |
jozee@462 | 267 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)\\"/RUN_DAEMONS=\\"udhcpd inetd \1\\"/" /etc/rcS.conf</action> |
jozee@462 | 268 </button> |
jozee@462 | 269 </hbox> |
jozee@462 | 270 </frame> |
jozee@462 | 271 EOT |
jozee@462 | 272 } |
jozee@462 | 273 |
jozee@462 | 274 # |
jozee@462 | 275 # PXE server |
jozee@462 | 276 # |
jozee@462 | 277 tab_pxelinux() |
jozee@462 | 278 { |
jozee@462 | 279 cat <<EOT |
jozee@462 | 280 <frame PXElinux> |
jozee@462 | 281 <hbox> |
jozee@462 | 282 <text wrap="true"> |
jozee@462 | 283 <label> |
jozee@462 | 284 "Launch Dhcpd and Inetd with Tftpd to start the PXE service." |
jozee@462 | 285 </label> |
jozee@462 | 286 </text> |
jozee@462 | 287 </hbox> |
jozee@462 | 288 <hbox> |
jozee@462 | 289 <text use-markup="true"> |
jozee@462 | 290 <label>"<b>Configuration :</b>"</label> |
jozee@462 | 291 </text> |
jozee@462 | 292 <entry editable="false"> |
jozee@462 | 293 <default> |
jozee@462 | 294 $(grep bin/tftpd /etc/inetd.conf | awk '{ print $NF }')/pxelinux.cfg/default |
jozee@462 | 295 </default> |
jozee@462 | 296 <variable>PXE_CONF</variable> |
jozee@462 | 297 </entry> |
jozee@462 | 298 <button> |
jozee@462 | 299 <input file icon="accessories-text-editor"></input> |
jozee@462 | 300 <action>dir=\$(dirname \$PXE_CONF); [ -d \$dir ] || mkdir -p \$dir</action> |
jozee@462 | 301 <action>lzma d /usr/share/boot/pxelinux.0.lzma \$(dirname \$PXE_CONF)/../pxelinux.0</action> |
jozee@462 | 302 <action>sed -i "/^boot_file/d" \$UDHCPD_CONF</action> |
jozee@462 | 303 <action>echo "boot_file pxelinux.0" >> \$UDHCPD_CONF</action> |
jozee@462 | 304 <action>grep -q "^siaddr" \$UDHCPD_CONF || echo "siaddr \$(ifconfig \$INTERFACE | grep inet.ad | cut -d: -f2 | cut -d\ -f1)" >> \$UDHCPD_CONF</action> |
jozee@462 | 305 <action>[ -f \$PXE_CONF ] || echo -e "label linux\n\tkernel bzImage\n\tappend initrd=rootfs.gz rw root=/dev/null vga=normal" > \$PXE_CONF</action> |
jozee@462 | 306 <action type="lauch">leafpad \$PXE_CONF</action> |
jozee@462 | 307 </button> |
jozee@462 | 308 </hbox> |
jozee@462 | 309 <hbox> |
pascal@498 | 310 $(wikibutton http://doc.slitaz.org/en:guides:pxe) |
jozee@462 | 311 <button> |
jozee@462 | 312 <input file icon="system-file-manager"></input> |
jozee@462 | 313 <label>Network boot files</label> |
jozee@462 | 314 <action>$xterm -geometry 100x25 -title "Network boot files (q to quit)" -e "find \$(dirname \$(dirname \$PXE_CONF)) -exec ls -ld {} \; | less"</action> |
jozee@462 | 315 </button> |
jozee@462 | 316 </hbox> |
jozee@462 | 317 </frame> |
jozee@462 | 318 EOT |
jozee@462 | 319 } |
jozee@462 | 320 |
jozee@462 | 321 data_pxe() |
jozee@462 | 322 { |
jozee@462 | 323 [ -f /usr/share/boot/pxelinux.0.lzma ] && cat <<EOT |
jozee@462 | 324 true PXElinux tab_pxelinux |
jozee@462 | 325 EOT |
jozee@462 | 326 [ -f /usr/share/boot/gpxe.pxe ] && cat <<EOT |
jozee@462 | 327 true PXE\ forwarder tab_gpxe |
jozee@462 | 328 EOT |
jozee@462 | 329 } |
jozee@462 | 330 |
jozee@462 | 331 # |
jozee@462 | 332 # PXE |
jozee@462 | 333 # |
jozee@462 | 334 tab_pxe() |
jozee@462 | 335 { |
jozee@462 | 336 use_tab data_pxe |
jozee@462 | 337 } |
jozee@462 | 338 |
jozee@462 | 339 # |
jozee@462 | 340 # Busybox dnsd |
jozee@462 | 341 # |
jozee@462 | 342 tab_dnsd() |
jozee@462 | 343 { |
jozee@462 | 344 cat <<EOT |
jozee@462 | 345 <frame Dnsd (busybox master dns)> |
jozee@462 | 346 $(helpdaemon dnsd 80x15 DNSD_OPTIONS DNSD_OPTS) |
jozee@462 | 347 $(configfile /etc/dnsd.conf DNSD_CONF) |
jozee@462 | 348 <hbox> |
jozee@462 | 349 $(startstopdaemon dnsd busybox) |
jozee@462 | 350 </hbox> |
jozee@462 | 351 </frame> |
jozee@462 | 352 EOT |
jozee@462 | 353 } |
jozee@462 | 354 |
jozee@462 | 355 # |
jozee@462 | 356 # ISC Bind |
jozee@462 | 357 # |
jozee@462 | 358 tab_named() |
jozee@462 | 359 { |
jozee@462 | 360 cat <<EOT |
jozee@462 | 361 <frame Named (ISC bind)> |
jozee@462 | 362 $(helpdaemon named 80x10 NAMED_OPTIONS NAMED_OPTS) |
jozee@462 | 363 $(configfile /etc/bind/named.conf.local NAMED_CONF) |
jozee@462 | 364 <hbox> |
jozee@462 | 365 $(startstopdaemon named bind) |
jozee@462 | 366 </hbox> |
jozee@462 | 367 </frame> |
jozee@462 | 368 EOT |
jozee@462 | 369 } |
jozee@462 | 370 |
jozee@462 | 371 # |
jozee@462 | 372 # DNSmasq |
jozee@462 | 373 # |
jozee@462 | 374 tab_dnsmasq() |
jozee@462 | 375 { |
jozee@462 | 376 cat <<EOT |
jozee@462 | 377 <frame DNSmasq (DNS/DHCP/TFTP)> |
jozee@462 | 378 $(helpdaemon dnsmasq 100x34 DNSMASQ_OPTIONS DNSMASQ_OPTS) |
jozee@462 | 379 $(configfile /etc/dnsmasq.conf DNSMASQ_CONF) |
jozee@462 | 380 <hbox> |
jozee@462 | 381 $(startstopdaemon dnsmasq) |
jozee@462 | 382 </hbox> |
jozee@462 | 383 </frame> |
jozee@462 | 384 EOT |
jozee@462 | 385 } |
jozee@462 | 386 |
jozee@462 | 387 data_dns() |
jozee@462 | 388 { |
jozee@462 | 389 cat <<EOT |
jozee@462 | 390 dnsd Dnsd tab_dnsd |
jozee@462 | 391 named Named tab_named |
jozee@462 | 392 dnsmasq DNSmasq tab_dnsmasq |
jozee@462 | 393 #TODO sheerdns Sheerdns tab_sheerdns |
jozee@462 | 394 EOT |
jozee@462 | 395 } |
jozee@462 | 396 |
jozee@462 | 397 # |
jozee@462 | 398 # dns tab |
jozee@462 | 399 # |
jozee@462 | 400 tab_dns() |
jozee@462 | 401 { |
jozee@462 | 402 use_tab data_dns |
jozee@462 | 403 } |
jozee@462 | 404 |
jozee@462 | 405 # |
jozee@462 | 406 # rsync server |
jozee@462 | 407 # |
jozee@462 | 408 tab_rsync() |
jozee@462 | 409 { |
jozee@462 | 410 cat <<EOT |
jozee@462 | 411 <frame Rsync> |
jozee@462 | 412 $(helpdaemon rsync 80x30 RSYNCD_OPTIONS RSYNCD_OPTS 1) |
jozee@462 | 413 $(configfile /etc/rsyncd.conf RSYNCD_CONF) |
jozee@462 | 414 $(datafile /etc/rsyncd.secrets RSYNCD_SECRETS 'Secrets file :') |
jozee@462 | 415 <hbox> |
jozee@462 | 416 $(startstopdaemon rsyncd rsync) |
jozee@462 | 417 </hbox> |
jozee@462 | 418 </frame> |
jozee@462 | 419 EOT |
jozee@462 | 420 } |
jozee@462 | 421 |
jozee@462 | 422 php_ini() |
jozee@462 | 423 { |
jozee@462 | 424 [ -f /etc/php.ini ] && cat <<EOT |
jozee@462 | 425 <frame PHP> |
jozee@462 | 426 $(configfile /etc/php.ini PHP_CONF) |
jozee@462 | 427 </frame> |
jozee@462 | 428 EOT |
jozee@462 | 429 } |
jozee@462 | 430 |
jozee@462 | 431 # |
jozee@462 | 432 # Apache server |
jozee@462 | 433 # |
jozee@462 | 434 tab_apache() |
jozee@462 | 435 { |
jozee@462 | 436 cat <<EOT |
jozee@462 | 437 <frame Apache> |
jozee@462 | 438 $(configfile /etc/apache/httpd.conf HTTPD_CONF) |
jozee@462 | 439 $(php_ini) |
jozee@462 | 440 <hbox> |
jozee@462 | 441 $(startstopdaemon apache) |
jozee@462 | 442 </hbox> |
jozee@462 | 443 </frame> |
jozee@462 | 444 EOT |
jozee@462 | 445 } |
jozee@462 | 446 |
jozee@462 | 447 # |
jozee@462 | 448 # Lighttpd server |
jozee@462 | 449 # |
jozee@462 | 450 tab_lighttpd() |
jozee@462 | 451 { |
jozee@462 | 452 cat <<EOT |
jozee@462 | 453 <frame Lighttpd> |
jozee@462 | 454 $(helpdaemon lighttpd 80x15 LIGHTTPD_OPTIONS LIGHTTPD_OPTS) |
jozee@462 | 455 $(configfile /etc/lighttpd/lighttpd.conf LIGHTTPD_CONF) |
jozee@462 | 456 $(php_ini) |
jozee@462 | 457 <hbox> |
jozee@462 | 458 $(startstopdaemon lighttpd) |
jozee@462 | 459 </hbox> |
jozee@462 | 460 </frame> |
jozee@462 | 461 EOT |
jozee@462 | 462 } |
jozee@462 | 463 |
jozee@462 | 464 # |
jozee@462 | 465 # Busybox httpd server |
jozee@462 | 466 # |
jozee@462 | 467 tab_httpd() |
jozee@462 | 468 { |
jozee@462 | 469 cat <<EOT |
jozee@462 | 470 <frame httpd (busybox)> |
jozee@462 | 471 $(helpdaemon httpd 80x30 HTTPD_OPTIONS HTTPD_OPTS) |
jozee@462 | 472 $(configfile /etc/httpd.conf HTTPD_CONF) |
jozee@462 | 473 $(php_ini) |
jozee@462 | 474 <hbox> |
jozee@462 | 475 $(startstopdaemon httpd busybox) |
jozee@462 | 476 </hbox> |
jozee@462 | 477 </frame> |
jozee@462 | 478 EOT |
jozee@462 | 479 } |
jozee@462 | 480 |
jozee@462 | 481 data_http() |
jozee@462 | 482 { |
jozee@462 | 483 cat <<EOT |
jozee@462 | 484 /etc/apache/httpd.conf Apache tab_apache |
jozee@462 | 485 lighttpd Lighttpd tab_lighttpd |
jozee@462 | 486 /etc/httpd.conf Busybox\ httpd tab_httpd |
jozee@462 | 487 EOT |
jozee@462 | 488 } |
jozee@462 | 489 |
jozee@462 | 490 # |
jozee@462 | 491 # http tab |
jozee@462 | 492 # |
jozee@462 | 493 tab_http() |
jozee@462 | 494 { |
jozee@462 | 495 use_tab data_http |
jozee@462 | 496 } |
jozee@462 | 497 |
jozee@462 | 498 # |
jozee@462 | 499 # Samba servers |
jozee@462 | 500 # |
jozee@462 | 501 tab_wins() |
jozee@462 | 502 { |
jozee@462 | 503 cat <<EOT |
jozee@462 | 504 <frame Samba: smbd & nmbd> |
jozee@462 | 505 $(configfile /etc/samba/smb.conf SMBD_CONF) |
jozee@462 | 506 <hbox> |
jozee@462 | 507 <button> |
jozee@462 | 508 <label>Reload</label> |
jozee@462 | 509 <input file icon="reload"></input> |
jozee@462 | 510 <action>/etc/init.d/samba reload</action> |
jozee@462 | 511 </button> |
jozee@462 | 512 $(startstopdaemon samba) |
jozee@462 | 513 </hbox> |
jozee@462 | 514 </frame> |
jozee@462 | 515 EOT |
jozee@462 | 516 } |
jozee@462 | 517 |
jozee@462 | 518 # |
jozee@462 | 519 # x11vnc |
jozee@462 | 520 # |
jozee@462 | 521 tab_vnc() |
jozee@462 | 522 { |
jozee@462 | 523 cat <<EOT |
jozee@462 | 524 <frame x11vnc> |
jozee@462 | 525 $(helpdaemon x11vnc 80x30 X11VNC_OPTIONS X11VNC_OPTS) |
jozee@462 | 526 <hbox> |
jozee@462 | 527 <text use-markup="true"> |
jozee@462 | 528 <label>"<b>New password</b>"</label> |
jozee@462 | 529 </text> |
jozee@462 | 530 <entry> |
jozee@462 | 531 <variable>X11VNC_PASSWD</variable> |
jozee@462 | 532 </entry> |
jozee@462 | 533 <button> |
jozee@462 | 534 <input file icon="reload"></input> |
jozee@462 | 535 <label>Update</label> |
jozee@462 | 536 <action>x11vnc -storepasswd \$X11VNC_PASSWD /etc/vnc.secret</action> |
jozee@462 | 537 </button> |
jozee@462 | 538 </hbox> |
jozee@462 | 539 <hbox> |
jozee@462 | 540 $(startstopdaemon x11vnc) |
jozee@462 | 541 </hbox> |
jozee@462 | 542 </frame> |
jozee@462 | 543 EOT |
jozee@462 | 544 } |
jozee@462 | 545 |
jozee@462 | 546 # |
jozee@462 | 547 # knock server |
jozee@462 | 548 # |
jozee@462 | 549 tab_knockd() |
jozee@462 | 550 { |
jozee@462 | 551 cat <<EOT |
jozee@462 | 552 <frame Knockd: trigger backdoors> |
jozee@462 | 553 $(helpdaemon knockd 80x15 KNOCK_OPTIONS KNOCK_OPTS) |
jozee@462 | 554 $(configfile /etc/knockd.conf KNOCKD_CONF) |
jozee@462 | 555 <hbox> |
jozee@462 | 556 $(startstopdaemon knockd knock) |
jozee@462 | 557 </hbox> |
jozee@462 | 558 </frame> |
jozee@462 | 559 EOT |
jozee@462 | 560 } |
jozee@462 | 561 |
jozee@462 | 562 data_servers() |
jozee@462 | 563 { |
jozee@462 | 564 local $pxe |
jozee@462 | 565 pxe="#" |
jozee@462 | 566 [ -x /usr/bin/tftpd -a -x /usr/sbin/udhcpd ] && pxe="inetd" |
jozee@462 | 567 [ -x /usr/sbin/dnsmasq ] && pxe="true" |
jozee@462 | 568 [ -f /usr/share/boot/pxelinux.0.lzma -o /usr/share/boot/gpxe.pxe ] || pxe="#" |
jozee@462 | 569 cat <<EOT |
jozee@462 | 570 $([ -x /usr/sbin/dropbear -o -x /usr/sbin/sshd ] && echo "true" || |
jozee@462 | 571 echo "#") SSH tab_sshd |
jozee@462 | 572 $([ -x /usr/sbin/lighttpd -o -x /usr/bin/httpd ] && echo "true" || |
jozee@462 | 573 echo "#") HTTP tab_http |
jozee@462 | 574 rsync Rsync tab_rsync |
jozee@462 | 575 smbd SAMBA tab_wins |
jozee@462 | 576 inetd Inetd tab_inetd |
jozee@462 | 577 zcip ZeroConf tab_zcip |
jozee@462 | 578 $([ -x /usr/sbin/udhcpd -o -x /usr/sbin/dhcpd -o -x /usr/sbin/dnsmasq ] && |
jozee@462 | 579 echo "true" || |
jozee@462 | 580 echo "#") DHCP tab_dhcpd |
jozee@462 | 581 $pxe PXE tab_pxe |
jozee@462 | 582 dnsmasq tftpd tab_dnsmasq |
jozee@462 | 583 $([ -x /usr/sbin/dnsd -o -x /usr/sbin/named -o -x /usr/sbin/dnsmasq ] && |
jozee@462 | 584 echo "true" || |
jozee@462 | 585 echo "#") DNS tab_dns |
jozee@462 | 586 x11vnc VNC tab_vnc |
jozee@462 | 587 knockd Knock tab_knockd |
jozee@462 | 588 #TODO+callback pppd Pppd tab_pppd |
jozee@462 | 589 #TODO pptpd PoPToP tab_poptop |
jozee@462 | 590 #TODO squid *sql openldap |
jozee@462 | 591 EOT |
jozee@462 | 592 } |
jozee@462 | 593 |
jozee@462 | 594 # |
jozee@462 | 595 # Servers tab |
jozee@462 | 596 # |
jozee@462 | 597 tab_servers() |
jozee@462 | 598 { |
jozee@462 | 599 use_tab data_servers |
jozee@462 | 600 } |
jozee@462 | 601 |
jozee@462 | 602 # |
jozee@462 | 603 # Firewall tab |
jozee@462 | 604 # |
jozee@462 | 605 tab_firewall() |
jozee@462 | 606 { |
jozee@462 | 607 cat <<EOT |
jozee@462 | 608 <frame Iptables> |
jozee@462 | 609 $(configfile /etc/firewall.conf IPTABLES_CONF) |
jozee@462 | 610 <hbox> |
jozee@462 | 611 $(helpbutton iptables 80x30) |
jozee@462 | 612 $(manbutton 8 iptables) |
jozee@462 | 613 $(webbutton iptables) |
jozee@462 | 614 <button> |
jozee@462 | 615 <label>Load</label> |
jozee@462 | 616 <input file icon="reload"></input> |
jozee@462 | 617 <action>cat \$IPTABLES_CONF | /sbin/iptables-restore</action> |
jozee@462 | 618 </button> |
jozee@462 | 619 <button> |
jozee@462 | 620 <label>Save</label> |
jozee@462 | 621 <input file icon="go-jump"></input> |
jozee@462 | 622 <action>/sbin/iptables-save > \$IPTABLES_CONF</action> |
jozee@462 | 623 </button> |
jozee@462 | 624 </hbox> |
jozee@462 | 625 </frame> |
jozee@462 | 626 EOT |
jozee@462 | 627 } |
jozee@462 | 628 |
jozee@462 | 629 # |
jozee@462 | 630 # knock client |
jozee@462 | 631 # |
jozee@462 | 632 tab_knock() |
jozee@462 | 633 { |
jozee@462 | 634 cat <<EOT |
jozee@462 | 635 <frame Knock> |
jozee@462 | 636 <hbox> |
jozee@462 | 637 <text use-markup="true"> |
jozee@462 | 638 <label>"<b>Options : </b>"</label> |
jozee@462 | 639 </text> |
jozee@462 | 640 <entry editable="true"> |
jozee@462 | 641 <variable>KNOCK_OPTS</variable> |
jozee@462 | 642 <default>myserver.example.com 123:tcp 456:udp 789:tcp</default> |
jozee@462 | 643 </entry> |
jozee@462 | 644 </hbox> |
jozee@462 | 645 <hbox> |
jozee@462 | 646 $(helpbutton knock 80x12) |
jozee@462 | 647 <button> |
jozee@462 | 648 <label>Start</label> |
jozee@462 | 649 <input file icon="forward"></input> |
jozee@462 | 650 <action>knock \$KNOCK_OPTS</action> |
jozee@462 | 651 </button> |
jozee@462 | 652 </hbox> |
jozee@462 | 653 </frame> |
jozee@462 | 654 EOT |
jozee@462 | 655 } |
jozee@462 | 656 |
jozee@462 | 657 data_main() |
jozee@462 | 658 { |
jozee@462 | 659 cat <<EOT |
jozee@462 | 660 #program tab name function |
jozee@462 | 661 true Servers tab_servers |
jozee@462 | 662 iptables Firewall tab_firewall |
jozee@462 | 663 knock Knock tab_knock |
jozee@462 | 664 EOT |
jozee@462 | 665 } |
jozee@462 | 666 |
jozee@462 | 667 tab_main() |
jozee@462 | 668 { |
jozee@462 | 669 use_tab data_main |
jozee@462 | 670 } |
jozee@462 | 671 |
jozee@462 | 672 ###################################################### |
jozee@462 | 673 # |
jozee@462 | 674 # Serverbox GUI |
jozee@462 | 675 # |
jozee@462 | 676 ###################################################### |
jozee@462 | 677 |
jozee@462 | 678 # Only root can configure server. |
jozee@462 | 679 check_root |
jozee@462 | 680 |
jozee@462 | 681 # English/French help dialog. |
jozee@462 | 682 export HELP=' |
jozee@462 | 683 <window title="Network status" icon-name="network-wire"> |
jozee@462 | 684 <vbox> |
jozee@462 | 685 <text use-markup="true"> |
jozee@462 | 686 <label> |
jozee@462 | 687 " |
jozee@462 | 688 <b>SliTaz - Serverbox</b>" |
jozee@462 | 689 </label> |
jozee@462 | 690 </text> |
jozee@462 | 691 <frame English> |
jozee@462 | 692 <text wrap="true" width-chars="58"> |
jozee@462 | 693 <label> |
jozee@462 | 694 "Serverbox lets you manage and setup servers. First, install and |
paul@500 | 695 edit any configuration files. Then, start or stop the servers." |
jozee@462 | 696 </label> |
jozee@462 | 697 </text> |
jozee@462 | 698 </frame> |
jozee@462 | 699 <frame Francais> |
jozee@462 | 700 <text wrap="true" width-chars="58"> |
jozee@462 | 701 <label> |
jozee@462 | 702 "Serverbox peut demarrer ou arreter le reseau, configurer |
jozee@462 | 703 les interfaces reseau ou editer directement les fichiers." |
jozee@462 | 704 </label> |
jozee@462 | 705 </text> |
jozee@462 | 706 </frame> |
jozee@462 | 707 </vbox> |
jozee@462 | 708 </window> |
jozee@462 | 709 ' |
jozee@462 | 710 |
jozee@462 | 711 # The main dialog with notebook, start/stop buttons and all options. |
jozee@462 | 712 # Note that /etc/network.conf is seded when an interface is activated. |
jozee@462 | 713 # |
jozee@462 | 714 head=' |
jozee@462 | 715 <window title="SliTaz Server Manager" icon-name="network-wired"> |
jozee@462 | 716 <vbox> |
jozee@462 | 717 |
jozee@462 | 718 <hbox> |
jozee@462 | 719 <text use-markup="true"> |
jozee@462 | 720 <label>"<b>Server Manager</b>"</label> |
jozee@462 | 721 </text> |
jozee@462 | 722 <pixmap> |
jozee@462 | 723 <input file>/usr/share/pixmaps/netbox.png</input> |
jozee@462 | 724 </pixmap> |
jozee@462 | 725 </hbox> |
jozee@462 | 726 ' |
jozee@462 | 727 bottom=' |
jozee@462 | 728 <hbox> |
jozee@462 | 729 <button help> |
jozee@462 | 730 <label>Help</label> |
jozee@462 | 731 <action type="launch">HELP</action> |
jozee@462 | 732 </button> |
jozee@462 | 733 <button> |
jozee@462 | 734 <label>Quit</label> |
jozee@462 | 735 <input file icon="exit"></input> |
jozee@462 | 736 <action type="exit">Exit</action> |
jozee@462 | 737 </button> |
jozee@462 | 738 </hbox> |
jozee@462 | 739 |
jozee@462 | 740 </vbox> |
jozee@462 | 741 </window> |
jozee@462 | 742 ' |
jozee@462 | 743 |
jozee@462 | 744 SERVER_BOX="${head}$(tab_main)${bottom}" |
jozee@462 | 745 |
jozee@462 | 746 export SERVER_BOX |
jozee@462 | 747 |
jozee@462 | 748 gtkdialog --center --program=SERVER_BOX >/dev/null |