slitaz-tools annotate tinyutils/netbox @ rev 152

netbox: tftp root not hardcoded
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sat Apr 19 20:04:26 2008 +0000 (2008-04-19)
parents 8e442e9b5ba2
children 6d2bfc63ab4f
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='
pascal@129 23 <window title="Network status" 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>
pascal@129 38 <text use-markup="true">
pascal@129 39 <label>"
pascal@129 40 <b>Active network servers</b>"
pascal@129 41 </label>
pascal@129 42 </text>
pascal@129 43 <frame Servers>
pascal@129 44 <text wrap="false" width-chars="58">
pascal@151 45 <input>for i in dropbear inetd udhcpd dnsd rsync lighttpd ; do ps w | grep $i | grep -v grep; done</input>
pascal@129 46 </text>
pascal@129 47 </frame>
pankso@33 48 <hbox>
pankso@33 49 <button>
pankso@33 50 <input file icon="exit"></input>
pankso@33 51 <action type="closewindow">IFCONFIG</action>
pankso@33 52 </button>
pankso@33 53 </hbox>
pankso@33 54 </vbox>
pankso@38 55 </window>
pankso@33 56 '
pankso@33 57
pankso@34 58 # The main dialog with notebook, start/stop buttons and all options.
pankso@34 59 # Note than /etc/network.conf is seded wehwn an interafce is activate
pankso@33 60 #
pascal@126 61 NET_BOX='
pankso@38 62 <window title="Netbox" icon-name="network-wired">
pankso@33 63 <vbox>
pankso@33 64 <text use-markup="true">
pankso@34 65 <label>
pankso@34 66 "
pankso@33 67 <b>SliTaz - Netbox</b>"
pankso@33 68 </label>
pankso@33 69 </text>
pascal@151 70 <text wrap="true" width-chars="44">
pankso@33 71 <label>
pankso@33 72 "
pascal@151 73 Manage network connections getting dynamic IP
pascal@151 74 by DHCP or static IP, and setup servers.
pascal@151 75 Netbox can start or stop networking, configure
pascal@151 76 network interfaces or directly edit files.
pankso@33 77 "
pankso@33 78 </label>
pankso@33 79 </text>
pankso@33 80
pankso@33 81 <frame General>
pankso@33 82 <hbox>
pankso@33 83 <text use-markup="true">
pankso@34 84 <label>"<b>Interface :</b>"</label>
pankso@33 85 </text>
pankso@33 86 <entry>
pankso@33 87 <input>. /etc/network.conf; echo $INTERFACE</input>
pankso@33 88 <variable>INTERFACE</variable>
pankso@33 89 </entry>
pankso@33 90 </hbox>
pankso@33 91 </frame>
pankso@33 92
pascal@137 93 <notebook labels="DHCP|Static IP|System wide|Servers'
pascal@137 94 [ -x /sbin/iptables ] && NET_BOX="$NET_BOX|Firewall"
pascal@141 95 tmp='|Etherwake">
pankso@33 96
pankso@33 97 <frame Udhcpc>
pankso@33 98 <hbox>
pankso@33 99 <text use-markup="true">
pascal@126 100 <label>"<b>Options :</b>"</label>
pankso@33 101 </text>
pankso@33 102 <entry>
pankso@33 103 <default>-b</default>
pankso@33 104 <variable>UDHCPC_OPTS</variable>
pankso@33 105 </entry>
pascal@126 106 <button>
pascal@126 107 <input file icon="help"></input>
pascal@126 108 <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 109 </button>
pankso@33 110 </hbox>
pankso@33 111 <hbox>
pankso@33 112 <button>
pankso@33 113 <label>Start</label>
pankso@33 114 <input file icon="forward"></input>
pankso@33 115 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE=\"$INTERFACE\"/ /etc/network.conf</action>
pankso@33 116 <action>sed -i s/DHCP=\"no\"/DHCP=\"yes\"/ /etc/network.conf</action>
pankso@33 117 <action>sed -i s/STATIC=\"yes\"/STATIC=\"no\"/ /etc/network.conf</action>
pankso@33 118 <action>udhcpc $UDHCPC_OPTS -i $INTERFACE -p /var/run/udhcpc.$INTERFACE.pid</action>
pankso@33 119 </button>
pankso@33 120 <button>
pankso@33 121 <label>Stop</label>
pankso@33 122 <input file icon="stop"></input>
pankso@33 123 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 124 <action>ifconfig $INTERFACE down</action>
pankso@33 125 <action>killall -q udhcpc; echo "done"</action>
pankso@33 126 </button>
pankso@33 127 </hbox>
pankso@33 128 </frame>
pankso@33 129
pankso@33 130 <frame Configuration>
pankso@33 131 <hbox>
pankso@33 132 <text use-markup="true">
pankso@34 133 <label>"<b>IP :</b>"</label>
pankso@33 134 </text>
pankso@33 135 <entry>
pankso@33 136 <input>. /etc/network.conf; echo "$IP"</input>
pankso@33 137 <variable>IP</variable>
pankso@33 138 </entry>
pankso@33 139 </hbox>
pankso@33 140 <hbox>
pankso@33 141 <text use-markup="true">
pankso@34 142 <label>"<b>Netmask :</b>"</label>
pankso@33 143 </text>
pankso@33 144 <entry>
pankso@33 145 <input>. /etc/network.conf; echo "$NETMASK"</input>
pankso@33 146 <variable>NETMASK</variable>
pankso@33 147 </entry>
pankso@33 148 </hbox>
pankso@33 149 <hbox>
pankso@33 150 <text use-markup="true">
pankso@34 151 <label>"<b>Gateway :</b>"</label>
pankso@33 152 </text>
pankso@33 153 <entry>
pankso@33 154 <input>. /etc/network.conf; echo "$GATEWAY"</input>
pankso@33 155 <variable>GATEWAY</variable>
pankso@33 156 </entry>
pankso@33 157 </hbox>
pankso@33 158 <hbox>
pankso@33 159 <text use-markup="true">
pankso@34 160 <label>"<b>DNS server :</b>"</label>
pankso@33 161 </text>
pankso@33 162 <entry>
pankso@33 163 <input>. /etc/network.conf; echo "$DNS_SERVER"</input>
pankso@33 164 <variable>DNS_SERVER</variable>
pankso@33 165 </entry>
pankso@33 166 </hbox>
pankso@33 167 <hbox>
pankso@33 168 <button>
pankso@33 169 <label>Start</label>
pankso@33 170 <input file icon="forward"></input>
pankso@33 171 <action>ifconfig lo down</action>
pankso@33 172 <action>ifconfig $INTERFACE down</action>
pankso@33 173 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE=\"$INTERFACE\"/ /etc/network.conf</action>
pankso@33 174 <action>sed -i s/DHCP=\"yes\"/DHCP=\"no\"/ /etc/network.conf</action>
pankso@33 175 <action>sed -i s/STATIC=\"no\"/STATIC=\"yes\"/ /etc/network.conf</action>
pankso@33 176 <action>sed -i s/`cat /etc/network.conf | grep ^IP=`/IP=\"$IP\"/ /etc/network.conf</action>
pankso@33 177 <action>sed -i s/`cat /etc/network.conf | grep ^NETMASK=`/NETMASK=\"$NETMASK\"/ /etc/network.conf</action>
pankso@33 178 <action>sed -i s/`cat /etc/network.conf | grep ^GATEWAY=`/GATEWAY=\"$GATEWAY\"/ /etc/network.conf</action>
pankso@33 179 <action>sed -i s/`cat /etc/network.conf | grep ^DNS_SERVER=`/DNS_SERVER=\"$DNS_SERVER\"/ /etc/network.conf</action>
pankso@33 180 <action>/etc/init.d/network.sh</action>
pankso@33 181 </button>
pankso@33 182 <button>
pankso@33 183 <label>Stop</label>
pankso@33 184 <input file icon="stop"></input>
pankso@33 185 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 186 <action>ifconfig $INTERFACE down; echo "done"</action>
pankso@33 187 </button>
pankso@33 188 </hbox>
pankso@33 189 </frame>
pankso@33 190
pankso@33 191 <frame Configuration files>
pankso@33 192 <hbox>
pankso@33 193 <text use-markup="true">
pankso@34 194 <label>"<b>Hosts :</b>"</label>
pankso@33 195 </text>
pankso@33 196 <entry editable="false">
pankso@33 197 <default>/etc/hosts</default>
pankso@33 198 <variable>HOSTS</variable>
pankso@33 199 </entry>
pankso@33 200 <button>
pankso@33 201 <input file icon="accessories-text-editor"></input>
pankso@33 202 <action type="lauch">leafpad $HOSTS</action>
pankso@33 203 </button>
pankso@33 204 </hbox>
pankso@33 205 <hbox>
pankso@33 206 <text use-markup="true">
pankso@34 207 <label>"<b>Host name :</b>"</label>
pankso@33 208 </text>
pankso@33 209 <entry editable="false">
pankso@33 210 <default>/etc/hostname</default>
pankso@33 211 <variable>HOSTNAME</variable>
pankso@33 212 </entry>
pankso@33 213 <button>
pankso@33 214 <input file icon="accessories-text-editor"></input>
pankso@33 215 <action type="lauch">leafpad $HOSTNAME</action>
pankso@33 216 </button>
pankso@33 217 </hbox>
pankso@33 218 <hbox>
pankso@33 219 <text use-markup="true">
pankso@34 220 <label>"<b>Network :</b>"</label>
pankso@33 221 </text>
pankso@33 222 <entry editable="false">
pankso@33 223 <default>/etc/network.conf</default>
pankso@33 224 <variable>CONFIG_FILE</variable>
pankso@33 225 </entry>
pankso@33 226 <button>
pankso@33 227 <input file icon="accessories-text-editor"></input>
pankso@33 228 <action type="lauch">leafpad $CONFIG_FILE</action>
pankso@33 229 </button>
pankso@33 230 </hbox>
pankso@33 231 <hbox>
pankso@33 232 <button>
pankso@33 233 <label>Restart</label>
pankso@33 234 <input file icon="reload"></input>
pankso@33 235 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 236 <action>ifconfig lo down</action>
pankso@33 237 <action>ifconfig $INTERFACE down</action>
pankso@33 238 <action>killall -q udhcpc; echo "done"</action>
pankso@33 239 <action>/etc/init.d/network.sh</action>
pankso@33 240 </button>
pankso@33 241 </hbox>
pankso@33 242 </frame>
pascal@126 243 <notebook labels="'
pascal@137 244 NET_BOX="$NET_BOX$tmp"
pascal@126 245 tmp=''
pascal@126 246 [ -x /usr/sbin/dropbear ] && NET_BOX="${NET_BOX}${tmp}SSH" && tmp='|'
pascal@151 247 [ -x /usr/sbin/inetd ] && NET_BOX="${NET_BOX}${tmp}INETD" && tmp='|'
pascal@126 248 [ -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}${tmp}DHCP" && tmp='|'
pascal@126 249 [ -f /usr/share/boot/pxelinux.0.lzma -a -x /usr/bin/tftpd -a \
pascal@151 250 -x /usr/sbin/inetd -a -x /usr/sbin/udhcpd ] \
pascal@151 251 && NET_BOX="${NET_BOX}${tmp}PXE" && tmp='|'
pascal@126 252 [ -x /usr/sbin/dnsd ] && NET_BOX="${NET_BOX}${tmp}DNS" && tmp='|'
pascal@126 253 [ -x /usr/bin/rsync ] && NET_BOX="${NET_BOX}${tmp}RSYNC" && tmp='|'
pascal@126 254 [ -x /usr/sbin/lighttpd ] && NET_BOX="${NET_BOX}${tmp}HTTP" && tmp='|'
pascal@137 255 [ -x /usr/sbin/smbd ] && NET_BOX="${NET_BOX}${tmp}WINS" && tmp='|'
pascal@126 256 . /etc/daemons.conf
pascal@126 257 set -- $DROPBEAR_OPTIONS
pascal@126 258 while [ -n "$2" ]; do
pascal@126 259 [ "$1" = "-b" ] && DROPBEAR_BANNER="$2" && break
pascal@126 260 shift
pascal@126 261 done
pascal@126 262 NET_BOX="${NET_BOX}\">"
pascal@126 263 tmp='<frame Dropbear>
pascal@126 264 <hbox>
pascal@126 265 <text use-markup="true">
pascal@126 266 <label>"<b>DROPBEAR_OPTIONS</b>"</label>
pascal@126 267 </text>
pascal@126 268 <entry editable="false">'
pascal@126 269 [ -n "$DROPBEAR_OPTIONS" ] && tmp="$tmp<default>$DROPBEAR_OPTIONS</default>"
pascal@126 270 tmp2='
pascal@126 271 <variable>DROPBEAR_OPTS</variable>
pascal@126 272 </entry>
pascal@126 273 <button>
pascal@126 274 <input file icon="help"></input>
pascal@126 275 <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 276 </button>
pascal@126 277 <button>
pascal@126 278 <input file icon="accessories-text-editor"></input>
pascal@126 279 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 280 </button>
pascal@126 281 </hbox>
pascal@126 282 <hbox>
pascal@126 283 <text use-markup="true">
pascal@126 284 <label>"<b>Banner :</b>"</label>
pascal@126 285 </text>
pascal@126 286 <entry editable="false">'
pascal@126 287 [ -n "$DROPBEAR_BANNER" ] && tmp="$tmp$tmp2<default>$DROPBEAR_BANNER</default>"
pascal@126 288 tmp2='
pascal@126 289 <variable>DROPBEAR_BANNER</variable>
pascal@126 290 </entry>
pascal@126 291 <button>
pascal@126 292 <input file icon="accessories-text-editor"></input>
pascal@126 293 <action type="lauch">leafpad $DROPBEAR_BANNER</action>
pascal@126 294 </button>
pascal@126 295 </hbox>
pascal@126 296 <hbox>
pascal@126 297 <button>
pascal@126 298 <label>Start</label>
pascal@126 299 <input file icon="forward"></input>
pascal@126 300 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dropbear \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 301 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"dropbear \1\"/" /etc/rcS.conf</action>
pascal@126 302 <action>/etc/init.d/dropbear start</action>
pascal@126 303 </button>
pascal@126 304 <button>
pascal@126 305 <label>Stop</label>
pascal@126 306 <input file icon="stop"></input>
pascal@126 307 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dropbear \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 308 <action>/etc/init.d/dropbear stop</action>
pascal@126 309 </button>
pascal@126 310 </hbox>
pascal@126 311 </frame>
pascal@126 312 '
pascal@126 313 [ -x /usr/sbin/dropbear ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@151 314 tmp='<frame Inetd>
pascal@126 315 <hbox>
pascal@126 316 <text use-markup="true">
pascal@151 317 <label>"<b>INETD_OPTIONS</b>"</label>
pascal@126 318 </text>
pascal@126 319 <entry editable="false">'
pascal@151 320 [ -n "$INETD_OPTS" ] && tmp="$tmp<default>$INETD_OPTS</default>"
pascal@126 321 tmp2='
pascal@151 322 <variable>INETD_OPTS</variable>
pascal@126 323 </entry>
pascal@126 324 <button>
pascal@126 325 <input file icon="help"></input>
pascal@151 326 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 60x14 -title "inetd help" -e "inetd --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@126 327 </button>
pascal@126 328 <button>
pascal@126 329 <input file icon="accessories-text-editor"></input>
pascal@126 330 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 331 </button>
pascal@126 332 </hbox>
pascal@126 333 <hbox>
pascal@126 334 <text use-markup="true">
pascal@151 335 <label>"<b>Configuration :</b>"</label>
pascal@126 336 </text>
pascal@151 337 <entry editable="false">
pascal@151 338 <default>/etc/inetd.conf</default>
pascal@151 339 <variable>INETD_CONF</variable>
pascal@126 340 </entry>
pascal@151 341 <button>
pascal@151 342 <input file icon="accessories-text-editor"></input>
pascal@151 343 <action type="lauch">leafpad $INETD_CONF</action>
pascal@151 344 </button>
pascal@126 345 </hbox>
pascal@126 346 <hbox>
pascal@151 347 '
pascal@151 348 tmp="$tmp$tmp2"
pascal@151 349 for i in $(grep bin /etc/inetd.conf | awk '{ print $6}'); do
pascal@151 350 i=$(basename $i)
pascal@151 351 tmp2="
pascal@151 352 <button>
pascal@151 353 <input file icon=\"help\"></input>
pascal@151 354 <label>$i</label>
pascal@151 355 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 60x19 -title \"$i help\" -e \"$i --help ; echo -e \\\"----\nENTER to continue...\\\" && read close\"</action>
pascal@151 356 </button>
pascal@151 357 "
pascal@151 358 tmp="$tmp$tmp2"
pascal@151 359 done
pascal@151 360 tmp2='
pascal@126 361 <button>
pascal@126 362 <label>Start</label>
pascal@126 363 <input file icon="forward"></input>
pascal@151 364 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)inetd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@151 365 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"inetd \1\"/" /etc/rcS.conf</action>
pascal@151 366 <action>/etc/init.d/inetd start</action>
pascal@126 367 </button>
pascal@126 368 <button>
pascal@126 369 <label>Stop</label>
pascal@126 370 <input file icon="stop"></input>
pascal@151 371 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)inetd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@151 372 <action>/etc/init.d/inetd stop</action>
pascal@126 373 </button>
pascal@126 374 </hbox>
pascal@126 375 </frame>
pascal@126 376 '
pascal@151 377 [ -x /usr/sbin/inetd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 378 tmp='<frame Dhcpd>
pascal@126 379 <hbox>
pascal@126 380 <text use-markup="true">
pascal@126 381 <label>"<b>Configuration :</b>"</label>
pascal@126 382 </text>
pascal@126 383 <entry editable="false">
pascal@126 384 <default>/etc/udhcpd.conf</default>
pascal@126 385 <variable>UDHCPD_CONF</variable>
pascal@126 386 </entry>
pascal@126 387 <button>
pascal@126 388 <input file icon="accessories-text-editor"></input>
pascal@126 389 <action type="lauch">leafpad $UDHCPD_CONF</action>
pascal@126 390 </button>
pascal@126 391 </hbox>
pascal@126 392 <hbox>
pascal@126 393 <button>
pascal@126 394 <label>Start</label>
pascal@126 395 <input file icon="forward"></input>
pascal@126 396 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)udhcpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 397 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"udhcpd \1\"/" /etc/rcS.conf</action>
pascal@126 398 <action>/etc/init.d/udhcpd start</action>
pascal@126 399 </button>
pascal@126 400 <button>
pascal@126 401 <label>Stop</label>
pascal@126 402 <input file icon="stop"></input>
pascal@126 403 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)udhcpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 404 <action>/etc/init.d/udhcpd stop</action>
pascal@126 405 </button>
pascal@126 406 </hbox>
pascal@126 407 </frame>
pascal@126 408 '
pascal@126 409 [ -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}${tmp}"
pascal@126 410 tmp='<frame Pxelinux>
pascal@126 411 <hbox>
pascal@126 412 <text wrap="true">
pascal@126 413 <label>
pascal@151 414 "Launch Dhcpd and Inetd with Tftpd to start the PXE service."
pascal@126 415 </label>
pascal@126 416 </text>
pascal@126 417 </hbox>
pascal@126 418 <hbox>
pascal@126 419 <text use-markup="true">
pascal@126 420 <label>"<b>Configuration :</b>"</label>
pascal@126 421 </text>
pascal@126 422 <entry editable="false">
pascal@152 423 <default>'
pascal@152 424 tmp="$tmp$(grep bin/tftpd /etc/inetd.conf | awk '{ print $NF }')"
pascal@152 425 tmp2='/pxelinux.cfg/default</default>
pascal@126 426 <variable>PXE_CONF</variable>
pascal@126 427 </entry>
pascal@126 428 <button>
pascal@126 429 <input file icon="accessories-text-editor"></input>
pascal@152 430 <action>dir=$(dirname $PXE_CONF); [ -d $dir ] || mkdir -p $dir</action>
pascal@152 431 <action>lzma d /usr/share/boot/pxelinux.0.lzma $(dirname $PXE_CONF)/../pxelinux.0</action>
pascal@152 432 <action>grep "^option bootfile pxelinux.0" $UDHCPD_CONF || echo "option bootfile pxelinux.0" >> $UDHCPD_CONF</action>
pascal@152 433 <action>[ -f $PXE_CONF ] || echo -e "label slitaz\n\tkernel bzImage\n\tappend initrd=rootfs.gz rw root=/dev/null vga=normal" > $PXE_CONF</action>
pascal@152 434 <action type="lauch">leafpad $PXE_CONF</action>
pascal@126 435 </button>
pascal@126 436 </hbox>
pascal@126 437 </frame>
pascal@126 438 '
pascal@127 439 [ -f /usr/share/boot/pxelinux.0.lzma -a -x /usr/bin/tftpd -a \
pascal@152 440 -x /usr/sbin/inetd -a -x /usr/sbin/udhcpd ] && NET_BOX="$NET_BOX$tmp$tmp2"
pascal@126 441 tmp='<frame Dnsd>
pascal@126 442 <hbox>
pascal@126 443 <text use-markup="true">
pascal@126 444 <label>"<b>DNSD_OPTIONS</b>"</label>
pascal@126 445 </text>
pascal@126 446 <entry editable="false">'
pascal@126 447 [ -n "$DNSD_OPTIONS" ] && tmp="$tmp<default>$DNSD_OPTIONS</default>"
pascal@126 448 tmp2='
pascal@126 449 <variable>DNSD_OPTS</variable>
pascal@126 450 </entry>
pascal@126 451 <button>
pascal@126 452 <input file icon="help"></input>
pascal@126 453 <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 454 </button>
pascal@126 455 <button>
pascal@126 456 <input file icon="accessories-text-editor"></input>
pascal@126 457 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 458 </button>
pascal@126 459 </hbox>
pascal@126 460 <hbox>
pascal@126 461 <text use-markup="true">
pascal@126 462 <label>"<b>Configuration :</b>"</label>
pascal@126 463 </text>
pascal@126 464 <entry editable="false">
pascal@126 465 <default>/etc/dnsd.conf</default>
pascal@126 466 <variable>DNSD_CONF</variable>
pascal@126 467 </entry>
pascal@126 468 <button>
pascal@126 469 <input file icon="accessories-text-editor"></input>
pascal@126 470 <action type="lauch">leafpad $DNSD_CONF</action>
pascal@126 471 </button>
pascal@126 472 </hbox>
pascal@126 473 <hbox>
pascal@126 474 <button>
pascal@126 475 <label>Start</label>
pascal@126 476 <input file icon="forward"></input>
pascal@126 477 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dnsd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 478 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"dnsd \1\"/" /etc/rcS.conf</action>
pascal@126 479 <action>/etc/init.d/dnsd start</action>
pascal@126 480 </button>
pascal@126 481 <button>
pascal@126 482 <label>Stop</label>
pascal@126 483 <input file icon="stop"></input>
pascal@126 484 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dnsd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 485 <action>/etc/init.d/dnsd stop</action>
pascal@126 486 </button>
pascal@126 487 </hbox>
pascal@126 488 </frame>
pascal@126 489 '
pascal@126 490 [ -x /usr/sbin/dnsd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 491 tmp='<frame Rsync>
pascal@126 492 <hbox>
pascal@126 493 <text use-markup="true">
pascal@126 494 <label>"<b>RSYNCD_OPTIONS</b>"</label>
pascal@126 495 </text>
pascal@126 496 <entry editable="false">'
pascal@126 497 [ -n "${RSYNCD_OPTIONS#* }" ] && tmp="$tmp<default>${RSYNCD_OPTIONS#* }</default>"
pascal@126 498 tmp2='
pascal@126 499 <variable>RSYNC_OPTS</variable>
pascal@126 500 </entry>
pascal@126 501 <button>
pascal@126 502 <input file icon="help"></input>
pascal@137 503 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x31 -title "rsync daemon help" -e "rsync --daemon --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@126 504 </button>
pascal@126 505 <button>
pascal@126 506 <input file icon="accessories-text-editor"></input>
pascal@126 507 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 508 </button>
pascal@126 509 </hbox>
pascal@126 510 <hbox>
pascal@126 511 <text use-markup="true">
pascal@126 512 <label>"<b>Configuration :</b>"</label>
pascal@126 513 </text>
pascal@126 514 <entry editable="false">
pascal@126 515 <default>/etc/rsyncd.conf</default>
pascal@126 516 <variable>RSYNCD_CONF</variable>
pascal@126 517 </entry>
pascal@126 518 <button>
pascal@126 519 <input file icon="accessories-text-editor"></input>
pascal@126 520 <action type="lauch">leafpad $RSYNCD_CONF</action>
pascal@126 521 </button>
pascal@126 522 </hbox>
pascal@126 523 <hbox>
pascal@126 524 <text use-markup="true">
pascal@126 525 <label>"<b>Secrets file :</b>"</label>
pascal@126 526 </text>
pascal@126 527 <entry editable="true">
pascal@126 528 <default>/etc/rsyncd.secrets</default>
pascal@126 529 <variable>RSYNCD_SECRETS</variable>
pascal@126 530 </entry>
pascal@126 531 <button>
pascal@126 532 <input file icon="accessories-text-editor"></input>
pascal@126 533 <action type="lauch">leafpad $RSYNCD_SECRETS</action>
pascal@126 534 </button>
pascal@126 535 </hbox>
pascal@126 536 <hbox>
pascal@126 537 <button>
pascal@126 538 <label>Start</label>
pascal@126 539 <input file icon="forward"></input>
pascal@126 540 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)rsyncd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 541 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"rsyncd \1\"/" /etc/rcS.conf</action>
pascal@126 542 <action>/etc/init.d/rsyncd start</action>
pascal@126 543 </button>
pascal@126 544 <button>
pascal@126 545 <label>Stop</label>
pascal@126 546 <input file icon="stop"></input>
pascal@126 547 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)rsyncd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 548 <action>/etc/init.d/rsyncd stop</action>
pascal@126 549 </button>
pascal@126 550 </hbox>
pascal@126 551 </frame>
pascal@126 552 '
pascal@126 553 [ -x /usr/bin/rsync ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 554 tmp='<frame Lighttpd>
pascal@126 555 <hbox>
pascal@126 556 <text use-markup="true">
pascal@126 557 <label>"<b>Configuration :</b>"</label>
pascal@126 558 </text>
pascal@126 559 <entry editable="false">
pascal@126 560 <default>/etc/lighttpd/lighttpd.conf</default>
pascal@126 561 <variable>LIGHTTPD_CONF</variable>
pascal@126 562 </entry>
pascal@126 563 <button>
pascal@126 564 <input file icon="accessories-text-editor"></input>
pascal@126 565 <action type="lauch">leafpad $LIGHTTPD_CONF</action>
pascal@126 566 </button>
pascal@126 567 </hbox>
pascal@126 568 <hbox>
pascal@126 569 <button>
pascal@126 570 <label>Start</label>
pascal@126 571 <input file icon="forward"></input>
pascal@126 572 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)lighttpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 573 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"lighttpd \1\"/" /etc/rcS.conf</action>
pascal@126 574 <action>/etc/init.d/lighttpd start</action>
pascal@126 575 </button>
pascal@126 576 <button>
pascal@126 577 <label>Stop</label>
pascal@126 578 <input file icon="stop"></input>
pascal@126 579 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)lighttpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 580 <action>/etc/init.d/lighttpd stop</action>
pascal@126 581 </button>
pascal@126 582 </hbox>
pascal@126 583 </frame>
pascal@126 584 '
pascal@126 585 [ -x /usr/sbin/lighttpd ] && NET_BOX="${NET_BOX}${tmp}"
pascal@137 586 tmp='<frame Samba: smbd & nmbd>
pascal@137 587 <hbox>
pascal@137 588 <text use-markup="true">
pascal@137 589 <label>"<b>Configuration :</b>"</label>
pascal@137 590 </text>
pascal@137 591 <entry editable="false">
pascal@137 592 <default>/etc/samba/smb.conf</default>
pascal@137 593 <variable>SMBD_CONF</variable>
pascal@137 594 </entry>
pascal@137 595 <button>
pascal@137 596 <input file icon="accessories-text-editor"></input>
pascal@137 597 <action type="lauch">leafpad $SMBD_CONF</action>
pascal@137 598 </button>
pascal@137 599 </hbox>
pascal@137 600 <hbox>
pascal@137 601 <button>
pascal@137 602 <label>Reload</label>
pascal@137 603 <input file icon="reload"></input>
pascal@137 604 <action>/etc/init.d/samba reload</action>
pascal@137 605 </button>
pascal@137 606 <button>
pascal@137 607 <label>Start</label>
pascal@137 608 <input file icon="forward"></input>
pascal@137 609 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)samba \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@137 610 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"samba \1\"/" /etc/rcS.conf</action>
pascal@137 611 <action>/etc/init.d/lighttpd start</action>
pascal@137 612 </button>
pascal@137 613 <button>
pascal@137 614 <label>Stop</label>
pascal@137 615 <input file icon="stop"></input>
pascal@137 616 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)samba \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@137 617 <action>/etc/init.d/lighttpd stop</action>
pascal@137 618 </button>
pascal@137 619 </hbox>
pascal@137 620 </frame>
pascal@137 621 '
pascal@137 622 [ -x /usr/sbin/smbd ] && NET_BOX="${NET_BOX}${tmp}"
pascal@137 623 NET_BOX="${NET_BOX}
pascal@137 624 </notebook>
pascal@137 625 "
pascal@137 626 tmp='<frame Iptables>
pascal@137 627 <hbox>
pascal@137 628 <text use-markup="true">
pascal@137 629 <label>"<b>Configuration :</b>"</label>
pascal@137 630 </text>
pascal@137 631 <entry editable="false">
pascal@137 632 <default>/etc/iptables.conf</default>
pascal@137 633 <variable>IPTABLES_CONF</variable>
pascal@137 634 </entry>
pascal@137 635 <button>
pascal@137 636 <input file icon="accessories-text-editor"></input>
pascal@137 637 <action type="lauch">leafpad $IPTABLES_CONF</action>
pascal@137 638 </button>
pascal@137 639 </hbox>
pascal@137 640 <hbox>
pascal@137 641 <button>
pascal@137 642 <label>Load</label>
pascal@137 643 <input file icon="reload"></input>
pascal@137 644 <action>/sbin/iptables-restore \< $IPTABLES_CONF</action>
pascal@137 645 </button>
pascal@137 646 <button>
pascal@137 647 <label>Save</label>
pascal@137 648 <input file icon="go-jump"></input>
pascal@137 649 <action>/sbin/iptables-save \> $IPTABLES_CONF</action>
pascal@137 650 </button>
pascal@137 651 </hbox>
pascal@137 652 </frame>
pascal@137 653 '
pascal@137 654 [ -x /sbin/iptables ] && NET_BOX="$NET_BOX${tmp}"
pascal@126 655 tmp='
pascal@141 656 <frame Ether-wake>
pascal@141 657 <hbox>
pascal@141 658 <text use-markup="true">
pascal@151 659 <label>"<b>Machines :</b>"</label>
pascal@151 660 </text>
pascal@151 661 <entry editable="false">
pascal@151 662 <default>/etc/ethers</default>
pascal@151 663 <variable>ETHERS</variable>
pascal@151 664 </entry>
pascal@151 665 <button>
pascal@151 666 <input file icon="accessories-text-editor"></input>
pascal@151 667 <action>[ -s $ETHERS ] || echo "#00:01:02:03:04:05 mystation" >$ETHERS</action>
pascal@151 668 <action type="lauch">leafpad $ETHERS</action>
pascal@151 669 </button>
pascal@151 670 </hbox>
pascal@151 671 <hbox>
pascal@151 672 <text use-markup="true">
pascal@141 673 <label>"<b>Options : </b>"</label>
pascal@141 674 </text>
pascal@141 675 <entry editable="false">
pascal@141 676 <variable>ETHERWAKE_OPTS</variable>
pascal@141 677 </entry>
pascal@141 678 <button>
pascal@141 679 <input file icon="help"></input>
pascal@141 680 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x15 -title "dnsd help" -e "ether-wake --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@141 681 </button>
pascal@141 682 <button>
pascal@141 683 <label>Start</label>
pascal@141 684 <input file icon="forward"></input>
pascal@141 685 <action>ether-wake $ETHERWAKE_OPTS</action>
pascal@141 686 </button>
pascal@141 687 </hbox>
pascal@141 688 </frame>
pascal@126 689 </notebook>
pankso@33 690
pankso@33 691 <hbox>
pankso@33 692 <button>
pankso@33 693 <label>Status</label>
pankso@33 694 <input file icon="network-wired"></input>
pankso@33 695 <action type="launch">IFCONFIG</action>
pankso@33 696 </button>
pankso@33 697 <button>
pankso@33 698 <input file icon="exit"></input>
pankso@33 699 <action type="exit">Exit</action>
pankso@33 700 </button>
pankso@33 701 </hbox>
pankso@33 702
pankso@33 703 </vbox>
pankso@38 704 </window>
pankso@33 705 '
pascal@126 706 NET_BOX="${NET_BOX}${tmp}"
pascal@126 707
pascal@126 708 export NET_BOX
pascal@126 709
pascal@137 710 # TODO: Servers/VNC(X11vnc)
pascal@137 711 # Modules(Network kernel modules) VPN(OpenVPN)
pankso@33 712
pankso@33 713 # Only root can configure network.
pankso@33 714 check_root
pankso@97 715 gtkdialog --center --program=NET_BOX
pankso@33 716
pankso@33 717 exit 0