slitaz-tools annotate tinyutils/netbox @ rev 208

calendar: no more hardcoded date
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue May 27 15:32:37 2008 +0000 (2008-05-27)
parents d95c13d35c0a
children bfbb1b457dc4
rev   line source
pankso@33 1 #!/bin/sh
pankso@194 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@194 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
pascal@177 19 set_ipup()
pascal@177 20 {
pascal@177 21 [ -f /etc/ppp/ip-up ] && return
pascal@177 22 cat > /etc/ppp/ip-up <<EOT
pascal@177 23 #!/bin/sh
pascal@177 24 exec $0 call ipup \$@
pascal@177 25 EOT
pascal@177 26 chmod +x /etc/ppp/ip-up
pascal@177 27 }
pascal@177 28
pascal@177 29 if [ "$1" = "call" ]; then
pascal@177 30 ppp="pppd local lock notty"
pascal@177 31 pppup=""
pascal@177 32 sub=$2
pascal@177 33 shift 2
pascal@177 34 case "$sub" in
pascal@177 35 sendsshkey)
pascal@177 36 check_root
pascal@177 37 dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key | \
pascal@177 38 grep ^ssh | ssh $1 "mkdir .ssh 2> /dev/null ; while read key; do for i in authorized_keys authorized_keys2; do grep -q \$key .ssh/\$i || echo \$key >> .ssh/\$i; done; done; chmod 700 .ssh ; chmod 600 .ssh/authorized_keys*"
pascal@177 39 exit 0;;
pascal@177 40 vpnssh) check_root
pascal@177 41 set_ipup
pascal@177 42 ps ww | grep -q "$ppp $2:$3" && exit 1
pascal@177 43 pipe="/tmp/ssh$$"
pascal@177 44 mkfifo $pipe
pascal@177 45 [ -n "$4" ] && pppup="ipparam 'addroutes,$(echo $4 | sed 's/ /,/g')'"
pascal@177 46 cat $pipe | dbclient -i /etc/dropbear/dropbear_rsa_host_key \
pascal@177 47 $1 "$ppp" | $ppp $2:$3 $pppup > $pipe
pascal@177 48 rm -f $pipe
pascal@177 49 exit 0;;
pascal@177 50 killvpnssh)
pascal@177 51 check_root
pascal@177 52 kill $(ps x | grep dbclient | grep "$ppp" | awk '{ print $1 }')
pascal@177 53 exit 0;;
pascal@177 54 ipup)
pascal@177 55 # Arg Name Example
pascal@177 56 # $1 Interface name ppp0
pascal@177 57 # $2 The tty ttyS1
pascal@177 58 # $3 The link speed 38400
pascal@177 59 # $4 Local IP number 12.34.56.78
pascal@177 60 # $5 Peer IP number 12.34.56.99
pascal@177 61 # $6 Optional ``ipparam'' value foo
pascal@177 62 iface=$1
pascal@177 63 # skip tty if present
pascal@177 64 case "$2" in [0-9]*);; *) shift; esac
pascal@177 65 peer=$4
pascal@177 66 IFS=","; set -- $(eval echo $5); unset IFS
pascal@177 67 set -- $1
pascal@177 68 if [ "$1" = "addroutes" ]; then
pascal@177 69 while [ -n "$2" ]; do
pascal@177 70 eval $(ipcalc -n $2)
pascal@177 71 eval $(ipcalc -m $2)
pascal@177 72 route add -net $NETWORK netmask $NETMASK \
pascal@177 73 gw $peer $iface
pascal@177 74 shift
pascal@177 75 done
pascal@177 76 fi
pascal@177 77 exit 0;;
pascal@177 78 esac
pascal@177 79 echo "call $sub unsupported."
pascal@177 80 exit 1
pascal@177 81 fi
pascal@177 82
pankso@194 83 # English/French help dialod.
pankso@194 84 export HELP='
pankso@194 85 <window title="Network status" icon-name="network-wire">
pankso@194 86 <vbox>
pankso@194 87 <text use-markup="true">
pankso@194 88 <label>"
pankso@194 89 <b>SliTaz - Netbox</b>"
pankso@194 90 </label>
pankso@194 91 </text>
pankso@194 92 <frame English>
pankso@194 93 <text wrap="true" width-chars="58">
pankso@194 94 <label>
pankso@194 95 "Netbox let you manage network connections getting dynamic IP by DHCP
pankso@194 96 or static IP, and setup servers. Netbox can start or stop networking,
pankso@197 97 configure network interfaces or directly edit files."
pankso@194 98 </label>
pankso@194 99 </text>
pankso@194 100 </frame>
pankso@194 101 </vbox>
pankso@194 102 </window>
pankso@194 103 '
pankso@194 104
pankso@33 105 # Interafce status with ifconfig without arguments to show all
pankso@33 106 # active connections.
pankso@33 107 #
pankso@33 108 export IFCONFIG='
pankso@194 109 <window title="Network status" icon-name="network-wire">
pankso@33 110 <vbox>
pankso@33 111 <text wrap="false">
pankso@33 112 <input>date</input>
pankso@33 113 </text>
pascal@177 114 <notebook labels="Network interfaces'
pascal@177 115 [ -x /usr/sbin/iwlist ] && IFCONFIG="$IFCONFIG|Wireless interfaces|Wireless networks"
pascal@177 116 tmp='|Routing|Servers">
pankso@33 117 <frame Ifconfig>
pankso@33 118 <text wrap="false" width-chars="58">
pankso@33 119 <input>ifconfig</input>
pankso@33 120 </text>
pascal@177 121 </frame>'
pascal@177 122 IFCONFIG="$IFCONFIG$tmp"
pascal@177 123 tmp='<frame Iwconfig>
pascal@177 124 <text wrap="false" width-chars="58">
pascal@177 125 <input>iwconfig</input>
pascal@177 126 </text>
pankso@33 127 </frame>
pascal@177 128 <frame Wireless networks>
pascal@177 129 <text wrap="false" width-chars="58">
pascal@177 130 <input>iwlist scan</input>
pascal@177 131 </text>
pascal@177 132 </frame>'
pascal@177 133 [ -x /usr/sbin/iwlist ] && IFCONFIG="$IFCONFIG$tmp"
pascal@177 134 tmp='<frame Routing>
pascal@177 135 <frame Nameservers>
pascal@177 136 <text wrap="false" width-chars="58">
pascal@177 137 <input>cat /etc/resolv.conf</input>
pascal@177 138 </text>
pascal@177 139 </frame>
pascal@177 140 <frame Routing table>
pascal@177 141 <text wrap="false" width-chars="58">
pascal@177 142 <input>route</input>
pascal@177 143 </text>
pascal@177 144 </frame>
pascal@177 145 <frame Arp table>
pascal@177 146 <text wrap="false" width-chars="58">
pascal@177 147 <input>arp</input>
pascal@177 148 </text>
pascal@177 149 </frame>
pascal@177 150 </frame>
pascal@129 151 <frame Servers>
pascal@129 152 <text wrap="false" width-chars="58">
pascal@177 153 <input>for i in dropbear inetd udhcpd dnsd rsync lighttpd smbd nmbd x11vnc pppd; do ps ww | grep $i | grep -v grep | fold -s; done</input>
pascal@129 154 </text>
pascal@129 155 </frame>
pascal@177 156 </notebook>
pankso@33 157 <hbox>
pankso@33 158 <button>
pankso@185 159 <input file icon="gtk-close"></input>
pankso@33 160 <action type="closewindow">IFCONFIG</action>
pankso@33 161 </button>
pankso@33 162 </hbox>
pankso@33 163 </vbox>
pankso@38 164 </window>
pankso@33 165 '
pascal@177 166 IFCONFIG="$IFCONFIG$tmp"
pankso@33 167
pankso@34 168 # The main dialog with notebook, start/stop buttons and all options.
pankso@34 169 # Note than /etc/network.conf is seded wehwn an interafce is activate
pankso@33 170 #
pascal@126 171 NET_BOX='
pankso@194 172 <window title="SliTaz Netbox Manager" icon-name="network-wired">
pankso@33 173 <vbox>
pankso@194 174
pankso@194 175 <hbox>
pankso@194 176 <text use-markup="true">
pankso@194 177 <label>"<b>Network/Server Manager</b>"</label>
pankso@194 178 </text>
pankso@194 179 <pixmap>
pankso@194 180 <input file>/usr/share/pixmaps/netbox.png</input>
pankso@194 181 </pixmap>
pankso@194 182 </hbox>
pankso@194 183
pankso@33 184 <frame General>
pankso@33 185 <hbox>
pankso@33 186 <text use-markup="true">
pankso@34 187 <label>"<b>Interface :</b>"</label>
pankso@33 188 </text>
pankso@33 189 <entry>
pankso@33 190 <input>. /etc/network.conf; echo $INTERFACE</input>
pankso@33 191 <variable>INTERFACE</variable>
pankso@33 192 </entry>
pankso@33 193 </hbox>
pankso@33 194 </frame>
pankso@194 195
pascal@196 196 <notebook labels="DHCP|PPPoE|Static IP'
pascal@196 197 [ -x /usr/sbin/iwconfig ] && NET_BOX="$NET_BOX|Wifi"
pascal@196 198 NET_BOX="$NET_BOX|System wide|VPN|Servers"
pascal@137 199 [ -x /sbin/iptables ] && NET_BOX="$NET_BOX|Firewall"
pascal@141 200 tmp='|Etherwake">
pankso@194 201
pankso@33 202 <frame Udhcpc>
pankso@33 203 <hbox>
pankso@33 204 <text use-markup="true">
pascal@126 205 <label>"<b>Options :</b>"</label>
pankso@33 206 </text>
pankso@33 207 <entry>
pankso@33 208 <default>-b</default>
pankso@33 209 <variable>UDHCPC_OPTS</variable>
pankso@33 210 </entry>
pascal@126 211 <button>
pascal@126 212 <input file icon="help"></input>
pascal@126 213 <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 214 </button>
pankso@33 215 </hbox>
pankso@33 216 <hbox>
pankso@33 217 <button>
pankso@33 218 <label>Start</label>
pankso@33 219 <input file icon="forward"></input>
pankso@33 220 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE=\"$INTERFACE\"/ /etc/network.conf</action>
pankso@33 221 <action>sed -i s/DHCP=\"no\"/DHCP=\"yes\"/ /etc/network.conf</action>
pankso@33 222 <action>sed -i s/STATIC=\"yes\"/STATIC=\"no\"/ /etc/network.conf</action>
pankso@33 223 <action>udhcpc $UDHCPC_OPTS -i $INTERFACE -p /var/run/udhcpc.$INTERFACE.pid</action>
pankso@33 224 </button>
pankso@33 225 <button>
pankso@33 226 <label>Stop</label>
pankso@33 227 <input file icon="stop"></input>
pankso@33 228 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 229 <action>ifconfig $INTERFACE down</action>
pankso@33 230 <action>killall -q udhcpc; echo "done"</action>
pankso@33 231 </button>
pankso@33 232 </hbox>
pankso@33 233 </frame>
pankso@194 234
pascal@177 235 <frame PPPoE>
pascal@177 236 <hbox>
pascal@177 237 <text use-markup="true">
pascal@177 238 <label>"<b>Name :</b>"</label>
pascal@177 239 </text>
pascal@177 240 <entry>
pascal@177 241 <input>NAME=$(grep -s ^name /etc/ppp/options); echo "${NAME#* }"</input>
pascal@177 242 <variable>NAME</variable>
pascal@177 243 </entry>
pascal@177 244 </hbox>
pascal@177 245 <hbox>
pascal@177 246 <text use-markup="true">
pascal@177 247 <label>"<b>Username :</b>"</label>
pascal@177 248 </text>
pascal@177 249 <entry>
pascal@177 250 <variable>USER</variable>
pascal@177 251 </entry>
pascal@177 252 </hbox>
pascal@177 253 <hbox>
pascal@177 254 <text use-markup="true">
pascal@177 255 <label>"<b>Password :</b>"</label>
pascal@177 256 </text>
pascal@177 257 <entry>
pascal@177 258 <variable>USER</variable>
pascal@177 259 </entry>
pascal@177 260 </hbox>
pascal@177 261 <hbox>
pascal@177 262 <button>
pascal@177 263 <input file icon="accessories-text-editor"></input>
pascal@177 264 <label>Tune</label>
pascal@177 265 <action>[ -n "$NAME" ] && sed -i "s/^name .*/name $NAME/" /etc/ppp/options</action>
pascal@177 266 <action type="lauch">leafpad /etc/ppp/options</action>
pascal@177 267 </button>
pascal@177 268 <button>
pascal@177 269 <label>Start</label>
pascal@177 270 <input file icon="forward"></input>
pascal@177 271 <action>[ -n "$USER" ] && grep -qs "^\"$USER\"" /etc/ppp/pap-secrets
pascal@177 272 && echo "\"$USER\" * \"$PASS\"" >> /etc/ppp/pap-secrets</action>
pascal@177 273 <action>[ -n "$USER" ] && grep -qs "^\"$USER\"" /etc/ppp/chap-secrets
pascal@177 274 && echo "\"$USER\" * \"$PASS\"" >> /etc/ppp/chap-secrets</action>
pascal@177 275 <action>[ -n "$NAME" ] && sed -i "s/^name .*/name $NAME/" /etc/ppp/options</action>
pascal@177 276 <action>killall udhcpc</action>
pascal@177 277 <action>sed -i "s/DHCP=\"yes\"/DHCP=\"no\"/" /etc/network.conf</action>
pascal@177 278 <action>sed -i "s/PPPOE=\"no\"/PPPOE=\"yes\"/" /etc/network.conf</action>
pascal@177 279 <action>pppd $INTERFACE &</action>
pascal@177 280 </button>
pascal@177 281 <button>
pascal@177 282 <label>Stop</label>
pascal@177 283 <input file icon="stop"></input>
pascal@177 284 <action>sed -i "s/PPPOE=\"yes\"/PPPOE=\"no\"/" /etc/network.conf</action>
pascal@177 285 <action>killall pppd</action>
pascal@177 286 </button>
pascal@177 287 </hbox>
pascal@177 288 </frame>
pankso@194 289
pankso@33 290 <frame Configuration>
pankso@33 291 <hbox>
pankso@33 292 <text use-markup="true">
pankso@34 293 <label>"<b>IP :</b>"</label>
pankso@33 294 </text>
pankso@33 295 <entry>
pankso@33 296 <input>. /etc/network.conf; echo "$IP"</input>
pankso@33 297 <variable>IP</variable>
pankso@33 298 </entry>
pankso@33 299 </hbox>
pankso@33 300 <hbox>
pankso@33 301 <text use-markup="true">
pankso@34 302 <label>"<b>Netmask :</b>"</label>
pankso@33 303 </text>
pankso@33 304 <entry>
pankso@33 305 <input>. /etc/network.conf; echo "$NETMASK"</input>
pankso@33 306 <variable>NETMASK</variable>
pankso@33 307 </entry>
pankso@33 308 </hbox>
pankso@33 309 <hbox>
pankso@33 310 <text use-markup="true">
pankso@34 311 <label>"<b>Gateway :</b>"</label>
pankso@33 312 </text>
pankso@33 313 <entry>
pankso@33 314 <input>. /etc/network.conf; echo "$GATEWAY"</input>
pankso@33 315 <variable>GATEWAY</variable>
pankso@33 316 </entry>
pankso@33 317 </hbox>
pankso@33 318 <hbox>
pankso@33 319 <text use-markup="true">
pankso@34 320 <label>"<b>DNS server :</b>"</label>
pankso@33 321 </text>
pankso@33 322 <entry>
pankso@33 323 <input>. /etc/network.conf; echo "$DNS_SERVER"</input>
pankso@33 324 <variable>DNS_SERVER</variable>
pankso@33 325 </entry>
pankso@33 326 </hbox>
pankso@33 327 <hbox>
pankso@33 328 <button>
pankso@33 329 <label>Start</label>
pankso@33 330 <input file icon="forward"></input>
pankso@33 331 <action>ifconfig lo down</action>
pankso@33 332 <action>ifconfig $INTERFACE down</action>
pankso@33 333 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE=\"$INTERFACE\"/ /etc/network.conf</action>
pankso@33 334 <action>sed -i s/DHCP=\"yes\"/DHCP=\"no\"/ /etc/network.conf</action>
pankso@33 335 <action>sed -i s/STATIC=\"no\"/STATIC=\"yes\"/ /etc/network.conf</action>
pankso@33 336 <action>sed -i s/`cat /etc/network.conf | grep ^IP=`/IP=\"$IP\"/ /etc/network.conf</action>
pankso@33 337 <action>sed -i s/`cat /etc/network.conf | grep ^NETMASK=`/NETMASK=\"$NETMASK\"/ /etc/network.conf</action>
pankso@33 338 <action>sed -i s/`cat /etc/network.conf | grep ^GATEWAY=`/GATEWAY=\"$GATEWAY\"/ /etc/network.conf</action>
pankso@33 339 <action>sed -i s/`cat /etc/network.conf | grep ^DNS_SERVER=`/DNS_SERVER=\"$DNS_SERVER\"/ /etc/network.conf</action>
pankso@33 340 <action>/etc/init.d/network.sh</action>
pankso@33 341 </button>
pankso@33 342 <button>
pankso@33 343 <label>Stop</label>
pankso@33 344 <input file icon="stop"></input>
pankso@33 345 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 346 <action>ifconfig $INTERFACE down; echo "done"</action>
pankso@33 347 </button>
pankso@33 348 </hbox>
pascal@196 349 </frame>'
pascal@196 350 NET_BOX="$NET_BOX$tmp"
pascal@196 351 tmp='<frame Wireless>
pascal@196 352 <notebook labels="Interface|Extra parameters'
pascal@196 353 [ -d /lib/modules/`uname -r`/kernel/drivers/net/wireless ] && tmp="$tmp|Kernel Modules"
pascal@196 354 [ -x /usr/sbin/ndiswrapper ] && tmp="$tmp|Ndiswrapper"
pascal@196 355 tmp2='">
pascal@196 356 <vbox>
pascal@196 357 <hbox>
pascal@196 358 <text use-markup="true">
pascal@196 359 <label>"<b>Interface :</b>"</label>
pascal@196 360 </text>
pascal@196 361 <entry>
pascal@196 362 <input>. /etc/network.conf; echo "$WIFI_INTERFACE"</input>
pascal@196 363 <variable>WIFI_INTERFACE</variable>
pascal@196 364 </entry>
pascal@196 365 </hbox>
pascal@196 366 <hbox>
pascal@196 367 <text use-markup="true">
pascal@196 368 <label>"<b>ESSID :</b>"</label>
pascal@196 369 </text>
pascal@196 370 <entry>
pascal@196 371 <input>. /etc/network.conf; echo "$WIFI_ESSID"</input>
pascal@196 372 <variable>WIFI_ESSID</variable>
pascal@196 373 </entry>
pascal@196 374 </hbox>
pascal@196 375 </vbox>
pascal@196 376 <vbox>
pascal@196 377 <hbox>
pascal@196 378 <text use-markup="true">
pascal@196 379 <label>"<b>Channel :</b>"</label>
pascal@196 380 </text>
pascal@196 381 <entry>
pascal@196 382 <input>. /etc/network.conf; echo "$WIFI_CHANNEL"</input>
pascal@196 383 <variable>WIFI_CHANNEL</variable>
pascal@196 384 </entry>
pascal@196 385 <text use-markup="true">
pascal@196 386 <label>"<b>Mode :</b>"</label>
pascal@196 387 </text>
pascal@196 388 <combobox>
pascal@196 389 <variable>WIFI_MODE</variable>'
pascal@196 390 . /etc/network.conf
pascal@196 391 tmp2="$tmp2<item>$WIFI_MODE</item>"
pascal@196 392 for i in managed ad-hoc master repeater secondary monitor; do
pascal@196 393 [ "$i" = "$WIFI_MODE" ] || tmp2="$tmp2<item>$i</item>"
pascal@196 394 done
pascal@196 395 tmp3='</combobox>
pascal@196 396 </hbox>
pascal@196 397 <hbox>
pascal@196 398 <text use-markup="true">
pascal@196 399 <label>"<b>Key :</b>"</label>
pascal@196 400 </text>
pascal@196 401 <entry>
pascal@196 402 <input>. /etc/network.conf; echo "$WIFI_KEY"</input>
pascal@196 403 <variable>WIFI_KEY</variable>
pascal@196 404 </entry>
pascal@196 405 </hbox>
pascal@196 406 </vbox>'
pascal@196 407 tmp="$tmp$tmp2$tmp3"
pascal@196 408 tmp2='<vbox>
pascal@196 409 <hbox>
pascal@196 410 <button>
pascal@196 411 <label>Load</label>
pascal@196 412 <input file icon="forward"></input>
pascal@196 413 <action>modprobe $MODULE</action>
pascal@196 414 </button>
pascal@196 415 <button>
pascal@196 416 <label>Unload</label>
pascal@196 417 <input file icon="forward"></input>
pascal@196 418 <action>modprobe -r $MODULE</action>
pascal@196 419 </button>
pascal@196 420 <text use-markup="true">
pascal@196 421 <label>"<b>Wifi Module :</b>"</label>
pankso@197 422 </text>
pascal@196 423 <combobox>
pascal@196 424 <variable>MODULE</variable>'
pascal@196 425 tmp2="$tmp2$(find /lib/modules/$(uname -r)/kernel/drivers/net/wireless -type f | sed 's,/.*/\(.*\).ko.gz,<item>\1</item>,')"
pascal@196 426 tmp3='</combobox>
pascal@196 427 <button>
pascal@196 428 <label>Lsmod</label>
pascal@196 429 <input file icon="computer"></input>
pascal@196 430 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x25 -title "Modules (q to quit)" -e "lsmod | less"</action>
pascal@196 431 </button>
pascal@196 432 </hbox>
pascal@196 433 </vbox>'
pascal@196 434 [ -d /lib/modules/`uname -r`/kernel/drivers/net/wireless ] && tmp="$tmp$tmp2$tmp3"
pascal@196 435 tmp2='<vbox>
pascal@196 436 <hbox>
pascal@196 437 <text use-markup="true">
pascal@196 438 <label>"<b>Drivers :</b>"</label>
pascal@196 439 </text>
pascal@196 440 <entry>
pascal@196 441 <input>. /etc/network.conf; echo "$NDISWRAPPER_DRIVERS"</input>
pascal@196 442 <variable>NDISWRAPPER_DRIVERS</variable>
pascal@196 443 </entry>
pascal@196 444 <button>
pascal@196 445 <label>Restart</label>
pascal@196 446 <input file icon="reload"></input>
pascal@196 447 <action>rmmod ndiswrapper</action>
pascal@196 448 <action>for i in $NDISWRAPPER_DRIVERS; do ndiswrapper -i $i; done</action>
pascal@196 449 <action>modprobe ndiswrapper</action>
pascal@196 450 </button>
pascal@196 451 </hbox>
pascal@196 452 </vbox>'
pascal@196 453 [ -x /usr/sbin/ndiswrapper ] && tmp="$tmp$tmp2"
pascal@196 454 tmp2='</notebook>
pascal@196 455 <hbox>
pascal@196 456 <button>
pascal@196 457 <label>Start</label>
pascal@196 458 <input file icon="forward"></input>
pascal@196 459 <action>sed -i s/`cat /etc/network.conf | grep ^WIFI_INTERFACE=`/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/ /etc/network.conf</action>
pascal@196 460 <action>sed -i s/`cat /etc/network.conf | grep ^WIFI_ESSID=`/WIFI_ESSID=\"$WIFI_ESSID\"/ /etc/network.conf</action>
pascal@196 461 <action>sed -i s/`cat /etc/network.conf | grep ^WIFI_KEY=`/WIFI_KEY=\"$WIFI_KEY\"/ /etc/network.conf</action>
pascal@196 462 <action>sed -i s/`cat /etc/network.conf | grep ^WIFI_MODE=`/WIFI_MODE=\"$WIFI_MODE\"/ /etc/network.conf</action>
pascal@196 463 <action>sed -i s/`cat /etc/network.conf | grep ^WIFI_CHANNEL=`/WIFI_CHANNEL=\"$WIFI_CHANNEL\"/ /etc/network.conf</action>
pascal@196 464 <action>[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`</action>
pascal@196 465 <action>ifconfig $WIFI_INTERFACE down</action>
pascal@196 466 <action>/etc/init.d/network.sh</action>
pascal@196 467 </button>
pascal@196 468 <button>
pascal@196 469 <label>Stop</label>
pascal@196 470 <input file icon="stop"></input>
pascal@196 471 <action>ifconfig $WIFI_INTERFACE down</action>
pascal@196 472 <action>[ -s /var/run/udhcpc.$WIFI_INTERFACE.pid ] && kill `cat /var/run/udhcpc.$WIFI_INTERFACE.pid`</action>
pascal@196 473 </button>
pascal@196 474 </hbox>
pascal@196 475 </frame>'
pascal@196 476 [ -x /usr/sbin/iwconfig ] && NET_BOX="$NET_BOX$tmp$tmp2"
pascal@196 477 tmp='<frame Configuration files>
pankso@33 478 <hbox>
pankso@33 479 <text use-markup="true">
pankso@34 480 <label>"<b>Hosts :</b>"</label>
pankso@33 481 </text>
pankso@33 482 <entry editable="false">
pankso@33 483 <default>/etc/hosts</default>
pankso@33 484 <variable>HOSTS</variable>
pankso@33 485 </entry>
pankso@33 486 <button>
pankso@33 487 <input file icon="accessories-text-editor"></input>
pankso@33 488 <action type="lauch">leafpad $HOSTS</action>
pankso@33 489 </button>
pankso@33 490 </hbox>
pankso@33 491 <hbox>
pankso@33 492 <text use-markup="true">
pankso@34 493 <label>"<b>Host name :</b>"</label>
pankso@33 494 </text>
pankso@33 495 <entry editable="false">
pankso@33 496 <default>/etc/hostname</default>
pankso@33 497 <variable>HOSTNAME</variable>
pankso@33 498 </entry>
pankso@33 499 <button>
pankso@33 500 <input file icon="accessories-text-editor"></input>
pankso@33 501 <action type="lauch">leafpad $HOSTNAME</action>
pankso@33 502 </button>
pankso@33 503 </hbox>
pankso@33 504 <hbox>
pankso@33 505 <text use-markup="true">
pankso@34 506 <label>"<b>Network :</b>"</label>
pankso@33 507 </text>
pankso@33 508 <entry editable="false">
pankso@33 509 <default>/etc/network.conf</default>
pankso@33 510 <variable>CONFIG_FILE</variable>
pankso@33 511 </entry>
pankso@33 512 <button>
pankso@33 513 <input file icon="accessories-text-editor"></input>
pankso@33 514 <action type="lauch">leafpad $CONFIG_FILE</action>
pankso@33 515 </button>
pankso@33 516 </hbox>
pankso@33 517 <hbox>
pankso@33 518 <button>
pankso@33 519 <label>Restart</label>
pankso@33 520 <input file icon="reload"></input>
pankso@33 521 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 522 <action>ifconfig lo down</action>
pankso@33 523 <action>ifconfig $INTERFACE down</action>
pankso@33 524 <action>killall -q udhcpc; echo "done"</action>
pankso@33 525 <action>/etc/init.d/network.sh</action>
pankso@33 526 </button>
pankso@33 527 </hbox>
pankso@33 528 </frame>
pankso@194 529
pascal@177 530 <frame Virtual Private Network with PPP/SSH>
pascal@177 531 <hbox>
pascal@177 532 <text use-markup="true">
pascal@177 533 <label>"<b>Peer :</b>"</label>
pascal@177 534 </text>
pascal@177 535 <entry>
pascal@177 536 <variable>DROPBEAR_PEERVPN</variable>
pascal@177 537 <default>user@elsewhere</default>
pascal@177 538 </entry>
pascal@177 539 </hbox>
pascal@177 540 <hbox>
pascal@177 541 <text use-markup="true">
pascal@177 542 <label>"<b>Local IP :</b>"</label>
pascal@177 543 </text>
pascal@177 544 <entry>
pascal@177 545 <variable>DROPBEAR_LOCAL</variable>
pascal@177 546 <default>192.168.254.1</default>
pascal@177 547 </entry>
pascal@177 548 </hbox>
pascal@177 549 <hbox>
pascal@177 550 <text use-markup="true">
pascal@177 551 <label>"<b>Remote IP :</b>"</label>
pascal@177 552 </text>
pascal@177 553 <entry>
pascal@177 554 <variable>DROPBEAR_REMOTE</variable>
pascal@177 555 <default>192.168.254.2</default>
pascal@177 556 </entry>
pascal@177 557 </hbox>
pascal@177 558 <hbox>
pascal@177 559 <text use-markup="true">
pascal@177 560 <label>"<b>Route(s) :</b>"</label>
pascal@177 561 </text>
pascal@177 562 <entry>
pascal@177 563 <variable>DROPBEAR_ROUTE</variable>
pascal@177 564 <default>192.168.10.0/24 192.168.20.0/28</default>
pascal@177 565 </entry>
pascal@177 566 </hbox>
pascal@177 567 <hbox>
pascal@177 568 <button>
pascal@177 569 <input file icon="forward"></input>
pascal@177 570 <label>Connect</label>
pascal@177 571 <action>netbox call vpnssh $DROPBEAR_PEERVPN $DROPBEAR_LOCAL $DROPBEAR_REMOTE "$DROPBEAR_ROUTE" &</action>
pascal@177 572 </button>
pascal@177 573 <button>
pascal@177 574 <input file icon="stop"></input>
pascal@177 575 <label>Disconnect</label>
pascal@177 576 <action>netbox call killvpnssh</action>
pascal@177 577 </button>
pascal@177 578 <button>
pascal@177 579 <input file icon="go-up"></input>
pascal@177 580 <label>Send key</label>
pascal@177 581 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x10 -title "dropbear help" -e "netbox call sendsshkey $DROPBEAR_PEERVPN; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@177 582 </button>
pascal@177 583 </hbox>
pascal@177 584 </frame>
pascal@126 585 <notebook labels="'
pascal@137 586 NET_BOX="$NET_BOX$tmp"
pascal@126 587 tmp=''
pascal@126 588 [ -x /usr/sbin/dropbear ] && NET_BOX="${NET_BOX}${tmp}SSH" && tmp='|'
pankso@194 589 [ -x /usr/sbin/inetd ] && NET_BOX="${NET_BOX}${tmp}INETD" && tmp='|'
pankso@194 590 [ -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}${tmp}DHCP" && tmp='|'
pascal@126 591 [ -f /usr/share/boot/pxelinux.0.lzma -a -x /usr/bin/tftpd -a \
pascal@151 592 -x /usr/sbin/inetd -a -x /usr/sbin/udhcpd ] \
pascal@151 593 && NET_BOX="${NET_BOX}${tmp}PXE" && tmp='|'
pankso@194 594 [ -x /usr/sbin/dnsd ] && NET_BOX="${NET_BOX}${tmp}DNS" && tmp='|'
pankso@194 595 [ -x /usr/bin/rsync ] && NET_BOX="${NET_BOX}${tmp}RSYNC" && tmp='|'
pankso@194 596 [ -x /usr/sbin/lighttpd ] && NET_BOX="${NET_BOX}${tmp}HTTP" && tmp='|'
pankso@194 597 [ -x /usr/sbin/smbd ] && NET_BOX="${NET_BOX}${tmp}WINS" && tmp='|'
pankso@194 598 [ -x /usr/bin/x11vnc ] && NET_BOX="${NET_BOX}${tmp}VNC" && tmp='|'
pascal@126 599 . /etc/daemons.conf
pascal@126 600 set -- $DROPBEAR_OPTIONS
pascal@126 601 while [ -n "$2" ]; do
pascal@126 602 [ "$1" = "-b" ] && DROPBEAR_BANNER="$2" && break
pascal@126 603 shift
pascal@126 604 done
pascal@126 605 NET_BOX="${NET_BOX}\">"
pascal@126 606 tmp='<frame Dropbear>
pascal@126 607 <hbox>
pascal@126 608 <text use-markup="true">
pascal@126 609 <label>"<b>DROPBEAR_OPTIONS</b>"</label>
pascal@126 610 </text>
pascal@126 611 <entry editable="false">'
pascal@126 612 [ -n "$DROPBEAR_OPTIONS" ] && tmp="$tmp<default>$DROPBEAR_OPTIONS</default>"
pascal@126 613 tmp2='
pascal@126 614 <variable>DROPBEAR_OPTS</variable>
pascal@126 615 </entry>
pascal@126 616 <button>
pascal@126 617 <input file icon="help"></input>
pascal@126 618 <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 619 </button>
pascal@126 620 <button>
pascal@126 621 <input file icon="accessories-text-editor"></input>
pascal@126 622 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 623 </button>
pascal@126 624 </hbox>
pascal@126 625 <hbox>
pascal@126 626 <text use-markup="true">
pascal@126 627 <label>"<b>Banner :</b>"</label>
pascal@126 628 </text>
pascal@126 629 <entry editable="false">'
pascal@126 630 [ -n "$DROPBEAR_BANNER" ] && tmp="$tmp$tmp2<default>$DROPBEAR_BANNER</default>"
pascal@126 631 tmp2='
pascal@126 632 <variable>DROPBEAR_BANNER</variable>
pascal@126 633 </entry>
pascal@126 634 <button>
pascal@126 635 <input file icon="accessories-text-editor"></input>
pascal@126 636 <action type="lauch">leafpad $DROPBEAR_BANNER</action>
pascal@126 637 </button>
pascal@126 638 </hbox>
pascal@126 639 <hbox>
pascal@177 640 <text use-markup="true">
pascal@177 641 <label>"<b>Remote :</b>"</label>
pascal@177 642 </text>
pascal@177 643 <entry>
pascal@177 644 <variable>DROPBEAR_PEER</variable>
pascal@177 645 <default>user@elsewhere</default>
pascal@177 646 </entry>
pascal@177 647 <button>
pascal@177 648 <input file icon="utilities-terminal"></input>
pascal@177 649 <label>Connect</label>
pascal@177 650 <action>xterm -fa MiscFixed -fs 11 -bg black -fg white -geometry 80x25 -title "$DROPBEAR_PEER" -e "dbclient -i /etc/dropbear/dropbear_rsa_host_key $DROPBEAR_PEER ; echo -e \"----\nENTER to continue...\" && read close" &</action>
pascal@177 651 </button>
pascal@177 652 <button>
pascal@177 653 <input file icon="go-up"></input>
pascal@177 654 <label>Send key</label>
pascal@177 655 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x10 -title "dropbear help" -e "netbox call sendsshkey $DROPBEAR_PEER; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@177 656 </button>
pascal@177 657 </hbox>
pascal@177 658 <hbox>
pascal@126 659 <button>
pascal@126 660 <label>Start</label>
pascal@126 661 <input file icon="forward"></input>
pascal@126 662 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dropbear \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 663 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"dropbear \1\"/" /etc/rcS.conf</action>
pascal@126 664 <action>/etc/init.d/dropbear start</action>
pascal@126 665 </button>
pascal@126 666 <button>
pascal@126 667 <label>Stop</label>
pascal@126 668 <input file icon="stop"></input>
pascal@126 669 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dropbear \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 670 <action>/etc/init.d/dropbear stop</action>
pascal@126 671 </button>
pascal@126 672 </hbox>
pascal@126 673 </frame>
pascal@126 674 '
pascal@126 675 [ -x /usr/sbin/dropbear ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@151 676 tmp='<frame Inetd>
pascal@126 677 <hbox>
pascal@126 678 <text use-markup="true">
pascal@151 679 <label>"<b>INETD_OPTIONS</b>"</label>
pascal@126 680 </text>
pascal@126 681 <entry editable="false">'
pascal@151 682 [ -n "$INETD_OPTS" ] && tmp="$tmp<default>$INETD_OPTS</default>"
pascal@126 683 tmp2='
pascal@151 684 <variable>INETD_OPTS</variable>
pascal@126 685 </entry>
pascal@126 686 <button>
pascal@126 687 <input file icon="help"></input>
pascal@151 688 <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 689 </button>
pascal@126 690 <button>
pascal@126 691 <input file icon="accessories-text-editor"></input>
pascal@126 692 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 693 </button>
pascal@126 694 </hbox>
pascal@126 695 <hbox>
pascal@126 696 <text use-markup="true">
pascal@151 697 <label>"<b>Configuration :</b>"</label>
pascal@126 698 </text>
pascal@151 699 <entry editable="false">
pascal@151 700 <default>/etc/inetd.conf</default>
pascal@151 701 <variable>INETD_CONF</variable>
pascal@126 702 </entry>
pascal@151 703 <button>
pascal@151 704 <input file icon="accessories-text-editor"></input>
pascal@151 705 <action type="lauch">leafpad $INETD_CONF</action>
pascal@151 706 </button>
pascal@126 707 </hbox>
pascal@126 708 <hbox>
pascal@151 709 '
pascal@151 710 tmp="$tmp$tmp2"
pascal@151 711 for i in $(grep bin /etc/inetd.conf | awk '{ print $6}'); do
pascal@151 712 i=$(basename $i)
pascal@151 713 tmp2="
pascal@151 714 <button>
pascal@151 715 <input file icon=\"help\"></input>
pascal@151 716 <label>$i</label>
pascal@151 717 <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 718 </button>
pascal@151 719 "
pascal@151 720 tmp="$tmp$tmp2"
pascal@151 721 done
pascal@151 722 tmp2='
pascal@126 723 <button>
pascal@126 724 <label>Start</label>
pascal@126 725 <input file icon="forward"></input>
pascal@151 726 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)inetd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@151 727 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"inetd \1\"/" /etc/rcS.conf</action>
pascal@151 728 <action>/etc/init.d/inetd start</action>
pascal@126 729 </button>
pascal@126 730 <button>
pascal@126 731 <label>Stop</label>
pascal@126 732 <input file icon="stop"></input>
pascal@151 733 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)inetd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@151 734 <action>/etc/init.d/inetd stop</action>
pascal@126 735 </button>
pascal@126 736 </hbox>
pascal@126 737 </frame>
pascal@126 738 '
pankso@194 739 [ -x /usr/sbin/inetd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 740 tmp='<frame Dhcpd>
pascal@126 741 <hbox>
pascal@126 742 <text use-markup="true">
pascal@155 743 <label>"<b>UDHCPD_OPTIONS</b>"</label>
pascal@155 744 </text>
pascal@155 745 <entry editable="false">'
pascal@155 746 [ -n "$UDHCPD_OPTS" ] && tmp="$tmp<default>$UDHCPD_OPTS</default>"
pascal@155 747 tmp2='
pascal@155 748 <variable>UDHCPD_OPTS</variable>
pascal@155 749 </entry>
pascal@155 750 <button>
pascal@155 751 <input file icon="help"></input>
pascal@155 752 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 60x14 -title "udhcpd help" -e "udhcpd --help ; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@155 753 </button>
pascal@155 754 <button>
pascal@155 755 <input file icon="accessories-text-editor"></input>
pascal@155 756 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@155 757 </button>
pascal@155 758 </hbox>
pascal@155 759 <hbox>
pascal@155 760 <text use-markup="true">
pascal@126 761 <label>"<b>Configuration :</b>"</label>
pascal@126 762 </text>
pascal@126 763 <entry editable="false">
pascal@126 764 <default>/etc/udhcpd.conf</default>
pascal@126 765 <variable>UDHCPD_CONF</variable>
pascal@126 766 </entry>
pascal@126 767 <button>
pascal@126 768 <input file icon="accessories-text-editor"></input>
pascal@126 769 <action type="lauch">leafpad $UDHCPD_CONF</action>
pascal@126 770 </button>
pascal@126 771 </hbox>
pascal@126 772 <hbox>
pascal@126 773 <button>
pascal@126 774 <label>Start</label>
pascal@126 775 <input file icon="forward"></input>
pascal@126 776 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)udhcpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 777 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"udhcpd \1\"/" /etc/rcS.conf</action>
pascal@126 778 <action>/etc/init.d/udhcpd start</action>
pascal@126 779 </button>
pascal@126 780 <button>
pascal@126 781 <label>Stop</label>
pascal@126 782 <input file icon="stop"></input>
pascal@126 783 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)udhcpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 784 <action>/etc/init.d/udhcpd stop</action>
pascal@126 785 </button>
pascal@126 786 </hbox>
pascal@126 787 </frame>
pascal@126 788 '
pankso@194 789 [ -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}$tmp$tmp2"
pascal@126 790 tmp='<frame Pxelinux>
pascal@126 791 <hbox>
pascal@126 792 <text wrap="true">
pascal@126 793 <label>
pascal@151 794 "Launch Dhcpd and Inetd with Tftpd to start the PXE service."
pascal@126 795 </label>
pascal@126 796 </text>
pascal@126 797 </hbox>
pascal@126 798 <hbox>
pascal@126 799 <text use-markup="true">
pascal@126 800 <label>"<b>Configuration :</b>"</label>
pascal@126 801 </text>
pascal@126 802 <entry editable="false">
pascal@152 803 <default>'
pascal@152 804 tmp="$tmp$(grep bin/tftpd /etc/inetd.conf | awk '{ print $NF }')"
pascal@152 805 tmp2='/pxelinux.cfg/default</default>
pascal@126 806 <variable>PXE_CONF</variable>
pascal@126 807 </entry>
pascal@126 808 <button>
pascal@126 809 <input file icon="accessories-text-editor"></input>
pascal@152 810 <action>dir=$(dirname $PXE_CONF); [ -d $dir ] || mkdir -p $dir</action>
pascal@152 811 <action>lzma d /usr/share/boot/pxelinux.0.lzma $(dirname $PXE_CONF)/../pxelinux.0</action>
pascal@154 812 <action>grep -q "^boot_file" $UDHCPD_CONF || echo "boot_file pxelinux.0" >> $UDHCPD_CONF</action>
pascal@164 813 <action>grep -q "^siaddr" $UDHCPD_CONF || echo "siaddr $(ifconfig $INTERFACE | grep inet.ad | cut -d: -f2 | cut -d\ -f1)" >> $UDHCPD_CONF</action>
pascal@164 814 <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>
pascal@152 815 <action type="lauch">leafpad $PXE_CONF</action>
pascal@126 816 </button>
pascal@126 817 </hbox>
pascal@169 818 <hbox>
pascal@169 819 <button>
pascal@169 820 <input file icon="system-file-manager"></input>
pascal@169 821 <label>Network boot files</label>
pascal@169 822 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 100x25 -title "Network boot files (q to quit)" -e "find $(dirname $(dirname $PXE_CONF)) -exec ls -ld {} \; | less"</action>
pascal@169 823 </button>
pascal@169 824 </hbox>
pascal@126 825 </frame>
pascal@126 826 '
pascal@127 827 [ -f /usr/share/boot/pxelinux.0.lzma -a -x /usr/bin/tftpd -a \
pascal@152 828 -x /usr/sbin/inetd -a -x /usr/sbin/udhcpd ] && NET_BOX="$NET_BOX$tmp$tmp2"
pascal@126 829 tmp='<frame Dnsd>
pascal@126 830 <hbox>
pascal@126 831 <text use-markup="true">
pascal@126 832 <label>"<b>DNSD_OPTIONS</b>"</label>
pascal@126 833 </text>
pascal@126 834 <entry editable="false">'
pascal@126 835 [ -n "$DNSD_OPTIONS" ] && tmp="$tmp<default>$DNSD_OPTIONS</default>"
pascal@126 836 tmp2='
pascal@126 837 <variable>DNSD_OPTS</variable>
pascal@126 838 </entry>
pascal@126 839 <button>
pascal@126 840 <input file icon="help"></input>
pascal@126 841 <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 842 </button>
pascal@126 843 <button>
pascal@126 844 <input file icon="accessories-text-editor"></input>
pascal@126 845 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 846 </button>
pascal@126 847 </hbox>
pascal@126 848 <hbox>
pascal@126 849 <text use-markup="true">
pascal@126 850 <label>"<b>Configuration :</b>"</label>
pascal@126 851 </text>
pascal@126 852 <entry editable="false">
pascal@126 853 <default>/etc/dnsd.conf</default>
pascal@126 854 <variable>DNSD_CONF</variable>
pascal@126 855 </entry>
pascal@126 856 <button>
pascal@126 857 <input file icon="accessories-text-editor"></input>
pascal@126 858 <action type="lauch">leafpad $DNSD_CONF</action>
pascal@126 859 </button>
pascal@126 860 </hbox>
pascal@126 861 <hbox>
pascal@126 862 <button>
pascal@126 863 <label>Start</label>
pascal@126 864 <input file icon="forward"></input>
pascal@126 865 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dnsd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 866 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"dnsd \1\"/" /etc/rcS.conf</action>
pascal@126 867 <action>/etc/init.d/dnsd start</action>
pascal@126 868 </button>
pascal@126 869 <button>
pascal@126 870 <label>Stop</label>
pascal@126 871 <input file icon="stop"></input>
pascal@126 872 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dnsd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 873 <action>/etc/init.d/dnsd stop</action>
pascal@126 874 </button>
pascal@126 875 </hbox>
pascal@126 876 </frame>
pascal@126 877 '
pankso@194 878 [ -x /usr/sbin/dnsd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 879 tmp='<frame Rsync>
pascal@126 880 <hbox>
pascal@126 881 <text use-markup="true">
pascal@126 882 <label>"<b>RSYNCD_OPTIONS</b>"</label>
pascal@126 883 </text>
pascal@126 884 <entry editable="false">'
pascal@126 885 [ -n "${RSYNCD_OPTIONS#* }" ] && tmp="$tmp<default>${RSYNCD_OPTIONS#* }</default>"
pascal@126 886 tmp2='
pascal@126 887 <variable>RSYNC_OPTS</variable>
pascal@126 888 </entry>
pascal@126 889 <button>
pascal@126 890 <input file icon="help"></input>
pascal@137 891 <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 892 </button>
pascal@126 893 <button>
pascal@126 894 <input file icon="accessories-text-editor"></input>
pascal@126 895 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 896 </button>
pascal@126 897 </hbox>
pascal@126 898 <hbox>
pascal@126 899 <text use-markup="true">
pascal@126 900 <label>"<b>Configuration :</b>"</label>
pascal@126 901 </text>
pascal@126 902 <entry editable="false">
pascal@126 903 <default>/etc/rsyncd.conf</default>
pascal@126 904 <variable>RSYNCD_CONF</variable>
pascal@126 905 </entry>
pascal@126 906 <button>
pascal@126 907 <input file icon="accessories-text-editor"></input>
pascal@126 908 <action type="lauch">leafpad $RSYNCD_CONF</action>
pascal@126 909 </button>
pascal@126 910 </hbox>
pascal@126 911 <hbox>
pascal@126 912 <text use-markup="true">
pascal@126 913 <label>"<b>Secrets file :</b>"</label>
pascal@126 914 </text>
pascal@126 915 <entry editable="true">
pascal@126 916 <default>/etc/rsyncd.secrets</default>
pascal@126 917 <variable>RSYNCD_SECRETS</variable>
pascal@126 918 </entry>
pascal@126 919 <button>
pascal@126 920 <input file icon="accessories-text-editor"></input>
pascal@126 921 <action type="lauch">leafpad $RSYNCD_SECRETS</action>
pascal@126 922 </button>
pascal@126 923 </hbox>
pascal@126 924 <hbox>
pascal@126 925 <button>
pascal@126 926 <label>Start</label>
pascal@126 927 <input file icon="forward"></input>
pascal@126 928 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)rsyncd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 929 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"rsyncd \1\"/" /etc/rcS.conf</action>
pascal@126 930 <action>/etc/init.d/rsyncd start</action>
pascal@126 931 </button>
pascal@126 932 <button>
pascal@126 933 <label>Stop</label>
pascal@126 934 <input file icon="stop"></input>
pascal@126 935 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)rsyncd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 936 <action>/etc/init.d/rsyncd stop</action>
pascal@126 937 </button>
pascal@126 938 </hbox>
pascal@126 939 </frame>
pascal@126 940 '
pankso@194 941 [ -x /usr/bin/rsync ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@168 942 tmp='<frame Lighttpd>'
pascal@168 943 tmp2='<frame PHP>
pascal@168 944 <hbox>
pascal@168 945 <text use-markup="true">
pascal@168 946 <label>"<b>Configuration :</b>"</label>
pascal@168 947 </text>
pascal@168 948 <entry editable="false">
pascal@168 949 <default>/etc/php.ini</default>
pascal@168 950 <variable>PHP_CONF</variable>
pascal@168 951 </entry>
pascal@168 952 <button>
pascal@168 953 <input file icon="accessories-text-editor"></input>
pascal@168 954 <action type="lauch">leafpad $PHP_CONF</action>
pascal@168 955 </button>
pascal@168 956 </hbox>
pascal@168 957 </frame>
pascal@168 958 '
pankso@194 959 [ -f /etc/php.ini ] && tmp="${tmp}${tmp2}"
pascal@168 960 tmp2='<hbox>
pascal@126 961 <text use-markup="true">
pascal@126 962 <label>"<b>Configuration :</b>"</label>
pascal@126 963 </text>
pascal@126 964 <entry editable="false">
pascal@126 965 <default>/etc/lighttpd/lighttpd.conf</default>
pascal@126 966 <variable>LIGHTTPD_CONF</variable>
pascal@126 967 </entry>
pascal@126 968 <button>
pascal@126 969 <input file icon="accessories-text-editor"></input>
pascal@126 970 <action type="lauch">leafpad $LIGHTTPD_CONF</action>
pascal@126 971 </button>
pascal@126 972 </hbox>
pascal@126 973 <hbox>
pascal@126 974 <button>
pascal@126 975 <label>Start</label>
pascal@126 976 <input file icon="forward"></input>
pascal@126 977 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)lighttpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 978 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"lighttpd \1\"/" /etc/rcS.conf</action>
pascal@126 979 <action>/etc/init.d/lighttpd start</action>
pascal@126 980 </button>
pascal@126 981 <button>
pascal@126 982 <label>Stop</label>
pascal@126 983 <input file icon="stop"></input>
pascal@126 984 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)lighttpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 985 <action>/etc/init.d/lighttpd stop</action>
pascal@126 986 </button>
pascal@126 987 </hbox>
pascal@126 988 </frame>
pascal@126 989 '
pankso@194 990 [ -x /usr/sbin/lighttpd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@137 991 tmp='<frame Samba: smbd & nmbd>
pascal@137 992 <hbox>
pascal@137 993 <text use-markup="true">
pascal@137 994 <label>"<b>Configuration :</b>"</label>
pascal@137 995 </text>
pascal@137 996 <entry editable="false">
pascal@137 997 <default>/etc/samba/smb.conf</default>
pascal@137 998 <variable>SMBD_CONF</variable>
pascal@137 999 </entry>
pascal@137 1000 <button>
pascal@137 1001 <input file icon="accessories-text-editor"></input>
pascal@137 1002 <action type="lauch">leafpad $SMBD_CONF</action>
pascal@137 1003 </button>
pascal@137 1004 </hbox>
pascal@137 1005 <hbox>
pascal@137 1006 <button>
pascal@137 1007 <label>Reload</label>
pascal@137 1008 <input file icon="reload"></input>
pascal@137 1009 <action>/etc/init.d/samba reload</action>
pascal@137 1010 </button>
pascal@137 1011 <button>
pascal@137 1012 <label>Start</label>
pascal@137 1013 <input file icon="forward"></input>
pascal@137 1014 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)samba \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@137 1015 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"samba \1\"/" /etc/rcS.conf</action>
pascal@163 1016 <action>/etc/init.d/samba start</action>
pascal@137 1017 </button>
pascal@137 1018 <button>
pascal@137 1019 <label>Stop</label>
pascal@137 1020 <input file icon="stop"></input>
pascal@137 1021 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)samba \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@163 1022 <action>/etc/init.d/samba stop</action>
pascal@137 1023 </button>
pascal@137 1024 </hbox>
pascal@137 1025 </frame>
pascal@137 1026 '
pascal@137 1027 [ -x /usr/sbin/smbd ] && NET_BOX="${NET_BOX}${tmp}"
pascal@163 1028 tmp='<frame x11vnc>
pascal@163 1029 <hbox>
pascal@163 1030 <text use-markup="true">
pascal@163 1031 <label>"<b>X11VNC_OPTIONS</b>"</label>
pascal@163 1032 </text>
pascal@163 1033 <entry editable="false">'
pascal@163 1034 [ -n "$X11VNC_OPTIONS" ] && tmp="$tmp<default>$X11VNC_OPTIONS</default>"
pascal@163 1035 tmp2='
pascal@163 1036 <variable>X11VNC_OPTS</variable>
pascal@163 1037 </entry>
pascal@163 1038 <button>
pascal@163 1039 <input file icon="help"></input>
pascal@163 1040 <action>xterm -fa MiscFixed -fs 11 -bg gray93 -fg black -geometry 80x30 -title "x11vnc daemon help (q to quit)" -e "x11vnc --help | less"</action>
pascal@163 1041 </button>
pascal@163 1042 <button>
pascal@163 1043 <input file icon="accessories-text-editor"></input>
pascal@163 1044 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@163 1045 </button>
pascal@163 1046 </hbox>
pascal@163 1047 <hbox>
pascal@163 1048 <text use-markup="true">
pascal@163 1049 <label>"<b>New password</b>"</label>
pascal@163 1050 </text>
pascal@163 1051 <entry>
pascal@163 1052 <variable>X11VNC_PASSWD</variable>
pascal@163 1053 </entry>
pascal@163 1054 <button>
pascal@163 1055 <input file icon="reload"></input>
pascal@163 1056 <label>Update</label>
pascal@163 1057 <action>x11vnc -storepasswd $X11VNC_PASSWD /etc/vnc.secret</action>
pascal@163 1058 </button>
pascal@163 1059 </hbox>
pascal@163 1060 <hbox>
pascal@163 1061 <button>
pascal@163 1062 <label>Start</label>
pascal@163 1063 <input file icon="forward"></input>
pascal@163 1064 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)x11vnc \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@163 1065 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"x11vnc \1\"/" /etc/rcS.conf</action>
pascal@163 1066 <action>/etc/init.d/x11vnc start</action>
pascal@163 1067 </button>
pascal@163 1068 <button>
pascal@163 1069 <label>Stop</label>
pascal@163 1070 <input file icon="stop"></input>
pascal@163 1071 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)x11vnc \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@163 1072 <action>/etc/init.d/x11vnc stop</action>
pascal@163 1073 </button>
pascal@163 1074 </hbox>
pascal@163 1075 </frame>
pascal@163 1076 '
pascal@163 1077 [ -x /usr/bin/x11vnc ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@137 1078 NET_BOX="${NET_BOX}
pascal@137 1079 </notebook>
pascal@137 1080 "
pascal@137 1081 tmp='<frame Iptables>
pascal@137 1082 <hbox>
pascal@137 1083 <text use-markup="true">
pascal@137 1084 <label>"<b>Configuration :</b>"</label>
pascal@137 1085 </text>
pascal@137 1086 <entry editable="false">
pascal@137 1087 <default>/etc/iptables.conf</default>
pascal@137 1088 <variable>IPTABLES_CONF</variable>
pascal@137 1089 </entry>
pascal@137 1090 <button>
pascal@137 1091 <input file icon="accessories-text-editor"></input>
pascal@137 1092 <action type="lauch">leafpad $IPTABLES_CONF</action>
pascal@137 1093 </button>
pascal@137 1094 </hbox>
pascal@137 1095 <hbox>
pascal@137 1096 <button>
pascal@137 1097 <label>Load</label>
pascal@137 1098 <input file icon="reload"></input>
pascal@181 1099 <action>cat $IPTABLES_CONF | /sbin/iptables-restore</action>
pascal@137 1100 </button>
pascal@137 1101 <button>
pascal@137 1102 <label>Save</label>
pascal@137 1103 <input file icon="go-jump"></input>
pascal@180 1104 <action>/sbin/iptables-save > $IPTABLES_CONF</action>
pascal@137 1105 </button>
pascal@137 1106 </hbox>
pascal@137 1107 </frame>
pascal@137 1108 '
pascal@137 1109 [ -x /sbin/iptables ] && NET_BOX="$NET_BOX${tmp}"
pascal@126 1110 tmp='
pascal@141 1111 <frame Ether-wake>
pascal@141 1112 <hbox>
pascal@141 1113 <text use-markup="true">
pascal@151 1114 <label>"<b>Machines :</b>"</label>
pascal@151 1115 </text>
pascal@151 1116 <entry editable="false">
pascal@151 1117 <default>/etc/ethers</default>
pascal@151 1118 <variable>ETHERS</variable>
pascal@151 1119 </entry>
pascal@151 1120 <button>
pascal@151 1121 <input file icon="accessories-text-editor"></input>
pascal@151 1122 <action>[ -s $ETHERS ] || echo "#00:01:02:03:04:05 mystation" >$ETHERS</action>
pascal@151 1123 <action type="lauch">leafpad $ETHERS</action>
pascal@151 1124 </button>
pascal@151 1125 </hbox>
pascal@151 1126 <hbox>
pascal@151 1127 <text use-markup="true">
pascal@141 1128 <label>"<b>Options : </b>"</label>
pascal@141 1129 </text>
pascal@141 1130 <entry editable="false">
pascal@141 1131 <variable>ETHERWAKE_OPTS</variable>
pascal@141 1132 </entry>
pascal@141 1133 <button>
pascal@141 1134 <input file icon="help"></input>
pascal@141 1135 <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 1136 </button>
pascal@141 1137 <button>
pascal@141 1138 <label>Start</label>
pascal@141 1139 <input file icon="forward"></input>
pascal@141 1140 <action>ether-wake $ETHERWAKE_OPTS</action>
pascal@141 1141 </button>
pascal@141 1142 </hbox>
pascal@141 1143 </frame>
pascal@126 1144 </notebook>
pankso@33 1145
pankso@33 1146 <hbox>
pankso@33 1147 <button>
pankso@33 1148 <label>Status</label>
pankso@194 1149 <input file icon="dialog-information"></input>
pankso@33 1150 <action type="launch">IFCONFIG</action>
pankso@33 1151 </button>
pankso@194 1152 <button help>
pankso@194 1153 <label>Help</label>
pankso@194 1154 <action type="launch">HELP</action>
pankso@194 1155 </button>
pankso@33 1156 <button>
pankso@185 1157 <label>Quit</label>
pankso@33 1158 <input file icon="exit"></input>
pankso@33 1159 <action type="exit">Exit</action>
pankso@33 1160 </button>
pankso@33 1161 </hbox>
pankso@194 1162
pankso@33 1163 </vbox>
pankso@38 1164 </window>
pankso@33 1165 '
pankso@194 1166 NET_BOX="${NET_BOX}${tmp}"
pascal@126 1167
pascal@126 1168 export NET_BOX
pascal@126 1169
pascal@163 1170 # TODO: Modules(Network kernel modules) VPN(OpenVPN)
pankso@33 1171
pankso@33 1172 # Only root can configure network.
pankso@33 1173 check_root
pascal@177 1174 # Configure and connect if button Connect was pressed.
pascal@177 1175 if ! grep -qs ^name /etc/ppp/options ; then
pascal@177 1176 # Generate /etc/ppp/options
pascal@177 1177 cat > /etc/ppp/options << _EOT_
pascal@177 1178 plugin rp-pppoe.so
pascal@177 1179 name provider-ID
pascal@177 1180 noipdefault
pascal@177 1181 defaultroute
pascal@177 1182 mtu 1492
pascal@177 1183 mru 1492
pascal@177 1184 lock
pascal@177 1185 _EOT_
pascal@177 1186 # Generate /etc/ppp/pap-secrets
pascal@177 1187 cat > /etc/ppp/pap-secrets << _EOT_
pascal@177 1188 # Secrets for authentication using PAP
pascal@177 1189 # client server secret IP addresses
pascal@177 1190 _EOT_
pascal@177 1191 # Generate /etc/ppp/chap-secrets
pascal@177 1192 cat > /etc/ppp/chap-secrets << _EOT_
pascal@177 1193 # Secrets for authentication using CHAP
pascal@177 1194 # client server secret IP addresses
pascal@177 1195 _EOT_
pascal@177 1196 fi
pankso@97 1197 gtkdialog --center --program=NET_BOX
pankso@33 1198
pankso@33 1199 exit 0