slitaz-tools annotate tinyutils/netbox @ rev 126

netbox: add servers tab
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Apr 08 08:27:19 2008 +0000 (2008-04-08)
parents bcdf06f0074a
children 36695da47702
rev   line source
pankso@33 1 #!/bin/sh
pankso@33 2 #
pankso@33 3 # Gtkdialog box to manage network connexion.
pankso@33 4 # - SliTaz GNU/Linux 2008.
pankso@33 5 #
pankso@33 6 VERSION=20080113
pankso@33 7
pankso@33 8 # Check if user is root.
pankso@33 9 check_root()
pankso@33 10 {
pankso@33 11 if test $(id -u) != 0 ; then
pankso@33 12 echo -e "
pankso@33 13 You must be root to run `basename $0`. Please type 'su' and
pankso@33 14 root password to become super-user.\n"
pankso@33 15 exit 0
pankso@33 16 fi
pankso@33 17 }
pankso@33 18
pankso@33 19 # Interafce status with ifconfig without arguments to show all
pankso@33 20 # active connections.
pankso@33 21 #
pankso@33 22 export IFCONFIG='
pankso@38 23 <window title="Ifconfig" icon-name="network-wired">
pankso@33 24 <vbox>
pankso@33 25 <text use-markup="true">
pankso@33 26 <label>"
pankso@33 27 <b>Active network interfaces</b>"
pankso@33 28 </label>
pankso@33 29 </text>
pankso@33 30 <text wrap="false">
pankso@33 31 <input>date</input>
pankso@33 32 </text>
pankso@33 33 <frame Ifconfig>
pankso@33 34 <text wrap="false" width-chars="58">
pankso@33 35 <input>ifconfig</input>
pankso@33 36 </text>
pankso@33 37 </frame>
pankso@33 38 <hbox>
pankso@33 39 <button>
pankso@33 40 <input file icon="exit"></input>
pankso@33 41 <action type="closewindow">IFCONFIG</action>
pankso@33 42 </button>
pankso@33 43 </hbox>
pankso@33 44 </vbox>
pankso@38 45 </window>
pankso@33 46 '
pankso@33 47
pankso@34 48 # The main dialog with notebook, start/stop buttons and all options.
pankso@34 49 # Note than /etc/network.conf is seded wehwn an interafce is activate
pankso@33 50 #
pascal@126 51 NET_BOX='
pankso@38 52 <window title="Netbox" icon-name="network-wired">
pankso@33 53 <vbox>
pankso@33 54 <text use-markup="true">
pankso@34 55 <label>
pankso@34 56 "
pankso@33 57 <b>SliTaz - Netbox</b>"
pankso@33 58 </label>
pankso@33 59 </text>
pankso@33 60 <text wrap="true" width-chars="44">
pankso@33 61 <label>
pankso@33 62 "
pascal@126 63 Manage network connections getting dynamic IP
pascal@126 64 by DHCP or static IP, and setup servers.
pascal@126 65 Netbox can start or stop networking, configure
pascal@126 66 network interfaces or directly edit files.
pankso@33 67 "
pankso@33 68 </label>
pankso@33 69 </text>
pankso@33 70
pankso@33 71 <frame General>
pankso@33 72 <hbox>
pankso@33 73 <text use-markup="true">
pankso@34 74 <label>"<b>Interface :</b>"</label>
pankso@33 75 </text>
pankso@33 76 <entry>
pankso@33 77 <input>. /etc/network.conf; echo $INTERFACE</input>
pankso@33 78 <variable>INTERFACE</variable>
pankso@33 79 </entry>
pankso@33 80 </hbox>
pankso@33 81 </frame>
pankso@33 82
pascal@126 83 <notebook labels="DHCP|Static IP|System wide|Servers">
pankso@33 84
pankso@33 85 <frame Udhcpc>
pankso@33 86 <hbox>
pankso@33 87 <text use-markup="true">
pascal@126 88 <label>"<b>Options :</b>"</label>
pankso@33 89 </text>
pankso@33 90 <entry>
pankso@33 91 <default>-b</default>
pankso@33 92 <variable>UDHCPC_OPTS</variable>
pankso@33 93 </entry>
pascal@126 94 <button>
pascal@126 95 <input file icon="help"></input>
pascal@126 96 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x27 -title "udhcpc help" -e "udhcpc --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@126 97 </button>
pankso@33 98 </hbox>
pankso@33 99 <hbox>
pankso@33 100 <button>
pankso@33 101 <label>Start</label>
pankso@33 102 <input file icon="forward"></input>
pankso@33 103 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE=\"$INTERFACE\"/ /etc/network.conf</action>
pankso@33 104 <action>sed -i s/DHCP=\"no\"/DHCP=\"yes\"/ /etc/network.conf</action>
pankso@33 105 <action>sed -i s/STATIC=\"yes\"/STATIC=\"no\"/ /etc/network.conf</action>
pankso@33 106 <action>udhcpc $UDHCPC_OPTS -i $INTERFACE -p /var/run/udhcpc.$INTERFACE.pid</action>
pankso@33 107 </button>
pankso@33 108 <button>
pankso@33 109 <label>Stop</label>
pankso@33 110 <input file icon="stop"></input>
pankso@33 111 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 112 <action>ifconfig $INTERFACE down</action>
pankso@33 113 <action>killall -q udhcpc; echo "done"</action>
pankso@33 114 </button>
pankso@33 115 </hbox>
pankso@33 116 </frame>
pankso@33 117
pankso@33 118 <frame Configuration>
pankso@33 119 <hbox>
pankso@33 120 <text use-markup="true">
pankso@34 121 <label>"<b>IP :</b>"</label>
pankso@33 122 </text>
pankso@33 123 <entry>
pankso@33 124 <input>. /etc/network.conf; echo "$IP"</input>
pankso@33 125 <variable>IP</variable>
pankso@33 126 </entry>
pankso@33 127 </hbox>
pankso@33 128 <hbox>
pankso@33 129 <text use-markup="true">
pankso@34 130 <label>"<b>Netmask :</b>"</label>
pankso@33 131 </text>
pankso@33 132 <entry>
pankso@33 133 <input>. /etc/network.conf; echo "$NETMASK"</input>
pankso@33 134 <variable>NETMASK</variable>
pankso@33 135 </entry>
pankso@33 136 </hbox>
pankso@33 137 <hbox>
pankso@33 138 <text use-markup="true">
pankso@34 139 <label>"<b>Gateway :</b>"</label>
pankso@33 140 </text>
pankso@33 141 <entry>
pankso@33 142 <input>. /etc/network.conf; echo "$GATEWAY"</input>
pankso@33 143 <variable>GATEWAY</variable>
pankso@33 144 </entry>
pankso@33 145 </hbox>
pankso@33 146 <hbox>
pankso@33 147 <text use-markup="true">
pankso@34 148 <label>"<b>DNS server :</b>"</label>
pankso@33 149 </text>
pankso@33 150 <entry>
pankso@33 151 <input>. /etc/network.conf; echo "$DNS_SERVER"</input>
pankso@33 152 <variable>DNS_SERVER</variable>
pankso@33 153 </entry>
pankso@33 154 </hbox>
pankso@33 155 <hbox>
pankso@33 156 <button>
pankso@33 157 <label>Start</label>
pankso@33 158 <input file icon="forward"></input>
pankso@33 159 <action>ifconfig lo down</action>
pankso@33 160 <action>ifconfig $INTERFACE down</action>
pankso@33 161 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE=\"$INTERFACE\"/ /etc/network.conf</action>
pankso@33 162 <action>sed -i s/DHCP=\"yes\"/DHCP=\"no\"/ /etc/network.conf</action>
pankso@33 163 <action>sed -i s/STATIC=\"no\"/STATIC=\"yes\"/ /etc/network.conf</action>
pankso@33 164 <action>sed -i s/`cat /etc/network.conf | grep ^IP=`/IP=\"$IP\"/ /etc/network.conf</action>
pankso@33 165 <action>sed -i s/`cat /etc/network.conf | grep ^NETMASK=`/NETMASK=\"$NETMASK\"/ /etc/network.conf</action>
pankso@33 166 <action>sed -i s/`cat /etc/network.conf | grep ^GATEWAY=`/GATEWAY=\"$GATEWAY\"/ /etc/network.conf</action>
pankso@33 167 <action>sed -i s/`cat /etc/network.conf | grep ^DNS_SERVER=`/DNS_SERVER=\"$DNS_SERVER\"/ /etc/network.conf</action>
pankso@33 168 <action>/etc/init.d/network.sh</action>
pankso@33 169 </button>
pankso@33 170 <button>
pankso@33 171 <label>Stop</label>
pankso@33 172 <input file icon="stop"></input>
pankso@33 173 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 174 <action>ifconfig $INTERFACE down; echo "done"</action>
pankso@33 175 </button>
pankso@33 176 </hbox>
pankso@33 177 </frame>
pankso@33 178
pankso@33 179 <frame Configuration files>
pankso@33 180 <hbox>
pankso@33 181 <text use-markup="true">
pankso@34 182 <label>"<b>Hosts :</b>"</label>
pankso@33 183 </text>
pankso@33 184 <entry editable="false">
pankso@33 185 <default>/etc/hosts</default>
pankso@33 186 <variable>HOSTS</variable>
pankso@33 187 </entry>
pankso@33 188 <button>
pankso@33 189 <input file icon="accessories-text-editor"></input>
pankso@33 190 <action type="lauch">leafpad $HOSTS</action>
pankso@33 191 </button>
pankso@33 192 </hbox>
pankso@33 193 <hbox>
pankso@33 194 <text use-markup="true">
pankso@34 195 <label>"<b>Host name :</b>"</label>
pankso@33 196 </text>
pankso@33 197 <entry editable="false">
pankso@33 198 <default>/etc/hostname</default>
pankso@33 199 <variable>HOSTNAME</variable>
pankso@33 200 </entry>
pankso@33 201 <button>
pankso@33 202 <input file icon="accessories-text-editor"></input>
pankso@33 203 <action type="lauch">leafpad $HOSTNAME</action>
pankso@33 204 </button>
pankso@33 205 </hbox>
pankso@33 206 <hbox>
pankso@33 207 <text use-markup="true">
pankso@34 208 <label>"<b>Network :</b>"</label>
pankso@33 209 </text>
pankso@33 210 <entry editable="false">
pankso@33 211 <default>/etc/network.conf</default>
pankso@33 212 <variable>CONFIG_FILE</variable>
pankso@33 213 </entry>
pankso@33 214 <button>
pankso@33 215 <input file icon="accessories-text-editor"></input>
pankso@33 216 <action type="lauch">leafpad $CONFIG_FILE</action>
pankso@33 217 </button>
pankso@33 218 </hbox>
pankso@33 219 <hbox>
pankso@33 220 <button>
pankso@33 221 <label>Restart</label>
pankso@33 222 <input file icon="reload"></input>
pankso@33 223 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 224 <action>ifconfig lo down</action>
pankso@33 225 <action>ifconfig $INTERFACE down</action>
pankso@33 226 <action>killall -q udhcpc; echo "done"</action>
pankso@33 227 <action>/etc/init.d/network.sh</action>
pankso@33 228 </button>
pankso@33 229 </hbox>
pankso@33 230 </frame>
pascal@126 231 <notebook labels="'
pascal@126 232 tmp=''
pascal@126 233 [ -x /usr/sbin/dropbear ] && NET_BOX="${NET_BOX}${tmp}SSH" && tmp='|'
pascal@126 234 [ -x /usr/bin/tftpd ] && NET_BOX="${NET_BOX}${tmp}TFTP" && tmp='|'
pascal@126 235 [ -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}${tmp}DHCP" && tmp='|'
pascal@126 236 [ -f /usr/share/boot/pxelinux.0.lzma -a -x /usr/bin/tftpd -a \
pascal@126 237 -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}${tmp}PXE" && tmp='|'
pascal@126 238 [ -x /usr/sbin/dnsd ] && NET_BOX="${NET_BOX}${tmp}DNS" && tmp='|'
pascal@126 239 [ -x /usr/bin/rsync ] && NET_BOX="${NET_BOX}${tmp}RSYNC" && tmp='|'
pascal@126 240 [ -x /usr/sbin/lighttpd ] && NET_BOX="${NET_BOX}${tmp}HTTP" && tmp='|'
pascal@126 241 . /etc/daemons.conf
pascal@126 242 set -- $DROPBEAR_OPTIONS
pascal@126 243 while [ -n "$2" ]; do
pascal@126 244 [ "$1" = "-b" ] && DROPBEAR_BANNER="$2" && break
pascal@126 245 shift
pascal@126 246 done
pascal@126 247 NET_BOX="${NET_BOX}\">"
pascal@126 248 tmp='<frame Dropbear>
pascal@126 249 <hbox>
pascal@126 250 <text use-markup="true">
pascal@126 251 <label>"<b>DROPBEAR_OPTIONS</b>"</label>
pascal@126 252 </text>
pascal@126 253 <entry editable="false">'
pascal@126 254 [ -n "$DROPBEAR_OPTIONS" ] && tmp="$tmp<default>$DROPBEAR_OPTIONS</default>"
pascal@126 255 tmp2='
pascal@126 256 <variable>DROPBEAR_OPTS</variable>
pascal@126 257 </entry>
pascal@126 258 <button>
pascal@126 259 <input file icon="help"></input>
pascal@126 260 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x30 -title "dropbear help" -e "dropbear --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@126 261 </button>
pascal@126 262 <button>
pascal@126 263 <input file icon="accessories-text-editor"></input>
pascal@126 264 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 265 </button>
pascal@126 266 </hbox>
pascal@126 267 <hbox>
pascal@126 268 <text use-markup="true">
pascal@126 269 <label>"<b>Banner :</b>"</label>
pascal@126 270 </text>
pascal@126 271 <entry editable="false">'
pascal@126 272 [ -n "$DROPBEAR_BANNER" ] && tmp="$tmp$tmp2<default>$DROPBEAR_BANNER</default>"
pascal@126 273 tmp2='
pascal@126 274 <variable>DROPBEAR_BANNER</variable>
pascal@126 275 </entry>
pascal@126 276 <button>
pascal@126 277 <input file icon="accessories-text-editor"></input>
pascal@126 278 <action type="lauch">leafpad $DROPBEAR_BANNER</action>
pascal@126 279 </button>
pascal@126 280 </hbox>
pascal@126 281 <hbox>
pascal@126 282 <button>
pascal@126 283 <label>Start</label>
pascal@126 284 <input file icon="forward"></input>
pascal@126 285 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dropbear \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 286 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"dropbear \1\"/" /etc/rcS.conf</action>
pascal@126 287 <action>/etc/init.d/dropbear start</action>
pascal@126 288 </button>
pascal@126 289 <button>
pascal@126 290 <label>Stop</label>
pascal@126 291 <input file icon="stop"></input>
pascal@126 292 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dropbear \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 293 <action>/etc/init.d/dropbear stop</action>
pascal@126 294 </button>
pascal@126 295 </hbox>
pascal@126 296 </frame>
pascal@126 297 '
pascal@126 298 [ -x /usr/sbin/dropbear ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 299 set -- $TFTPD_OPTIONS
pascal@126 300 TFTPD_OPTS=""
pascal@126 301 while [ -n "$2" ]; do
pascal@126 302 TFTPD_OPTS="$TFTPD_OPTS $1"
pascal@126 303 shift
pascal@126 304 done
pascal@126 305 TFTPD_ROOT="$1"
pascal@126 306 tmp='<frame Tftpd>
pascal@126 307 <hbox>
pascal@126 308 <text use-markup="true">
pascal@126 309 <label>"<b>TFTPD_OPTIONS</b>"</label>
pascal@126 310 </text>
pascal@126 311 <entry editable="false">'
pascal@126 312 [ -n "$TFTPD_OPTS" ] && tmp="$tmp<default>$TFTPD_OPTS</default>"
pascal@126 313 tmp2='
pascal@126 314 <variable>TFTPD_OPTS</variable>
pascal@126 315 </entry>
pascal@126 316 <button>
pascal@126 317 <input file icon="help"></input>
pascal@126 318 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x13 -title "tftpd help" -e "tftpd --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@126 319 </button>
pascal@126 320 <button>
pascal@126 321 <input file icon="accessories-text-editor"></input>
pascal@126 322 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 323 </button>
pascal@126 324 </hbox>
pascal@126 325 <hbox>
pascal@126 326 <text use-markup="true">
pascal@126 327 <label>"<b>Root path :</b>"</label>
pascal@126 328 </text>
pascal@126 329 <entry editable="false">'
pascal@126 330 tmp="$tmp$tmp2"
pascal@126 331 [ -n "$TFTPD_ROOT" ] && tmp="$tmp<default>$TFTPD_ROOT</default>"
pascal@126 332 tmp2='
pascal@126 333 <variable>TFTPD_ROOT</variable>
pascal@126 334 </entry>
pascal@126 335 </hbox>
pascal@126 336 <hbox>
pascal@126 337 <button>
pascal@126 338 <label>Start</label>
pascal@126 339 <input file icon="forward"></input>
pascal@126 340 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)tftpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 341 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"tftpd \1\"/" /etc/rcS.conf</action>
pascal@126 342 <action>/etc/init.d/tftpd start</action>
pascal@126 343 </button>
pascal@126 344 <button>
pascal@126 345 <label>Stop</label>
pascal@126 346 <input file icon="stop"></input>
pascal@126 347 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)tftpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 348 <action>/etc/init.d/tftpd start</action>
pascal@126 349 </button>
pascal@126 350 </hbox>
pascal@126 351 </frame>
pascal@126 352 '
pascal@126 353 [ -x /usr/bin/tftpd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 354 tmp='<frame Dhcpd>
pascal@126 355 <hbox>
pascal@126 356 <text use-markup="true">
pascal@126 357 <label>"<b>Configuration :</b>"</label>
pascal@126 358 </text>
pascal@126 359 <entry editable="false">
pascal@126 360 <default>/etc/udhcpd.conf</default>
pascal@126 361 <variable>UDHCPD_CONF</variable>
pascal@126 362 </entry>
pascal@126 363 <button>
pascal@126 364 <input file icon="accessories-text-editor"></input>
pascal@126 365 <action type="lauch">leafpad $UDHCPD_CONF</action>
pascal@126 366 </button>
pascal@126 367 </hbox>
pascal@126 368 <hbox>
pascal@126 369 <button>
pascal@126 370 <label>Start</label>
pascal@126 371 <input file icon="forward"></input>
pascal@126 372 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)udhcpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 373 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"udhcpd \1\"/" /etc/rcS.conf</action>
pascal@126 374 <action>/etc/init.d/udhcpd start</action>
pascal@126 375 </button>
pascal@126 376 <button>
pascal@126 377 <label>Stop</label>
pascal@126 378 <input file icon="stop"></input>
pascal@126 379 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)udhcpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 380 <action>/etc/init.d/udhcpd stop</action>
pascal@126 381 </button>
pascal@126 382 </hbox>
pascal@126 383 </frame>
pascal@126 384 '
pascal@126 385 [ -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}${tmp}"
pascal@126 386 tmp='<frame Pxelinux>
pascal@126 387 <hbox>
pascal@126 388 <text wrap="true">
pascal@126 389 <label>
pascal@126 390 "Tftpd and Dhcpd must be lauched to start the PXE service."
pascal@126 391 </label>
pascal@126 392 </text>
pascal@126 393 </hbox>
pascal@126 394 <hbox>
pascal@126 395 <text use-markup="true">
pascal@126 396 <label>"<b>Configuration :</b>"</label>
pascal@126 397 </text>
pascal@126 398 <entry editable="false">
pascal@126 399 <default>pxelinux.cfg/default</default>
pascal@126 400 <variable>PXE_CONF</variable>
pascal@126 401 </entry>
pascal@126 402 <button>
pascal@126 403 <input file icon="accessories-text-editor"></input>
pascal@126 404 <action>dir=$(dirname $TFTPD_ROOT/$PXE_CONF); [ -d $dir ] || mkdir -p $dir</action>
pascal@126 405 <action>lzma d /usr/share/boot/pxelinux.0.lzma $TFTPD_ROOT/pxelinux.0</action>
pascal@126 406 <action>grep "^option bootfile=pxelinux.0" $UDHCPD_CONF || echo "option bootfile=pxelinux.0" >> $UDHCPD_CONF</action>
pascal@126 407 <action>[ -f $TFTPD_ROOT/$PXE_CONF ] || echo -e "label slitaz\n\tkernel bzImage\n\tappend initrd=rootfs.gz rw root=/dev/null vga=normal" > $TFTPD_ROOT/$PXE_CONF</action>
pascal@126 408 <action type="lauch">leafpad $TFTPD_ROOT/$PXE_CONF</action>
pascal@126 409 </button>
pascal@126 410 </hbox>
pascal@126 411 </frame>
pascal@126 412 '
pascal@126 413 [ -f /usr/share/syslinux/pxelinux.0 -a -x /usr/bin/tftpd -a \
pascal@126 414 -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}${tmp}"
pascal@126 415 tmp='<frame Dnsd>
pascal@126 416 <hbox>
pascal@126 417 <text use-markup="true">
pascal@126 418 <label>"<b>DNSD_OPTIONS</b>"</label>
pascal@126 419 </text>
pascal@126 420 <entry editable="false">'
pascal@126 421 [ -n "$DNSD_OPTIONS" ] && tmp="$tmp<default>$DNSD_OPTIONS</default>"
pascal@126 422 tmp2='
pascal@126 423 <variable>DNSD_OPTS</variable>
pascal@126 424 </entry>
pascal@126 425 <button>
pascal@126 426 <input file icon="help"></input>
pascal@126 427 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x15 -title "dnsd help" -e "dnsd --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@126 428 </button>
pascal@126 429 <button>
pascal@126 430 <input file icon="accessories-text-editor"></input>
pascal@126 431 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 432 </button>
pascal@126 433 </hbox>
pascal@126 434 <hbox>
pascal@126 435 <text use-markup="true">
pascal@126 436 <label>"<b>Configuration :</b>"</label>
pascal@126 437 </text>
pascal@126 438 <entry editable="false">
pascal@126 439 <default>/etc/dnsd.conf</default>
pascal@126 440 <variable>DNSD_CONF</variable>
pascal@126 441 </entry>
pascal@126 442 <button>
pascal@126 443 <input file icon="accessories-text-editor"></input>
pascal@126 444 <action type="lauch">leafpad $DNSD_CONF</action>
pascal@126 445 </button>
pascal@126 446 </hbox>
pascal@126 447 <hbox>
pascal@126 448 <button>
pascal@126 449 <label>Start</label>
pascal@126 450 <input file icon="forward"></input>
pascal@126 451 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dnsd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 452 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"dnsd \1\"/" /etc/rcS.conf</action>
pascal@126 453 <action>/etc/init.d/dnsd start</action>
pascal@126 454 </button>
pascal@126 455 <button>
pascal@126 456 <label>Stop</label>
pascal@126 457 <input file icon="stop"></input>
pascal@126 458 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dnsd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 459 <action>/etc/init.d/dnsd stop</action>
pascal@126 460 </button>
pascal@126 461 </hbox>
pascal@126 462 </frame>
pascal@126 463 '
pascal@126 464 [ -x /usr/sbin/dnsd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 465 tmp='<frame Rsync>
pascal@126 466 <hbox>
pascal@126 467 <text use-markup="true">
pascal@126 468 <label>"<b>RSYNCD_OPTIONS</b>"</label>
pascal@126 469 </text>
pascal@126 470 <entry editable="false">'
pascal@126 471 [ -n "${RSYNCD_OPTIONS#* }" ] && tmp="$tmp<default>${RSYNCD_OPTIONS#* }</default>"
pascal@126 472 tmp2='
pascal@126 473 <variable>RSYNC_OPTS</variable>
pascal@126 474 </entry>
pascal@126 475 <button>
pascal@126 476 <input file icon="help"></input>
pascal@126 477 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x30 -title "rsync daemon help" -e "rsync --daemon --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@126 478 </button>
pascal@126 479 <button>
pascal@126 480 <input file icon="accessories-text-editor"></input>
pascal@126 481 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 482 </button>
pascal@126 483 </hbox>
pascal@126 484 <hbox>
pascal@126 485 <text use-markup="true">
pascal@126 486 <label>"<b>Configuration :</b>"</label>
pascal@126 487 </text>
pascal@126 488 <entry editable="false">
pascal@126 489 <default>/etc/rsyncd.conf</default>
pascal@126 490 <variable>RSYNCD_CONF</variable>
pascal@126 491 </entry>
pascal@126 492 <button>
pascal@126 493 <input file icon="accessories-text-editor"></input>
pascal@126 494 <action type="lauch">leafpad $RSYNCD_CONF</action>
pascal@126 495 </button>
pascal@126 496 </hbox>
pascal@126 497 <hbox>
pascal@126 498 <text use-markup="true">
pascal@126 499 <label>"<b>Secrets file :</b>"</label>
pascal@126 500 </text>
pascal@126 501 <entry editable="true">
pascal@126 502 <default>/etc/rsyncd.secrets</default>
pascal@126 503 <variable>RSYNCD_SECRETS</variable>
pascal@126 504 </entry>
pascal@126 505 <button>
pascal@126 506 <input file icon="accessories-text-editor"></input>
pascal@126 507 <action type="lauch">leafpad $RSYNCD_SECRETS</action>
pascal@126 508 </button>
pascal@126 509 </hbox>
pascal@126 510 <hbox>
pascal@126 511 <button>
pascal@126 512 <label>Start</label>
pascal@126 513 <input file icon="forward"></input>
pascal@126 514 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)rsyncd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 515 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"rsyncd \1\"/" /etc/rcS.conf</action>
pascal@126 516 <action>/etc/init.d/rsyncd start</action>
pascal@126 517 </button>
pascal@126 518 <button>
pascal@126 519 <label>Stop</label>
pascal@126 520 <input file icon="stop"></input>
pascal@126 521 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)rsyncd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 522 <action>/etc/init.d/rsyncd stop</action>
pascal@126 523 </button>
pascal@126 524 </hbox>
pascal@126 525 </frame>
pascal@126 526 '
pascal@126 527 [ -x /usr/bin/rsync ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 528 tmp='<frame Lighttpd>
pascal@126 529 <hbox>
pascal@126 530 <text use-markup="true">
pascal@126 531 <label>"<b>Configuration :</b>"</label>
pascal@126 532 </text>
pascal@126 533 <entry editable="false">
pascal@126 534 <default>/etc/lighttpd/lighttpd.conf</default>
pascal@126 535 <variable>LIGHTTPD_CONF</variable>
pascal@126 536 </entry>
pascal@126 537 <button>
pascal@126 538 <input file icon="accessories-text-editor"></input>
pascal@126 539 <action type="lauch">leafpad $LIGHTTPD_CONF</action>
pascal@126 540 </button>
pascal@126 541 </hbox>
pascal@126 542 <hbox>
pascal@126 543 <button>
pascal@126 544 <label>Start</label>
pascal@126 545 <input file icon="forward"></input>
pascal@126 546 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)lighttpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 547 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"lighttpd \1\"/" /etc/rcS.conf</action>
pascal@126 548 <action>/etc/init.d/lighttpd start</action>
pascal@126 549 </button>
pascal@126 550 <button>
pascal@126 551 <label>Stop</label>
pascal@126 552 <input file icon="stop"></input>
pascal@126 553 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)lighttpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 554 <action>/etc/init.d/lighttpd stop</action>
pascal@126 555 </button>
pascal@126 556 </hbox>
pascal@126 557 </frame>
pascal@126 558 '
pascal@126 559 [ -x /usr/sbin/lighttpd ] && NET_BOX="${NET_BOX}${tmp}"
pascal@126 560 tmp='
pascal@126 561 </notebook>
pankso@33 562
pankso@33 563 </notebook>
pankso@33 564
pankso@33 565 <hbox>
pankso@33 566 <button>
pankso@33 567 <label>Status</label>
pankso@33 568 <input file icon="network-wired"></input>
pankso@33 569 <action type="launch">IFCONFIG</action>
pankso@33 570 </button>
pankso@33 571 <button>
pankso@33 572 <input file icon="exit"></input>
pankso@33 573 <action type="exit">Exit</action>
pankso@33 574 </button>
pankso@33 575 </hbox>
pankso@33 576
pankso@33 577 </vbox>
pankso@38 578 </window>
pankso@33 579 '
pascal@126 580 NET_BOX="${NET_BOX}${tmp}"
pascal@126 581
pascal@126 582 export NET_BOX
pascal@126 583
pascal@126 584 # TODO: Servers/VNC(X11vnc) Servers/SMB(Samba)
pascal@126 585 # Modules(Network kernel module) Firewall(Iptables) VPN(OpenVPN)
pascal@126 586 # TODO: Status: running servers
pankso@33 587
pankso@33 588 # Only root can configure network.
pankso@33 589 check_root
pankso@97 590 gtkdialog --center --program=NET_BOX
pankso@33 591
pankso@33 592 exit 0