slitaz-tools annotate tinyutils/netbox @ rev 181

netbox: fix firewall (again)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri May 09 15:55:31 2008 +0000 (2008-05-09)
parents 644b5d8208b6
children 6821317846d5
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
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@33 83 # Interafce status with ifconfig without arguments to show all
pankso@33 84 # active connections.
pankso@33 85 #
pankso@33 86 export IFCONFIG='
pascal@129 87 <window title="Network status" icon-name="network-wired">
pankso@33 88 <vbox>
pankso@33 89 <text wrap="false">
pankso@33 90 <input>date</input>
pankso@33 91 </text>
pascal@177 92 <notebook labels="Network interfaces'
pascal@177 93 [ -x /usr/sbin/iwlist ] && IFCONFIG="$IFCONFIG|Wireless interfaces|Wireless networks"
pascal@177 94 tmp='|Routing|Servers">
pankso@33 95 <frame Ifconfig>
pankso@33 96 <text wrap="false" width-chars="58">
pankso@33 97 <input>ifconfig</input>
pankso@33 98 </text>
pascal@177 99 </frame>'
pascal@177 100 IFCONFIG="$IFCONFIG$tmp"
pascal@177 101 tmp='<frame Iwconfig>
pascal@177 102 <text wrap="false" width-chars="58">
pascal@177 103 <input>iwconfig</input>
pascal@177 104 </text>
pankso@33 105 </frame>
pascal@177 106 <frame Wireless networks>
pascal@177 107 <text wrap="false" width-chars="58">
pascal@177 108 <input>iwlist scan</input>
pascal@177 109 </text>
pascal@177 110 </frame>'
pascal@177 111 [ -x /usr/sbin/iwlist ] && IFCONFIG="$IFCONFIG$tmp"
pascal@177 112 tmp='<frame Routing>
pascal@177 113 <frame Nameservers>
pascal@177 114 <text wrap="false" width-chars="58">
pascal@177 115 <input>cat /etc/resolv.conf</input>
pascal@177 116 </text>
pascal@177 117 </frame>
pascal@177 118 <frame Routing table>
pascal@177 119 <text wrap="false" width-chars="58">
pascal@177 120 <input>route</input>
pascal@177 121 </text>
pascal@177 122 </frame>
pascal@177 123 <frame Arp table>
pascal@177 124 <text wrap="false" width-chars="58">
pascal@177 125 <input>arp</input>
pascal@177 126 </text>
pascal@177 127 </frame>
pascal@177 128 </frame>
pascal@129 129 <frame Servers>
pascal@129 130 <text wrap="false" width-chars="58">
pascal@177 131 <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 132 </text>
pascal@129 133 </frame>
pascal@177 134 </notebook>
pankso@33 135 <hbox>
pankso@33 136 <button>
pankso@33 137 <input file icon="exit"></input>
pankso@33 138 <action type="closewindow">IFCONFIG</action>
pankso@33 139 </button>
pankso@33 140 </hbox>
pankso@33 141 </vbox>
pankso@38 142 </window>
pankso@33 143 '
pascal@177 144 IFCONFIG="$IFCONFIG$tmp"
pankso@33 145
pankso@34 146 # The main dialog with notebook, start/stop buttons and all options.
pankso@34 147 # Note than /etc/network.conf is seded wehwn an interafce is activate
pankso@33 148 #
pascal@126 149 NET_BOX='
pankso@38 150 <window title="Netbox" icon-name="network-wired">
pankso@33 151 <vbox>
pankso@33 152 <text use-markup="true">
pankso@34 153 <label>
pankso@34 154 "
pankso@33 155 <b>SliTaz - Netbox</b>"
pankso@33 156 </label>
pankso@33 157 </text>
pascal@151 158 <text wrap="true" width-chars="44">
pankso@33 159 <label>
pankso@33 160 "
pascal@151 161 Manage network connections getting dynamic IP
pascal@151 162 by DHCP or static IP, and setup servers.
pascal@151 163 Netbox can start or stop networking, configure
pascal@151 164 network interfaces or directly edit files.
pascal@177 165 Wifi users may configure System wide / Network.
pankso@33 166 "
pankso@33 167 </label>
pankso@33 168 </text>
pankso@33 169
pankso@33 170 <frame General>
pankso@33 171 <hbox>
pankso@33 172 <text use-markup="true">
pankso@34 173 <label>"<b>Interface :</b>"</label>
pankso@33 174 </text>
pankso@33 175 <entry>
pankso@33 176 <input>. /etc/network.conf; echo $INTERFACE</input>
pankso@33 177 <variable>INTERFACE</variable>
pankso@33 178 </entry>
pankso@33 179 </hbox>
pankso@33 180 </frame>
pankso@33 181
pascal@177 182 <notebook labels="DHCP|PPPoE|Static IP|System wide|VPN|Servers'
pascal@137 183 [ -x /sbin/iptables ] && NET_BOX="$NET_BOX|Firewall"
pascal@141 184 tmp='|Etherwake">
pankso@33 185
pankso@33 186 <frame Udhcpc>
pankso@33 187 <hbox>
pankso@33 188 <text use-markup="true">
pascal@126 189 <label>"<b>Options :</b>"</label>
pankso@33 190 </text>
pankso@33 191 <entry>
pankso@33 192 <default>-b</default>
pankso@33 193 <variable>UDHCPC_OPTS</variable>
pankso@33 194 </entry>
pascal@126 195 <button>
pascal@126 196 <input file icon="help"></input>
pascal@126 197 <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 198 </button>
pankso@33 199 </hbox>
pankso@33 200 <hbox>
pankso@33 201 <button>
pankso@33 202 <label>Start</label>
pankso@33 203 <input file icon="forward"></input>
pankso@33 204 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE=\"$INTERFACE\"/ /etc/network.conf</action>
pankso@33 205 <action>sed -i s/DHCP=\"no\"/DHCP=\"yes\"/ /etc/network.conf</action>
pankso@33 206 <action>sed -i s/STATIC=\"yes\"/STATIC=\"no\"/ /etc/network.conf</action>
pankso@33 207 <action>udhcpc $UDHCPC_OPTS -i $INTERFACE -p /var/run/udhcpc.$INTERFACE.pid</action>
pankso@33 208 </button>
pankso@33 209 <button>
pankso@33 210 <label>Stop</label>
pankso@33 211 <input file icon="stop"></input>
pankso@33 212 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 213 <action>ifconfig $INTERFACE down</action>
pankso@33 214 <action>killall -q udhcpc; echo "done"</action>
pankso@33 215 </button>
pankso@33 216 </hbox>
pankso@33 217 </frame>
pankso@33 218
pascal@177 219 <frame PPPoE>
pascal@177 220 <hbox>
pascal@177 221 <text use-markup="true">
pascal@177 222 <label>"<b>Name :</b>"</label>
pascal@177 223 </text>
pascal@177 224 <entry>
pascal@177 225 <input>NAME=$(grep -s ^name /etc/ppp/options); echo "${NAME#* }"</input>
pascal@177 226 <variable>NAME</variable>
pascal@177 227 </entry>
pascal@177 228 </hbox>
pascal@177 229 <hbox>
pascal@177 230 <text use-markup="true">
pascal@177 231 <label>"<b>Username :</b>"</label>
pascal@177 232 </text>
pascal@177 233 <entry>
pascal@177 234 <variable>USER</variable>
pascal@177 235 </entry>
pascal@177 236 </hbox>
pascal@177 237 <hbox>
pascal@177 238 <text use-markup="true">
pascal@177 239 <label>"<b>Password :</b>"</label>
pascal@177 240 </text>
pascal@177 241 <entry>
pascal@177 242 <variable>USER</variable>
pascal@177 243 </entry>
pascal@177 244 </hbox>
pascal@177 245 <hbox>
pascal@177 246 <button>
pascal@177 247 <input file icon="accessories-text-editor"></input>
pascal@177 248 <label>Tune</label>
pascal@177 249 <action>[ -n "$NAME" ] && sed -i "s/^name .*/name $NAME/" /etc/ppp/options</action>
pascal@177 250 <action type="lauch">leafpad /etc/ppp/options</action>
pascal@177 251 </button>
pascal@177 252 <button>
pascal@177 253 <label>Start</label>
pascal@177 254 <input file icon="forward"></input>
pascal@177 255 <action>[ -n "$USER" ] && grep -qs "^\"$USER\"" /etc/ppp/pap-secrets
pascal@177 256 && echo "\"$USER\" * \"$PASS\"" >> /etc/ppp/pap-secrets</action>
pascal@177 257 <action>[ -n "$USER" ] && grep -qs "^\"$USER\"" /etc/ppp/chap-secrets
pascal@177 258 && echo "\"$USER\" * \"$PASS\"" >> /etc/ppp/chap-secrets</action>
pascal@177 259 <action>[ -n "$NAME" ] && sed -i "s/^name .*/name $NAME/" /etc/ppp/options</action>
pascal@177 260 <action>killall udhcpc</action>
pascal@177 261 <action>sed -i "s/DHCP=\"yes\"/DHCP=\"no\"/" /etc/network.conf</action>
pascal@177 262 <action>sed -i "s/PPPOE=\"no\"/PPPOE=\"yes\"/" /etc/network.conf</action>
pascal@177 263 <action>pppd $INTERFACE &</action>
pascal@177 264 </button>
pascal@177 265 <button>
pascal@177 266 <label>Stop</label>
pascal@177 267 <input file icon="stop"></input>
pascal@177 268 <action>sed -i "s/PPPOE=\"yes\"/PPPOE=\"no\"/" /etc/network.conf</action>
pascal@177 269 <action>killall pppd</action>
pascal@177 270 </button>
pascal@177 271 </hbox>
pascal@177 272 </frame>
pascal@177 273
pankso@33 274 <frame Configuration>
pankso@33 275 <hbox>
pankso@33 276 <text use-markup="true">
pankso@34 277 <label>"<b>IP :</b>"</label>
pankso@33 278 </text>
pankso@33 279 <entry>
pankso@33 280 <input>. /etc/network.conf; echo "$IP"</input>
pankso@33 281 <variable>IP</variable>
pankso@33 282 </entry>
pankso@33 283 </hbox>
pankso@33 284 <hbox>
pankso@33 285 <text use-markup="true">
pankso@34 286 <label>"<b>Netmask :</b>"</label>
pankso@33 287 </text>
pankso@33 288 <entry>
pankso@33 289 <input>. /etc/network.conf; echo "$NETMASK"</input>
pankso@33 290 <variable>NETMASK</variable>
pankso@33 291 </entry>
pankso@33 292 </hbox>
pankso@33 293 <hbox>
pankso@33 294 <text use-markup="true">
pankso@34 295 <label>"<b>Gateway :</b>"</label>
pankso@33 296 </text>
pankso@33 297 <entry>
pankso@33 298 <input>. /etc/network.conf; echo "$GATEWAY"</input>
pankso@33 299 <variable>GATEWAY</variable>
pankso@33 300 </entry>
pankso@33 301 </hbox>
pankso@33 302 <hbox>
pankso@33 303 <text use-markup="true">
pankso@34 304 <label>"<b>DNS server :</b>"</label>
pankso@33 305 </text>
pankso@33 306 <entry>
pankso@33 307 <input>. /etc/network.conf; echo "$DNS_SERVER"</input>
pankso@33 308 <variable>DNS_SERVER</variable>
pankso@33 309 </entry>
pankso@33 310 </hbox>
pankso@33 311 <hbox>
pankso@33 312 <button>
pankso@33 313 <label>Start</label>
pankso@33 314 <input file icon="forward"></input>
pankso@33 315 <action>ifconfig lo down</action>
pankso@33 316 <action>ifconfig $INTERFACE down</action>
pankso@33 317 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE=\"$INTERFACE\"/ /etc/network.conf</action>
pankso@33 318 <action>sed -i s/DHCP=\"yes\"/DHCP=\"no\"/ /etc/network.conf</action>
pankso@33 319 <action>sed -i s/STATIC=\"no\"/STATIC=\"yes\"/ /etc/network.conf</action>
pankso@33 320 <action>sed -i s/`cat /etc/network.conf | grep ^IP=`/IP=\"$IP\"/ /etc/network.conf</action>
pankso@33 321 <action>sed -i s/`cat /etc/network.conf | grep ^NETMASK=`/NETMASK=\"$NETMASK\"/ /etc/network.conf</action>
pankso@33 322 <action>sed -i s/`cat /etc/network.conf | grep ^GATEWAY=`/GATEWAY=\"$GATEWAY\"/ /etc/network.conf</action>
pankso@33 323 <action>sed -i s/`cat /etc/network.conf | grep ^DNS_SERVER=`/DNS_SERVER=\"$DNS_SERVER\"/ /etc/network.conf</action>
pankso@33 324 <action>/etc/init.d/network.sh</action>
pankso@33 325 </button>
pankso@33 326 <button>
pankso@33 327 <label>Stop</label>
pankso@33 328 <input file icon="stop"></input>
pankso@33 329 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 330 <action>ifconfig $INTERFACE down; echo "done"</action>
pankso@33 331 </button>
pankso@33 332 </hbox>
pankso@33 333 </frame>
pankso@33 334
pankso@33 335 <frame Configuration files>
pankso@33 336 <hbox>
pankso@33 337 <text use-markup="true">
pankso@34 338 <label>"<b>Hosts :</b>"</label>
pankso@33 339 </text>
pankso@33 340 <entry editable="false">
pankso@33 341 <default>/etc/hosts</default>
pankso@33 342 <variable>HOSTS</variable>
pankso@33 343 </entry>
pankso@33 344 <button>
pankso@33 345 <input file icon="accessories-text-editor"></input>
pankso@33 346 <action type="lauch">leafpad $HOSTS</action>
pankso@33 347 </button>
pankso@33 348 </hbox>
pankso@33 349 <hbox>
pankso@33 350 <text use-markup="true">
pankso@34 351 <label>"<b>Host name :</b>"</label>
pankso@33 352 </text>
pankso@33 353 <entry editable="false">
pankso@33 354 <default>/etc/hostname</default>
pankso@33 355 <variable>HOSTNAME</variable>
pankso@33 356 </entry>
pankso@33 357 <button>
pankso@33 358 <input file icon="accessories-text-editor"></input>
pankso@33 359 <action type="lauch">leafpad $HOSTNAME</action>
pankso@33 360 </button>
pankso@33 361 </hbox>
pankso@33 362 <hbox>
pankso@33 363 <text use-markup="true">
pankso@34 364 <label>"<b>Network :</b>"</label>
pankso@33 365 </text>
pankso@33 366 <entry editable="false">
pankso@33 367 <default>/etc/network.conf</default>
pankso@33 368 <variable>CONFIG_FILE</variable>
pankso@33 369 </entry>
pankso@33 370 <button>
pankso@33 371 <input file icon="accessories-text-editor"></input>
pankso@33 372 <action type="lauch">leafpad $CONFIG_FILE</action>
pankso@33 373 </button>
pankso@33 374 </hbox>
pankso@33 375 <hbox>
pankso@33 376 <button>
pankso@33 377 <label>Restart</label>
pankso@33 378 <input file icon="reload"></input>
pankso@33 379 <action>echo -n "Stopping interface : $INTERFACE... "</action>
pankso@33 380 <action>ifconfig lo down</action>
pankso@33 381 <action>ifconfig $INTERFACE down</action>
pankso@33 382 <action>killall -q udhcpc; echo "done"</action>
pankso@33 383 <action>/etc/init.d/network.sh</action>
pankso@33 384 </button>
pankso@33 385 </hbox>
pankso@33 386 </frame>
pascal@177 387
pascal@177 388 <frame Virtual Private Network with PPP/SSH>
pascal@177 389 <hbox>
pascal@177 390 <text use-markup="true">
pascal@177 391 <label>"<b>Peer :</b>"</label>
pascal@177 392 </text>
pascal@177 393 <entry>
pascal@177 394 <variable>DROPBEAR_PEERVPN</variable>
pascal@177 395 <default>user@elsewhere</default>
pascal@177 396 </entry>
pascal@177 397 </hbox>
pascal@177 398 <hbox>
pascal@177 399 <text use-markup="true">
pascal@177 400 <label>"<b>Local IP :</b>"</label>
pascal@177 401 </text>
pascal@177 402 <entry>
pascal@177 403 <variable>DROPBEAR_LOCAL</variable>
pascal@177 404 <default>192.168.254.1</default>
pascal@177 405 </entry>
pascal@177 406 </hbox>
pascal@177 407 <hbox>
pascal@177 408 <text use-markup="true">
pascal@177 409 <label>"<b>Remote IP :</b>"</label>
pascal@177 410 </text>
pascal@177 411 <entry>
pascal@177 412 <variable>DROPBEAR_REMOTE</variable>
pascal@177 413 <default>192.168.254.2</default>
pascal@177 414 </entry>
pascal@177 415 </hbox>
pascal@177 416 <hbox>
pascal@177 417 <text use-markup="true">
pascal@177 418 <label>"<b>Route(s) :</b>"</label>
pascal@177 419 </text>
pascal@177 420 <entry>
pascal@177 421 <variable>DROPBEAR_ROUTE</variable>
pascal@177 422 <default>192.168.10.0/24 192.168.20.0/28</default>
pascal@177 423 </entry>
pascal@177 424 </hbox>
pascal@177 425 <hbox>
pascal@177 426 <button>
pascal@177 427 <input file icon="forward"></input>
pascal@177 428 <label>Connect</label>
pascal@177 429 <action>netbox call vpnssh $DROPBEAR_PEERVPN $DROPBEAR_LOCAL $DROPBEAR_REMOTE "$DROPBEAR_ROUTE" &</action>
pascal@177 430 </button>
pascal@177 431 <button>
pascal@177 432 <input file icon="stop"></input>
pascal@177 433 <label>Disconnect</label>
pascal@177 434 <action>netbox call killvpnssh</action>
pascal@177 435 </button>
pascal@177 436 <button>
pascal@177 437 <input file icon="go-up"></input>
pascal@177 438 <label>Send key</label>
pascal@177 439 <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 440 </button>
pascal@177 441 </hbox>
pascal@177 442 </frame>
pascal@126 443 <notebook labels="'
pascal@137 444 NET_BOX="$NET_BOX$tmp"
pascal@126 445 tmp=''
pascal@126 446 [ -x /usr/sbin/dropbear ] && NET_BOX="${NET_BOX}${tmp}SSH" && tmp='|'
pascal@151 447 [ -x /usr/sbin/inetd ] && NET_BOX="${NET_BOX}${tmp}INETD" && tmp='|'
pascal@126 448 [ -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}${tmp}DHCP" && tmp='|'
pascal@126 449 [ -f /usr/share/boot/pxelinux.0.lzma -a -x /usr/bin/tftpd -a \
pascal@151 450 -x /usr/sbin/inetd -a -x /usr/sbin/udhcpd ] \
pascal@151 451 && NET_BOX="${NET_BOX}${tmp}PXE" && tmp='|'
pascal@126 452 [ -x /usr/sbin/dnsd ] && NET_BOX="${NET_BOX}${tmp}DNS" && tmp='|'
pascal@126 453 [ -x /usr/bin/rsync ] && NET_BOX="${NET_BOX}${tmp}RSYNC" && tmp='|'
pascal@126 454 [ -x /usr/sbin/lighttpd ] && NET_BOX="${NET_BOX}${tmp}HTTP" && tmp='|'
pascal@163 455 [ -x /usr/sbin/smbd ] && NET_BOX="${NET_BOX}${tmp}WINS" && tmp='|'
pascal@163 456 [ -x /usr/bin/x11vnc ] && NET_BOX="${NET_BOX}${tmp}VNC" && tmp='|'
pascal@126 457 . /etc/daemons.conf
pascal@126 458 set -- $DROPBEAR_OPTIONS
pascal@126 459 while [ -n "$2" ]; do
pascal@126 460 [ "$1" = "-b" ] && DROPBEAR_BANNER="$2" && break
pascal@126 461 shift
pascal@126 462 done
pascal@126 463 NET_BOX="${NET_BOX}\">"
pascal@126 464 tmp='<frame Dropbear>
pascal@126 465 <hbox>
pascal@126 466 <text use-markup="true">
pascal@126 467 <label>"<b>DROPBEAR_OPTIONS</b>"</label>
pascal@126 468 </text>
pascal@126 469 <entry editable="false">'
pascal@126 470 [ -n "$DROPBEAR_OPTIONS" ] && tmp="$tmp<default>$DROPBEAR_OPTIONS</default>"
pascal@126 471 tmp2='
pascal@126 472 <variable>DROPBEAR_OPTS</variable>
pascal@126 473 </entry>
pascal@126 474 <button>
pascal@126 475 <input file icon="help"></input>
pascal@126 476 <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 477 </button>
pascal@126 478 <button>
pascal@126 479 <input file icon="accessories-text-editor"></input>
pascal@126 480 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 481 </button>
pascal@126 482 </hbox>
pascal@126 483 <hbox>
pascal@126 484 <text use-markup="true">
pascal@126 485 <label>"<b>Banner :</b>"</label>
pascal@126 486 </text>
pascal@126 487 <entry editable="false">'
pascal@126 488 [ -n "$DROPBEAR_BANNER" ] && tmp="$tmp$tmp2<default>$DROPBEAR_BANNER</default>"
pascal@126 489 tmp2='
pascal@126 490 <variable>DROPBEAR_BANNER</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 $DROPBEAR_BANNER</action>
pascal@126 495 </button>
pascal@126 496 </hbox>
pascal@126 497 <hbox>
pascal@177 498 <text use-markup="true">
pascal@177 499 <label>"<b>Remote :</b>"</label>
pascal@177 500 </text>
pascal@177 501 <entry>
pascal@177 502 <variable>DROPBEAR_PEER</variable>
pascal@177 503 <default>user@elsewhere</default>
pascal@177 504 </entry>
pascal@177 505 <button>
pascal@177 506 <input file icon="utilities-terminal"></input>
pascal@177 507 <label>Connect</label>
pascal@177 508 <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 509 </button>
pascal@177 510 <button>
pascal@177 511 <input file icon="go-up"></input>
pascal@177 512 <label>Send key</label>
pascal@177 513 <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 514 </button>
pascal@177 515 </hbox>
pascal@177 516 <hbox>
pascal@126 517 <button>
pascal@126 518 <label>Start</label>
pascal@126 519 <input file icon="forward"></input>
pascal@126 520 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dropbear \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 521 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"dropbear \1\"/" /etc/rcS.conf</action>
pascal@126 522 <action>/etc/init.d/dropbear start</action>
pascal@126 523 </button>
pascal@126 524 <button>
pascal@126 525 <label>Stop</label>
pascal@126 526 <input file icon="stop"></input>
pascal@126 527 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dropbear \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 528 <action>/etc/init.d/dropbear stop</action>
pascal@126 529 </button>
pascal@126 530 </hbox>
pascal@126 531 </frame>
pascal@126 532 '
pascal@126 533 [ -x /usr/sbin/dropbear ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@151 534 tmp='<frame Inetd>
pascal@126 535 <hbox>
pascal@126 536 <text use-markup="true">
pascal@151 537 <label>"<b>INETD_OPTIONS</b>"</label>
pascal@126 538 </text>
pascal@126 539 <entry editable="false">'
pascal@151 540 [ -n "$INETD_OPTS" ] && tmp="$tmp<default>$INETD_OPTS</default>"
pascal@126 541 tmp2='
pascal@151 542 <variable>INETD_OPTS</variable>
pascal@126 543 </entry>
pascal@126 544 <button>
pascal@126 545 <input file icon="help"></input>
pascal@151 546 <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 547 </button>
pascal@126 548 <button>
pascal@126 549 <input file icon="accessories-text-editor"></input>
pascal@126 550 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 551 </button>
pascal@126 552 </hbox>
pascal@126 553 <hbox>
pascal@126 554 <text use-markup="true">
pascal@151 555 <label>"<b>Configuration :</b>"</label>
pascal@126 556 </text>
pascal@151 557 <entry editable="false">
pascal@151 558 <default>/etc/inetd.conf</default>
pascal@151 559 <variable>INETD_CONF</variable>
pascal@126 560 </entry>
pascal@151 561 <button>
pascal@151 562 <input file icon="accessories-text-editor"></input>
pascal@151 563 <action type="lauch">leafpad $INETD_CONF</action>
pascal@151 564 </button>
pascal@126 565 </hbox>
pascal@126 566 <hbox>
pascal@151 567 '
pascal@151 568 tmp="$tmp$tmp2"
pascal@151 569 for i in $(grep bin /etc/inetd.conf | awk '{ print $6}'); do
pascal@151 570 i=$(basename $i)
pascal@151 571 tmp2="
pascal@151 572 <button>
pascal@151 573 <input file icon=\"help\"></input>
pascal@151 574 <label>$i</label>
pascal@151 575 <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 576 </button>
pascal@151 577 "
pascal@151 578 tmp="$tmp$tmp2"
pascal@151 579 done
pascal@151 580 tmp2='
pascal@126 581 <button>
pascal@126 582 <label>Start</label>
pascal@126 583 <input file icon="forward"></input>
pascal@151 584 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)inetd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@151 585 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"inetd \1\"/" /etc/rcS.conf</action>
pascal@151 586 <action>/etc/init.d/inetd start</action>
pascal@126 587 </button>
pascal@126 588 <button>
pascal@126 589 <label>Stop</label>
pascal@126 590 <input file icon="stop"></input>
pascal@151 591 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)inetd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@151 592 <action>/etc/init.d/inetd stop</action>
pascal@126 593 </button>
pascal@126 594 </hbox>
pascal@126 595 </frame>
pascal@126 596 '
pascal@151 597 [ -x /usr/sbin/inetd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 598 tmp='<frame Dhcpd>
pascal@126 599 <hbox>
pascal@126 600 <text use-markup="true">
pascal@155 601 <label>"<b>UDHCPD_OPTIONS</b>"</label>
pascal@155 602 </text>
pascal@155 603 <entry editable="false">'
pascal@155 604 [ -n "$UDHCPD_OPTS" ] && tmp="$tmp<default>$UDHCPD_OPTS</default>"
pascal@155 605 tmp2='
pascal@155 606 <variable>UDHCPD_OPTS</variable>
pascal@155 607 </entry>
pascal@155 608 <button>
pascal@155 609 <input file icon="help"></input>
pascal@155 610 <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 611 </button>
pascal@155 612 <button>
pascal@155 613 <input file icon="accessories-text-editor"></input>
pascal@155 614 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@155 615 </button>
pascal@155 616 </hbox>
pascal@155 617 <hbox>
pascal@155 618 <text use-markup="true">
pascal@126 619 <label>"<b>Configuration :</b>"</label>
pascal@126 620 </text>
pascal@126 621 <entry editable="false">
pascal@126 622 <default>/etc/udhcpd.conf</default>
pascal@126 623 <variable>UDHCPD_CONF</variable>
pascal@126 624 </entry>
pascal@126 625 <button>
pascal@126 626 <input file icon="accessories-text-editor"></input>
pascal@126 627 <action type="lauch">leafpad $UDHCPD_CONF</action>
pascal@126 628 </button>
pascal@126 629 </hbox>
pascal@126 630 <hbox>
pascal@126 631 <button>
pascal@126 632 <label>Start</label>
pascal@126 633 <input file icon="forward"></input>
pascal@126 634 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)udhcpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 635 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"udhcpd \1\"/" /etc/rcS.conf</action>
pascal@126 636 <action>/etc/init.d/udhcpd start</action>
pascal@126 637 </button>
pascal@126 638 <button>
pascal@126 639 <label>Stop</label>
pascal@126 640 <input file icon="stop"></input>
pascal@126 641 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)udhcpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 642 <action>/etc/init.d/udhcpd stop</action>
pascal@126 643 </button>
pascal@126 644 </hbox>
pascal@126 645 </frame>
pascal@126 646 '
pascal@155 647 [ -x /usr/sbin/udhcpd ] && NET_BOX="${NET_BOX}$tmp$tmp2"
pascal@126 648 tmp='<frame Pxelinux>
pascal@126 649 <hbox>
pascal@126 650 <text wrap="true">
pascal@126 651 <label>
pascal@151 652 "Launch Dhcpd and Inetd with Tftpd to start the PXE service."
pascal@126 653 </label>
pascal@126 654 </text>
pascal@126 655 </hbox>
pascal@126 656 <hbox>
pascal@126 657 <text use-markup="true">
pascal@126 658 <label>"<b>Configuration :</b>"</label>
pascal@126 659 </text>
pascal@126 660 <entry editable="false">
pascal@152 661 <default>'
pascal@152 662 tmp="$tmp$(grep bin/tftpd /etc/inetd.conf | awk '{ print $NF }')"
pascal@152 663 tmp2='/pxelinux.cfg/default</default>
pascal@126 664 <variable>PXE_CONF</variable>
pascal@126 665 </entry>
pascal@126 666 <button>
pascal@126 667 <input file icon="accessories-text-editor"></input>
pascal@152 668 <action>dir=$(dirname $PXE_CONF); [ -d $dir ] || mkdir -p $dir</action>
pascal@152 669 <action>lzma d /usr/share/boot/pxelinux.0.lzma $(dirname $PXE_CONF)/../pxelinux.0</action>
pascal@154 670 <action>grep -q "^boot_file" $UDHCPD_CONF || echo "boot_file pxelinux.0" >> $UDHCPD_CONF</action>
pascal@164 671 <action>grep -q "^siaddr" $UDHCPD_CONF || echo "siaddr $(ifconfig $INTERFACE | grep inet.ad | cut -d: -f2 | cut -d\ -f1)" >> $UDHCPD_CONF</action>
pascal@164 672 <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 673 <action type="lauch">leafpad $PXE_CONF</action>
pascal@126 674 </button>
pascal@126 675 </hbox>
pascal@169 676 <hbox>
pascal@169 677 <button>
pascal@169 678 <input file icon="system-file-manager"></input>
pascal@169 679 <label>Network boot files</label>
pascal@169 680 <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 681 </button>
pascal@169 682 </hbox>
pascal@126 683 </frame>
pascal@126 684 '
pascal@127 685 [ -f /usr/share/boot/pxelinux.0.lzma -a -x /usr/bin/tftpd -a \
pascal@152 686 -x /usr/sbin/inetd -a -x /usr/sbin/udhcpd ] && NET_BOX="$NET_BOX$tmp$tmp2"
pascal@126 687 tmp='<frame Dnsd>
pascal@126 688 <hbox>
pascal@126 689 <text use-markup="true">
pascal@126 690 <label>"<b>DNSD_OPTIONS</b>"</label>
pascal@126 691 </text>
pascal@126 692 <entry editable="false">'
pascal@126 693 [ -n "$DNSD_OPTIONS" ] && tmp="$tmp<default>$DNSD_OPTIONS</default>"
pascal@126 694 tmp2='
pascal@126 695 <variable>DNSD_OPTS</variable>
pascal@126 696 </entry>
pascal@126 697 <button>
pascal@126 698 <input file icon="help"></input>
pascal@126 699 <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 700 </button>
pascal@126 701 <button>
pascal@126 702 <input file icon="accessories-text-editor"></input>
pascal@126 703 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 704 </button>
pascal@126 705 </hbox>
pascal@126 706 <hbox>
pascal@126 707 <text use-markup="true">
pascal@126 708 <label>"<b>Configuration :</b>"</label>
pascal@126 709 </text>
pascal@126 710 <entry editable="false">
pascal@126 711 <default>/etc/dnsd.conf</default>
pascal@126 712 <variable>DNSD_CONF</variable>
pascal@126 713 </entry>
pascal@126 714 <button>
pascal@126 715 <input file icon="accessories-text-editor"></input>
pascal@126 716 <action type="lauch">leafpad $DNSD_CONF</action>
pascal@126 717 </button>
pascal@126 718 </hbox>
pascal@126 719 <hbox>
pascal@126 720 <button>
pascal@126 721 <label>Start</label>
pascal@126 722 <input file icon="forward"></input>
pascal@126 723 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dnsd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 724 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"dnsd \1\"/" /etc/rcS.conf</action>
pascal@126 725 <action>/etc/init.d/dnsd start</action>
pascal@126 726 </button>
pascal@126 727 <button>
pascal@126 728 <label>Stop</label>
pascal@126 729 <input file icon="stop"></input>
pascal@126 730 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)dnsd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 731 <action>/etc/init.d/dnsd stop</action>
pascal@126 732 </button>
pascal@126 733 </hbox>
pascal@126 734 </frame>
pascal@126 735 '
pascal@126 736 [ -x /usr/sbin/dnsd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@126 737 tmp='<frame Rsync>
pascal@126 738 <hbox>
pascal@126 739 <text use-markup="true">
pascal@126 740 <label>"<b>RSYNCD_OPTIONS</b>"</label>
pascal@126 741 </text>
pascal@126 742 <entry editable="false">'
pascal@126 743 [ -n "${RSYNCD_OPTIONS#* }" ] && tmp="$tmp<default>${RSYNCD_OPTIONS#* }</default>"
pascal@126 744 tmp2='
pascal@126 745 <variable>RSYNC_OPTS</variable>
pascal@126 746 </entry>
pascal@126 747 <button>
pascal@126 748 <input file icon="help"></input>
pascal@137 749 <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 750 </button>
pascal@126 751 <button>
pascal@126 752 <input file icon="accessories-text-editor"></input>
pascal@126 753 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@126 754 </button>
pascal@126 755 </hbox>
pascal@126 756 <hbox>
pascal@126 757 <text use-markup="true">
pascal@126 758 <label>"<b>Configuration :</b>"</label>
pascal@126 759 </text>
pascal@126 760 <entry editable="false">
pascal@126 761 <default>/etc/rsyncd.conf</default>
pascal@126 762 <variable>RSYNCD_CONF</variable>
pascal@126 763 </entry>
pascal@126 764 <button>
pascal@126 765 <input file icon="accessories-text-editor"></input>
pascal@126 766 <action type="lauch">leafpad $RSYNCD_CONF</action>
pascal@126 767 </button>
pascal@126 768 </hbox>
pascal@126 769 <hbox>
pascal@126 770 <text use-markup="true">
pascal@126 771 <label>"<b>Secrets file :</b>"</label>
pascal@126 772 </text>
pascal@126 773 <entry editable="true">
pascal@126 774 <default>/etc/rsyncd.secrets</default>
pascal@126 775 <variable>RSYNCD_SECRETS</variable>
pascal@126 776 </entry>
pascal@126 777 <button>
pascal@126 778 <input file icon="accessories-text-editor"></input>
pascal@126 779 <action type="lauch">leafpad $RSYNCD_SECRETS</action>
pascal@126 780 </button>
pascal@126 781 </hbox>
pascal@126 782 <hbox>
pascal@126 783 <button>
pascal@126 784 <label>Start</label>
pascal@126 785 <input file icon="forward"></input>
pascal@126 786 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)rsyncd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 787 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"rsyncd \1\"/" /etc/rcS.conf</action>
pascal@126 788 <action>/etc/init.d/rsyncd start</action>
pascal@126 789 </button>
pascal@126 790 <button>
pascal@126 791 <label>Stop</label>
pascal@126 792 <input file icon="stop"></input>
pascal@126 793 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)rsyncd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 794 <action>/etc/init.d/rsyncd stop</action>
pascal@126 795 </button>
pascal@126 796 </hbox>
pascal@126 797 </frame>
pascal@126 798 '
pascal@126 799 [ -x /usr/bin/rsync ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@168 800 tmp='<frame Lighttpd>'
pascal@168 801 tmp2='<frame PHP>
pascal@168 802 <hbox>
pascal@168 803 <text use-markup="true">
pascal@168 804 <label>"<b>Configuration :</b>"</label>
pascal@168 805 </text>
pascal@168 806 <entry editable="false">
pascal@168 807 <default>/etc/php.ini</default>
pascal@168 808 <variable>PHP_CONF</variable>
pascal@168 809 </entry>
pascal@168 810 <button>
pascal@168 811 <input file icon="accessories-text-editor"></input>
pascal@168 812 <action type="lauch">leafpad $PHP_CONF</action>
pascal@168 813 </button>
pascal@168 814 </hbox>
pascal@168 815 </frame>
pascal@168 816 '
pascal@168 817 [ -f /etc/php.ini ] && tmp="${tmp}${tmp2}"
pascal@168 818 tmp2='<hbox>
pascal@126 819 <text use-markup="true">
pascal@126 820 <label>"<b>Configuration :</b>"</label>
pascal@126 821 </text>
pascal@126 822 <entry editable="false">
pascal@126 823 <default>/etc/lighttpd/lighttpd.conf</default>
pascal@126 824 <variable>LIGHTTPD_CONF</variable>
pascal@126 825 </entry>
pascal@126 826 <button>
pascal@126 827 <input file icon="accessories-text-editor"></input>
pascal@126 828 <action type="lauch">leafpad $LIGHTTPD_CONF</action>
pascal@126 829 </button>
pascal@126 830 </hbox>
pascal@126 831 <hbox>
pascal@126 832 <button>
pascal@126 833 <label>Start</label>
pascal@126 834 <input file icon="forward"></input>
pascal@126 835 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)lighttpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 836 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"lighttpd \1\"/" /etc/rcS.conf</action>
pascal@126 837 <action>/etc/init.d/lighttpd start</action>
pascal@126 838 </button>
pascal@126 839 <button>
pascal@126 840 <label>Stop</label>
pascal@126 841 <input file icon="stop"></input>
pascal@126 842 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)lighttpd \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@126 843 <action>/etc/init.d/lighttpd stop</action>
pascal@126 844 </button>
pascal@126 845 </hbox>
pascal@126 846 </frame>
pascal@126 847 '
pascal@168 848 [ -x /usr/sbin/lighttpd ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@137 849 tmp='<frame Samba: smbd & nmbd>
pascal@137 850 <hbox>
pascal@137 851 <text use-markup="true">
pascal@137 852 <label>"<b>Configuration :</b>"</label>
pascal@137 853 </text>
pascal@137 854 <entry editable="false">
pascal@137 855 <default>/etc/samba/smb.conf</default>
pascal@137 856 <variable>SMBD_CONF</variable>
pascal@137 857 </entry>
pascal@137 858 <button>
pascal@137 859 <input file icon="accessories-text-editor"></input>
pascal@137 860 <action type="lauch">leafpad $SMBD_CONF</action>
pascal@137 861 </button>
pascal@137 862 </hbox>
pascal@137 863 <hbox>
pascal@137 864 <button>
pascal@137 865 <label>Reload</label>
pascal@137 866 <input file icon="reload"></input>
pascal@137 867 <action>/etc/init.d/samba reload</action>
pascal@137 868 </button>
pascal@137 869 <button>
pascal@137 870 <label>Start</label>
pascal@137 871 <input file icon="forward"></input>
pascal@137 872 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)samba \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@137 873 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"samba \1\"/" /etc/rcS.conf</action>
pascal@163 874 <action>/etc/init.d/samba start</action>
pascal@137 875 </button>
pascal@137 876 <button>
pascal@137 877 <label>Stop</label>
pascal@137 878 <input file icon="stop"></input>
pascal@137 879 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)samba \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@163 880 <action>/etc/init.d/samba stop</action>
pascal@137 881 </button>
pascal@137 882 </hbox>
pascal@137 883 </frame>
pascal@137 884 '
pascal@137 885 [ -x /usr/sbin/smbd ] && NET_BOX="${NET_BOX}${tmp}"
pascal@163 886 tmp='<frame x11vnc>
pascal@163 887 <hbox>
pascal@163 888 <text use-markup="true">
pascal@163 889 <label>"<b>X11VNC_OPTIONS</b>"</label>
pascal@163 890 </text>
pascal@163 891 <entry editable="false">'
pascal@163 892 [ -n "$X11VNC_OPTIONS" ] && tmp="$tmp<default>$X11VNC_OPTIONS</default>"
pascal@163 893 tmp2='
pascal@163 894 <variable>X11VNC_OPTS</variable>
pascal@163 895 </entry>
pascal@163 896 <button>
pascal@163 897 <input file icon="help"></input>
pascal@163 898 <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 899 </button>
pascal@163 900 <button>
pascal@163 901 <input file icon="accessories-text-editor"></input>
pascal@163 902 <action type="lauch">leafpad /etc/daemons.conf</action>
pascal@163 903 </button>
pascal@163 904 </hbox>
pascal@163 905 <hbox>
pascal@163 906 <text use-markup="true">
pascal@163 907 <label>"<b>New password</b>"</label>
pascal@163 908 </text>
pascal@163 909 <entry>
pascal@163 910 <variable>X11VNC_PASSWD</variable>
pascal@163 911 </entry>
pascal@163 912 <button>
pascal@163 913 <input file icon="reload"></input>
pascal@163 914 <label>Update</label>
pascal@163 915 <action>x11vnc -storepasswd $X11VNC_PASSWD /etc/vnc.secret</action>
pascal@163 916 </button>
pascal@163 917 </hbox>
pascal@163 918 <hbox>
pascal@163 919 <button>
pascal@163 920 <label>Start</label>
pascal@163 921 <input file icon="forward"></input>
pascal@163 922 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)x11vnc \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@163 923 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)\"/RUN_DAEMONS=\"x11vnc \1\"/" /etc/rcS.conf</action>
pascal@163 924 <action>/etc/init.d/x11vnc start</action>
pascal@163 925 </button>
pascal@163 926 <button>
pascal@163 927 <label>Stop</label>
pascal@163 928 <input file icon="stop"></input>
pascal@163 929 <action>sed -i "s/RUN_DAEMONS=\"\(.*\)x11vnc \?\(.*\)\"/RUN_DAEMONS=\"\1\2\"/" /etc/rcS.conf</action>
pascal@163 930 <action>/etc/init.d/x11vnc stop</action>
pascal@163 931 </button>
pascal@163 932 </hbox>
pascal@163 933 </frame>
pascal@163 934 '
pascal@163 935 [ -x /usr/bin/x11vnc ] && NET_BOX="${NET_BOX}${tmp}${tmp2}"
pascal@137 936 NET_BOX="${NET_BOX}
pascal@137 937 </notebook>
pascal@137 938 "
pascal@137 939 tmp='<frame Iptables>
pascal@137 940 <hbox>
pascal@137 941 <text use-markup="true">
pascal@137 942 <label>"<b>Configuration :</b>"</label>
pascal@137 943 </text>
pascal@137 944 <entry editable="false">
pascal@137 945 <default>/etc/iptables.conf</default>
pascal@137 946 <variable>IPTABLES_CONF</variable>
pascal@137 947 </entry>
pascal@137 948 <button>
pascal@137 949 <input file icon="accessories-text-editor"></input>
pascal@137 950 <action type="lauch">leafpad $IPTABLES_CONF</action>
pascal@137 951 </button>
pascal@137 952 </hbox>
pascal@137 953 <hbox>
pascal@137 954 <button>
pascal@137 955 <label>Load</label>
pascal@137 956 <input file icon="reload"></input>
pascal@181 957 <action>cat $IPTABLES_CONF | /sbin/iptables-restore</action>
pascal@137 958 </button>
pascal@137 959 <button>
pascal@137 960 <label>Save</label>
pascal@137 961 <input file icon="go-jump"></input>
pascal@180 962 <action>/sbin/iptables-save > $IPTABLES_CONF</action>
pascal@137 963 </button>
pascal@137 964 </hbox>
pascal@137 965 </frame>
pascal@137 966 '
pascal@137 967 [ -x /sbin/iptables ] && NET_BOX="$NET_BOX${tmp}"
pascal@126 968 tmp='
pascal@141 969 <frame Ether-wake>
pascal@141 970 <hbox>
pascal@141 971 <text use-markup="true">
pascal@151 972 <label>"<b>Machines :</b>"</label>
pascal@151 973 </text>
pascal@151 974 <entry editable="false">
pascal@151 975 <default>/etc/ethers</default>
pascal@151 976 <variable>ETHERS</variable>
pascal@151 977 </entry>
pascal@151 978 <button>
pascal@151 979 <input file icon="accessories-text-editor"></input>
pascal@151 980 <action>[ -s $ETHERS ] || echo "#00:01:02:03:04:05 mystation" >$ETHERS</action>
pascal@151 981 <action type="lauch">leafpad $ETHERS</action>
pascal@151 982 </button>
pascal@151 983 </hbox>
pascal@151 984 <hbox>
pascal@151 985 <text use-markup="true">
pascal@141 986 <label>"<b>Options : </b>"</label>
pascal@141 987 </text>
pascal@141 988 <entry editable="false">
pascal@141 989 <variable>ETHERWAKE_OPTS</variable>
pascal@141 990 </entry>
pascal@141 991 <button>
pascal@141 992 <input file icon="help"></input>
pascal@141 993 <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 994 </button>
pascal@141 995 <button>
pascal@141 996 <label>Start</label>
pascal@141 997 <input file icon="forward"></input>
pascal@141 998 <action>ether-wake $ETHERWAKE_OPTS</action>
pascal@141 999 </button>
pascal@141 1000 </hbox>
pascal@141 1001 </frame>
pascal@126 1002 </notebook>
pankso@33 1003
pankso@33 1004 <hbox>
pankso@33 1005 <button>
pankso@33 1006 <label>Status</label>
pankso@33 1007 <input file icon="network-wired"></input>
pankso@33 1008 <action type="launch">IFCONFIG</action>
pankso@33 1009 </button>
pankso@33 1010 <button>
pankso@33 1011 <input file icon="exit"></input>
pankso@33 1012 <action type="exit">Exit</action>
pankso@33 1013 </button>
pankso@33 1014 </hbox>
pankso@33 1015
pankso@33 1016 </vbox>
pankso@38 1017 </window>
pankso@33 1018 '
pascal@126 1019 NET_BOX="${NET_BOX}${tmp}"
pascal@126 1020
pascal@126 1021 export NET_BOX
pascal@126 1022
pascal@163 1023 # TODO: Modules(Network kernel modules) VPN(OpenVPN)
pankso@33 1024
pankso@33 1025 # Only root can configure network.
pankso@33 1026 check_root
pascal@177 1027 # Configure and connect if button Connect was pressed.
pascal@177 1028 if ! grep -qs ^name /etc/ppp/options ; then
pascal@177 1029 # Generate /etc/ppp/options
pascal@177 1030 cat > /etc/ppp/options << _EOT_
pascal@177 1031 plugin rp-pppoe.so
pascal@177 1032 name provider-ID
pascal@177 1033 noipdefault
pascal@177 1034 defaultroute
pascal@177 1035 mtu 1492
pascal@177 1036 mru 1492
pascal@177 1037 lock
pascal@177 1038 _EOT_
pascal@177 1039 # Generate /etc/ppp/pap-secrets
pascal@177 1040 cat > /etc/ppp/pap-secrets << _EOT_
pascal@177 1041 # Secrets for authentication using PAP
pascal@177 1042 # client server secret IP addresses
pascal@177 1043 _EOT_
pascal@177 1044 # Generate /etc/ppp/chap-secrets
pascal@177 1045 cat > /etc/ppp/chap-secrets << _EOT_
pascal@177 1046 # Secrets for authentication using CHAP
pascal@177 1047 # client server secret IP addresses
pascal@177 1048 _EOT_
pascal@177 1049 fi
pankso@97 1050 gtkdialog --center --program=NET_BOX
pankso@33 1051
pankso@33 1052 exit 0