slitaz-tools annotate oldstuff/gtkdialog/netbox @ rev 1029

Remove ashism ==
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Feb 26 08:26:53 2019 +0100 (2019-02-26)
parents ae6279a453a6
children
rev   line source
pankso@33 1 #!/bin/sh
pankso@194 2 #
paul@317 3 # Gtkdialog box to manage network connections and servers.
pankso@292 4 # Please use tab to indent.
pankso@33 5 #
pankso@292 6 # (c) - SliTaz GNU/Linux 2009.
pankso@292 7 #
jozee@461 8 VERSION=20100315
jozee@461 9
jozee@461 10 . /usr/lib/slitaz/gui_functions
pankso@33 11
pankso@33 12 # Check if user is root.
pankso@33 13 check_root()
pankso@33 14 {
pankso@33 15 if test $(id -u) != 0 ; then
pankso@33 16 echo -e "
pankso@194 17 You must be root to run `basename $0`. Please type 'su' and
pankso@33 18 root password to become super-user.\n"
pankso@33 19 exit 0
pankso@33 20 fi
pankso@33 21 }
pankso@33 22
jozee@461 23
pascal@371 24 #
pankso@297 25 # Functions called by the connection tab to list interfaces.
pascal@371 26 #
pascal@371 27 ############################################################
pascal@371 28
pankso@297 29 interface_status()
pankso@297 30 {
pankso@297 31 if ifconfig | grep -A 1 $i | grep -q inet; then
pankso@297 32 ip=`ifconfig | grep -A 1 $i | grep inet | awk '{ print $2 }' | cut -d ":" -f 2`
pankso@297 33 echo "connected ($ip)"
pankso@297 34 else
pankso@297 35 echo "-"
pankso@297 36 fi
pankso@297 37 }
pankso@297 38 # First column is for icon name.
pankso@297 39 detect_interfaces()
pankso@297 40 {
pankso@297 41 for i in `ls /sys/class/net`
pankso@297 42 do
pankso@297 43 case $i in
pankso@297 44 eth*)
pankso@297 45 echo "network-wired | $i | Ethernet | `interface_status`" ;;
pankso@297 46 wlan*|ath*|ra*)
pankso@297 47 echo "network-wireless | $i | Wireless | `interface_status`" ;;
pankso@297 48 lo)
pankso@297 49 echo "gtk-network | $i | Loopback | `interface_status`" ;;
pankso@297 50 *)
pankso@297 51 continue ;;
pankso@297 52 esac
pankso@297 53 done
pankso@297 54 }
pankso@297 55
pankso@297 56 # When users double click on a connection.
pankso@297 57 interfaces_List_actions()
pankso@297 58 {
pankso@297 59 echo "$INTERFACE_LIST"
pankso@297 60 }
pankso@297 61
paul@317 62 # Netbox can be called with args.
pankso@297 63 case "$1" in
pankso@297 64 detect_interfaces|interfaces_List_actions)
pankso@297 65 $1
pankso@297 66 exit 0 ;;
pankso@297 67 *)
pankso@297 68 continue ;;
pankso@297 69 esac
pankso@297 70
pascal@177 71 set_ipup()
pascal@177 72 {
pascal@177 73 [ -f /etc/ppp/ip-up ] && return
pascal@177 74 cat > /etc/ppp/ip-up <<EOT
pascal@177 75 #!/bin/sh
pascal@177 76 exec $0 call ipup \$@
pascal@177 77 EOT
pascal@177 78 chmod +x /etc/ppp/ip-up
pascal@177 79 }
pascal@177 80
pascal@259 81 while true; do
pascal@259 82
pascal@225 83 # Detect WIFI_INTERFACE and update /etc/network.conf
pascal@224 84 . /etc/network.conf
pascal@256 85 if [ ! -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then
pascal@256 86 WIFI_INTERFACE=$(for i in /sys/class/net/*/wireless; do \
pascal@256 87 [ -d $i ] && echo $(basename $(dirname $i)) || echo wlan0; \
pascal@256 88 break; done)
pascal@224 89 [ -n "$WIFI_INTERFACE" ] && sed -i "s/^WIFI_INTERFACE=.*/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" /etc/network.conf
pascal@224 90 fi
pascal@224 91
pascal@371 92 #
pascal@371 93 # Netbox internal calls
pascal@371 94 #
pascal@371 95 #########################################################
pascal@371 96
pascal@177 97 if [ "$1" = "call" ]; then
pascal@177 98 ppp="pppd local lock notty"
pascal@177 99 pppup=""
pascal@177 100 sub=$2
pascal@177 101 shift 2
pascal@177 102 case "$sub" in
pascal@177 103 sendsshkey)
pascal@177 104 check_root
pascal@372 105 ( dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key ;
pascal@372 106 cat /etc/ssh/ssh_host_rsa_key.pub ) 2> /dev/null | \
pascal@372 107 grep ^ssh | ssh $1 "mkdir .ssh 2> /dev/null ; \
pascal@372 108 while read key; do for i in authorized_keys authorized_keys2; do \
pascal@414 109 grep -qs '\$key' .ssh/\$i || echo '\$key' >> .ssh/\$i ; done ; done ; \
pascal@372 110 chmod 700 .ssh ; chmod 600 .ssh/authorized_keys*"
pascal@177 111 exit 0;;
pascal@271 112 # OpenSSH VPN:
pascal@271 113 # PermitTunnel=point-to-point (or yes, ethernet, no)
pascal@271 114 # Tunnel="4" => tun4
pascal@271 115 # Local Client:
pascal@271 116 # # ssh -f -w 0:1 $REMOTE true => local tun0 [, remote tun1]
pascal@271 117 # # ifconfig $TUN $IP1 $IP2 netmask 255.255.255.252
pascal@271 118 # # route add $REMOTE_NETWORK $IP2
pascal@271 119 # Remote Server:
pascal@271 120 # # ifconfig $TUN $IP2 $IP1 netmask 255.255.255.252
pascal@271 121 # # route add $LOCAL_NETWORK $IP1
pascal@177 122 vpnssh) check_root
pascal@177 123 set_ipup
pascal@177 124 ps ww | grep -q "$ppp $2:$3" && exit 1
pascal@177 125 pipe="/tmp/ssh$$"
pascal@177 126 mkfifo $pipe
pascal@177 127 [ -n "$4" ] && pppup="ipparam 'addroutes,$(echo $4 | sed 's/ /,/g')'"
pascal@177 128 cat $pipe | dbclient -i /etc/dropbear/dropbear_rsa_host_key \
pascal@177 129 $1 "$ppp" | $ppp $2:$3 $pppup > $pipe
pascal@177 130 rm -f $pipe
pascal@177 131 exit 0;;
pascal@177 132 killvpnssh)
pascal@177 133 check_root
pascal@177 134 kill $(ps x | grep dbclient | grep "$ppp" | awk '{ print $1 }')
pascal@177 135 exit 0;;
pascal@177 136 ipup)
pascal@177 137 # Arg Name Example
pascal@177 138 # $1 Interface name ppp0
pascal@177 139 # $2 The tty ttyS1
pascal@177 140 # $3 The link speed 38400
pascal@177 141 # $4 Local IP number 12.34.56.78
pascal@177 142 # $5 Peer IP number 12.34.56.99
pascal@177 143 # $6 Optional ``ipparam'' value foo
pascal@177 144 iface=$1
pascal@177 145 # skip tty if present
pascal@177 146 case "$2" in [0-9]*);; *) shift; esac
pascal@177 147 peer=$4
pascal@177 148 IFS=","; set -- $(eval echo $5); unset IFS
pascal@177 149 set -- $1
pascal@177 150 if [ "$1" = "addroutes" ]; then
pascal@177 151 while [ -n "$2" ]; do
pascal@177 152 eval $(ipcalc -n $2)
pascal@177 153 eval $(ipcalc -m $2)
pascal@177 154 route add -net $NETWORK netmask $NETMASK \
pascal@177 155 gw $peer $iface
pascal@177 156 shift
pascal@177 157 done
pascal@177 158 fi
pascal@177 159 exit 0;;
pascal@177 160 esac
pascal@177 161 echo "call $sub unsupported."
pascal@177 162 exit 1
pascal@177 163 fi
pascal@177 164
pascal@371 165
pascal@371 166
pascal@371 167 #
pascal@371 168 # Status wire interfaces
pascal@371 169 #
pascal@371 170 tab_status_iface()
pascal@371 171 {
pascal@375 172 local eth
pascal@375 173 eth="$( (cd /sys/class/net ; [ -d eth0 ] && ls -d eth* ) )"
pascal@375 174 which ethtool > /dev/null || eth=''
pascal@375 175 if [ -n "$eth" ]; then
pascal@375 176 cat <<EOT
pascal@375 177 <notebook labels="Ifconfig|$(echo $eth | sed 's/ /|/g')">
pascal@375 178 EOT
pascal@375 179 fi
pascal@371 180 cat <<EOT
pascal@371 181 <frame Ifconfig>
pascal@371 182 <text wrap="false" width-chars="58">
pascal@371 183 <input>ifconfig</input>
pankso@292 184 </text>
pascal@371 185 </frame>
pascal@371 186 EOT
pascal@375 187 if [ -n "$eth" ]; then
pascal@375 188 local i
pascal@375 189 for i in $eth ; do
pascal@375 190 cat <<EOT
pascal@375 191 <frame $i>
pascal@375 192 <text wrap="false" width-chars="58">
pascal@375 193 <input>ethtool $i</input>
pascal@375 194 </text>
pascal@375 195 </frame>
pascal@375 196 EOT
pascal@375 197 done
pascal@375 198 cat <<EOT
pascal@375 199 </notebook>
pascal@375 200 EOT
pascal@375 201 fi
pascal@371 202 }
pascal@371 203
pascal@371 204 #
pascal@371 205 # Status wifi interfaces
pascal@371 206 #
pascal@371 207 tab_status_wifi_iface()
pascal@371 208 {
pascal@371 209 cat <<EOT
pascal@371 210 <frame Iwconfig>
pascal@371 211 <text wrap="false" width-chars="58">
pascal@371 212 <input>iwconfig</input>
pascal@371 213 </text>
pascal@371 214 </frame>
pascal@371 215 EOT
pascal@371 216 }
pascal@371 217
pascal@371 218 #
pascal@371 219 # Status wifi network
pascal@371 220 #
pascal@371 221 tab_status_wifi_net()
pascal@371 222 {
pascal@371 223 cat <<EOT
pascal@371 224 <frame Wireless networks>
pascal@371 225 <text wrap="false" width-chars="58">
pascal@371 226 <input>iwlist scan</input>
pascal@371 227 </text>
pascal@371 228 </frame>
pascal@371 229 EOT
pascal@371 230 }
pascal@371 231
pascal@371 232 #
pascal@371 233 # Status routing
pascal@371 234 #
pascal@371 235 tab_status_route()
pascal@371 236 {
pascal@371 237 cat <<EOT
pascal@371 238 <frame Routing>
pascal@371 239 <frame Nameservers>
pascal@371 240 <text wrap="false" width-chars="58">
pascal@371 241 <input>cat /etc/resolv.conf</input>
pankso@292 242 </text>
pankso@292 243 </frame>
pascal@371 244 <frame Routing table>
pascal@371 245 <text wrap="false" width-chars="58">
pascal@371 246 <input>route</input>
pankso@292 247 </text>
pankso@292 248 </frame>
pascal@371 249 <frame Arp table>
pascal@371 250 <text wrap="false" width-chars="58">
pascal@371 251 <input>arp</input>
pascal@371 252 </text>
pascal@371 253 </frame>
pascal@371 254 </frame>
pascal@371 255 EOT
pascal@371 256 }
pankso@194 257
pascal@371 258 data_status()
pascal@371 259 {
pascal@371 260 cat <<EOT
pascal@371 261 ifconfig Network\ interfaces tab_status_iface
pascal@371 262 iwconfig Wireless\ interfaces tab_status_wifi_iface
pascal@371 263 iwlist Wireless\ networks tab_status_wifi_net
pascal@371 264 route Routing tab_status_route
pascal@371 265 EOT
pascal@371 266 }
pascal@371 267
pankso@33 268 #
pascal@371 269 # Status
pascal@371 270 #
pascal@371 271 tab_status()
pascal@371 272 {
pascal@371 273 use_tab data_status
pascal@371 274 }
pankso@194 275
pascal@371 276 #
pankso@297 277 # Interfaces list from detect_interfaces()
pascal@371 278 #
pascal@371 279 tab_connections()
pascal@371 280 {
pascal@371 281 cat <<EOT
pankso@297 282 <vbox>
pankso@297 283 <tree>
pankso@297 284 <width>520</width><height>120</height>
pankso@297 285 <variable>INTERFACE_LIST</variable>
pankso@297 286 <label>Interface|Type|Status</label>
pascal@371 287 <input icon_column="0">$0 detect_interfaces</input>
pankso@297 288 <action>refresh:INTERFACE_LIST</action>
pankso@297 289 </tree>
pascal@371 290 </vbox>
pascal@371 291 EOT
pascal@371 292 }
pankso@297 293
pascal@371 294 #
pankso@297 295 # DHCP
pascal@371 296 #
pascal@371 297 tab_udhcpc()
pascal@371 298 {
pascal@371 299 cat <<EOT
pankso@292 300 <frame Udhcpc (busybox)>
pankso@292 301 <text width-chars="58">
pascal@371 302 <label> "Ethernet (cable) default connection." </label>
pankso@292 303 </text>
pankso@292 304 <hbox>
pankso@292 305 <text use-markup="true">
pankso@292 306 <label>"<b>Interface:</b>"</label>
pankso@292 307 </text>
pankso@292 308 <entry>
pascal@371 309 <input>. /etc/network.conf; echo "\$INTERFACE"</input>
pankso@292 310 <variable>INTERFACE</variable>
pankso@292 311 </entry>
pankso@292 312 </hbox>
pankso@292 313 <hbox>
pankso@292 314 <text use-markup="true">
pankso@292 315 <label>"<b>Options: </b>"</label>
pankso@292 316 </text>
pankso@292 317 <entry>
pankso@292 318 <default>-b</default>
pankso@292 319 <variable>UDHCPC_OPTS</variable>
pankso@292 320 </entry>
pascal@372 321 $(helpbutton udhcpc 80x30)
pankso@292 322 </hbox>
pankso@292 323 <hbox>
pankso@292 324 <text use-markup="true">
pankso@292 325 <label>"<b>Script: </b>"</label>
pankso@292 326 </text>
pankso@292 327 <entry editable="false">
pankso@292 328 <default>/usr/share/udhcpc/default.script</default>
pankso@292 329 <variable>UDHCPC_SCRIPT</variable>
pankso@292 330 </entry>
pascal@377 331 $(editbutton \$UDHCPC_SCRIPT)
pankso@292 332 </hbox>
pankso@292 333 <hbox>
pankso@292 334 <button>
pankso@292 335 <label>Start</label>
pankso@292 336 <input file icon="forward"></input>
pascal@545 337 <action>sed -i s/^INTERFACE=.*/INTERFACE=\"\$INTERFACE\"/ /etc/network.conf</action>
pascal@545 338 <action>sed -i s/^DHCP=.*/DHCP=\"yes\"/ /etc/network.conf</action>
pascal@545 339 <action>sed -i s/^STATIC=.*/STATIC=\"no\"/ /etc/network.conf</action>
pascal@371 340 <action>udhcpc \$UDHCPC_OPTS -i \$INTERFACE -p /var/run/udhcpc.\$INTERFACE.pid</action>
pankso@297 341 <action>refresh:INTERFACE_LIST</action>
pankso@292 342 </button>
pankso@292 343 <button>
pankso@292 344 <label>Stop</label>
pankso@292 345 <input file icon="stop"></input>
pascal@371 346 <action>echo -n "Stopping interface : \$INTERFACE... "</action>
pascal@371 347 <action>ifconfig \$INTERFACE down</action>
pankso@292 348 <action>killall -q udhcpc; echo "done"</action>
pankso@297 349 <action>refresh:INTERFACE_LIST</action>
pankso@292 350 </button>
pankso@292 351 </hbox>
pascal@371 352 </frame>
pascal@371 353 EOT
pascal@371 354 }
pankso@194 355
pascal@371 356 #
pankso@292 357 # Static/fixed IP settings.
pascal@371 358 #
pascal@371 359 tab_fixed_ip()
pascal@371 360 {
pascal@371 361 cat <<EOT
pankso@292 362 <frame Ethernet fixed IP>
pankso@292 363 <hbox>
pankso@292 364 <text use-markup="true">
pankso@292 365 <label>"<b>Interface: </b>"</label>
pankso@292 366 </text>
pankso@292 367 <entry>
pascal@371 368 <input>. /etc/network.conf; echo "\$INTERFACE"</input>
pankso@292 369 <variable>INTERFACE</variable>
pankso@292 370 </entry>
pankso@292 371 </hbox>
pankso@292 372 <hbox>
pankso@292 373 <text use-markup="true">
pankso@292 374 <label>"<b>IP: </b>"</label>
pankso@292 375 </text>
pankso@292 376 <entry>
pascal@371 377 <input>. /etc/network.conf; echo "\$IP"</input>
pankso@292 378 <variable>IP</variable>
pankso@292 379 </entry>
pankso@292 380 </hbox>
pankso@292 381 <hbox>
pankso@292 382 <text use-markup="true">
pankso@292 383 <label>"<b>Netmask: </b>"</label>
pankso@292 384 </text>
pankso@292 385 <entry>
pascal@371 386 <input>. /etc/network.conf; echo "\$NETMASK"</input>
pankso@292 387 <variable>NETMASK</variable>
pankso@292 388 </entry>
pankso@292 389 </hbox>
pankso@292 390 <hbox>
pankso@292 391 <text use-markup="true">
pankso@292 392 <label>"<b>Gateway: </b>"</label>
pankso@292 393 </text>
pankso@292 394 <entry>
pascal@371 395 <input>. /etc/network.conf; echo "\$GATEWAY"</input>
pankso@292 396 <variable>GATEWAY</variable>
pankso@292 397 </entry>
pankso@292 398 </hbox>
pankso@292 399 <hbox>
pankso@292 400 <text use-markup="true">
pankso@292 401 <label>"<b>DNS server: </b>"</label>
pankso@292 402 </text>
pankso@292 403 <entry>
pascal@371 404 <input>. /etc/network.conf; echo "\$DNS_SERVER"</input>
pankso@292 405 <variable>DNS_SERVER</variable>
pankso@292 406 </entry>
pascal@371 407 </hbox>
pankso@292 408 <hbox>
pankso@292 409 <button>
pankso@292 410 <label>Start</label>
pankso@292 411 <input file icon="forward"></input>
pankso@292 412 <action>ifconfig lo down</action>
pascal@371 413 <action>ifconfig \$INTERFACE down</action>
pascal@545 414 <action>sed -i s/^INTERFACE=.*/INTERFACE=\"\$INTERFACE\"/ /etc/network.conf</action>
pascal@545 415 <action>sed -i s/^DHCP=.*/DHCP=\"no\"/ /etc/network.conf</action>
pascal@545 416 <action>sed -i s/^WIFI=.*/WIFI=\"no\"/ /etc/network.conf</action>
pascal@545 417 <action>sed -i s/^STATIC=.*/STATIC=\"yes\"/ /etc/network.conf</action>
pascal@545 418 <action>sed -i s/^IP=.*/IP=\"\$IP\"/ /etc/network.conf</action>
pascal@545 419 <action>sed -i s/^NETMASK=.*/NETMASK=\"\$NETMASK\"/ /etc/network.conf</action>
pascal@545 420 <action>sed -i s/^GATEWAY=.*/GATEWAY=\"\$GATEWAY\"/ /etc/network.conf</action>
pascal@545 421 <action>sed -i s/^DNS_SERVER=.*/DNS_SERVER=\"\$DNS_SERVER\"/ /etc/network.conf</action>
pankso@292 422 <action>/etc/init.d/network.sh</action>
pankso@297 423 <action>refresh:INTERFACE_LIST</action>
pankso@292 424 </button>
pankso@292 425 <button>
pankso@292 426 <label>Stop</label>
pankso@292 427 <input file icon="stop"></input>
pascal@371 428 <action>ifconfig \$INTERFACE down</action>
pankso@297 429 <action>refresh:INTERFACE_LIST</action>
pankso@292 430 </button>
pankso@292 431 </hbox>
pascal@371 432 </frame>
pascal@371 433 EOT
pascal@371 434 }
pankso@292 435
pascal@371 436 #
domcox@726 437 # PPPoE settings.
pascal@371 438 #
pascal@371 439 tab_pppoe()
pascal@371 440 {
pascal@371 441 cat <<EOT
pankso@292 442 <frame PPPoE>
pankso@292 443 <hbox>
pankso@292 444 <text use-markup="true">
pankso@292 445 <label>"<b>Username:</b>"</label>
pankso@292 446 </text>
pankso@292 447 <entry>
domcox@726 448 <input>PPoE_ID=\$(grep -s ^name /etc/ppp/options); echo "\${PPoE_ID#* }"</input>
domcox@726 449 <variable>PPoE_ID</variable>
pankso@292 450 </entry>
pankso@292 451 </hbox>
pankso@292 452 <hbox>
pankso@292 453 <text use-markup="true">
pankso@292 454 <label>"<b>Password:</b>"</label>
pankso@292 455 </text>
pankso@292 456 <entry>
domcox@726 457 <input>PPoE_PASS=\$(ID=\$(awk '/^name/{print \$2}' /etc/ppp/options) ; \
domcox@726 458 awk -v KEY="\$ID" '\$1==KEY{print \$3}' /etc/ppp/pap-secrets); \
domcox@726 459 echo "\$PPoE_PASS"</input>
domcox@726 460 <variable>PPoE_PASS</variable>
pankso@292 461 </entry>
pankso@292 462 </hbox>
pankso@292 463 <hbox>
pascal@371 464 $(helpbutton pppd 80x30)
pascal@371 465 $(manbutton 8 pppd)
pascal@374 466 $(webbutton ppp)
pankso@292 467 <button>
pankso@292 468 <input file icon="accessories-text-editor"></input>
pankso@292 469 <label>Tune</label>
domcox@726 470 <action>[ -n "\$PPoE_ID" ] && sed -i 's/^name .*/name \$PPoE_ID/' /etc/ppp/options</action>
pankso@292 471 <action type="lauch">leafpad /etc/ppp/options</action>
pankso@292 472 </button>
pankso@292 473 <button>
pankso@292 474 <label>Start</label>
pankso@292 475 <input file icon="forward"></input>
domcox@726 476 <action>[ -n "\$PPoE_ID" ] && grep -qs "^\$PPoE_ID" /etc/ppp/pap-secrets \
domcox@726 477 || echo "\$PPoE_ID * \$PPoE_PASS" >> /etc/ppp/pap-secrets</action>
domcox@726 478 <action>[ -n "\$PPoE_ID" ] && grep -qs "^\$PPoE_ID" /etc/ppp/chap-secrets \
domcox@726 479 || echo "\$PPoE_ID * \$PPoE_PASS" >> /etc/ppp/chap-secrets</action>
domcox@726 480 <action>[ -n "\$PPoE_ID" ] && sed -i "s/^name .*/name \$PPoE_ID/" /etc/ppp/options</action>
pankso@292 481 <action>killall udhcpc</action>
domcox@726 482 <action>sed -i 's/DHCP=.*/DHCP="no"/' /etc/network.conf</action>
domcox@726 483 <action>sed -i 's/PPPOE=.*/PPPOE="yes"/' /etc/network.conf</action>
domcox@726 484 <action>. /etc/network.conf ; pppd \$INTERFACE &</action>
pankso@292 485 </button>
pankso@292 486 <button>
pankso@292 487 <label>Stop</label>
pankso@292 488 <input file icon="stop"></input>
domcox@726 489 <action>sed -i 's/PPPOE=.*/PPPOE="no"/' /etc/network.conf</action>
pankso@292 490 <action>killall pppd</action>
pankso@292 491 </button>
pankso@292 492 </hbox>
pascal@371 493 </frame>
pascal@371 494 EOT
pascal@371 495 }
pankso@292 496
pascal@371 497 #
pankso@292 498 # PPP settings.
pascal@371 499 #
pascal@371 500 tab_ppp()
pascal@371 501 {
pascal@371 502 cat <<EOT
pankso@292 503 <frame PPP>
pankso@292 504 <hbox>
pankso@292 505 <text use-markup="true">
pankso@292 506 <label>"<b>Username: </b>"</label>
pankso@292 507 </text>
pankso@292 508 <entry>
domcox@717 509 <input>NAME=\$(grep -s ^ACCOUNT= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${NAME#*=}"</input>
domcox@717 510 <variable>NAME</variable>
pankso@292 511 </entry>
pankso@292 512 </hbox>
pankso@292 513 <hbox>
pankso@292 514 <text use-markup="true">
pankso@292 515 <label>"<b>Password: </b>"</label>
pankso@292 516 </text>
pankso@292 517 <entry>
pascal@371 518 <input>PASS=\$(grep -s ^PASSWORD= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${PASS#*=}"</input>
pankso@292 519 <variable>PASS</variable>
pankso@292 520 </entry>
pankso@292 521 </hbox>
pankso@292 522 <hbox>
pankso@292 523 <text use-markup="true">
pankso@292 524 <label>"<b>Telephone:</b>"</label>
pankso@292 525 </text>
pankso@292 526 <entry>
pascal@371 527 <input>PHONE=\$(grep -s ^TELEPHONE= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${PHONE#*=}"</input>
pankso@292 528 <variable>PHONE</variable>
pankso@292 529 </entry>
pankso@292 530 </hbox>
pankso@292 531 <hbox>
pascal@371 532 $(helpbutton pppd 80x30)
pascal@371 533 $(manbutton 8 pppd)
pascal@374 534 $(webbutton ppp)
pankso@292 535 <button>
pankso@292 536 <input file icon="accessories-text-editor"></input>
pankso@292 537 <label>Tune</label>
domcox@717 538 <action>[ -n "\$NAME" ] && sed -i "s/^ACCOUNT=.*/ACCOUNT=\$NAME/" /etc/ppp/scripts/ppp-on</action>
domcox@717 539 <action>[ -n "\$PASS" ] && sed -i "s/^PASSWORD=.*/PASSWORD=\$PASS/" /etc/ppp/scripts/ppp-on</action>
domcox@717 540 <action>[ -n "\$PHONE" ] && sed -i "s/^TELEPHONE=.*/TELEPHONE=\$PHONE/" /etc/ppp/scripts/ppp-on</action>
pankso@292 541 <action type="lauch">leafpad /etc/ppp/scripts/ppp-on</action>
pankso@292 542 </button>
pankso@292 543 <button>
pankso@292 544 <label>Start</label>
pankso@292 545 <input file icon="forward"></input>
domcox@717 546 <action>[ -n "\$NAME" ] && grep -qs "^\$NAME" /etc/ppp/pap-secrets \
domcox@717 547 || echo "\$NAME * \$PASS" >> /etc/ppp/pap-secrets</action>
domcox@717 548 <action>[ -n "\$NAME" ] && grep -qs "^\$NAME" /etc/ppp/chap-secrets \
domcox@717 549 || echo "\$NAME * \$PASS" >> /etc/ppp/chap-secrets</action>
domcox@717 550 <action>[ -n "\$NAME" ] && sed -i "s/^name .*/name \$NAME/" /etc/ppp/options</action>
pankso@292 551 <action>/etc/ppp/scripts/ppp-off</action>
pankso@292 552 <action>/etc/ppp/scripts/ppp-on &</action>
pankso@292 553 </button>
pankso@292 554 <button>
pankso@292 555 <label>Stop</label>
pankso@292 556 <input file icon="stop"></input>
pankso@292 557 <action>/etc/ppp/scripts/ppp-off</action>
pankso@292 558 </button>
pankso@292 559 </hbox>
pascal@371 560 </frame>
pascal@371 561 EOT
pascal@371 562 }
pankso@292 563
pankso@292 564 #
pascal@371 565 # System Wide configuration.
pankso@292 566 #
pascal@371 567 tab_system()
pascal@371 568 {
pascal@371 569 cat <<EOT
pascal@371 570 <frame Configuration files>
pankso@33 571 <hbox>
pankso@33 572 <text use-markup="true">
pankso@34 573 <label>"<b>Hosts :</b>"</label>
pankso@33 574 </text>
pankso@33 575 <entry editable="false">
pankso@33 576 <default>/etc/hosts</default>
pankso@33 577 <variable>HOSTS</variable>
pankso@33 578 </entry>
pascal@377 579 $(editbutton \$HOSTS)
pankso@33 580 </hbox>
pankso@33 581 <hbox>
pankso@33 582 <text use-markup="true">
pankso@34 583 <label>"<b>Host name :</b>"</label>
pankso@33 584 </text>
pankso@33 585 <entry editable="false">
pankso@33 586 <default>/etc/hostname</default>
pankso@33 587 <variable>HOSTNAME</variable>
pankso@33 588 </entry>
pascal@377 589 $(editbutton \$HOSTNAME)
pankso@33 590 </hbox>
pankso@33 591 <hbox>
pankso@33 592 <text use-markup="true">
pankso@34 593 <label>"<b>Network :</b>"</label>
pankso@33 594 </text>
pankso@33 595 <entry editable="false">
pankso@33 596 <default>/etc/network.conf</default>
pankso@33 597 <variable>CONFIG_FILE</variable>
pankso@33 598 </entry>
pascal@377 599 $(editbutton \$CONFIG_FILE)
pankso@33 600 </hbox>
pankso@33 601 <hbox>
pankso@33 602 <button>
pankso@33 603 <label>Restart</label>
pankso@33 604 <input file icon="reload"></input>
pascal@371 605 <action>echo -n "Stopping interface : \$INTERFACE... "</action>
pascal@371 606 <action>ifconfig \$INTERFACE down</action>
pankso@33 607 <action>killall -q udhcpc; echo "done"</action>
pascal@261 608 <action>/etc/init.d/network.sh restart</action>
pankso@33 609 </button>
pankso@33 610 </hbox>
pascal@371 611 </frame>
pascal@371 612 EOT
pascal@371 613 }
pankso@194 614
pascal@371 615 #
pascal@371 616 # ssh/ppp
pascal@371 617 #
pascal@371 618 tab_sshppp()
pascal@371 619 {
pascal@371 620 cat <<EOT
pascal@177 621 <frame Virtual Private Network with PPP/SSH>
pascal@177 622 <hbox>
pascal@177 623 <text use-markup="true">
pascal@177 624 <label>"<b>Peer :</b>"</label>
pascal@177 625 </text>
pascal@177 626 <entry>
pascal@177 627 <variable>DROPBEAR_PEERVPN</variable>
pascal@177 628 <default>user@elsewhere</default>
pascal@177 629 </entry>
pascal@177 630 </hbox>
pascal@177 631 <hbox>
pascal@177 632 <text use-markup="true">
pascal@177 633 <label>"<b>Local IP :</b>"</label>
pascal@177 634 </text>
pascal@177 635 <entry>
pascal@177 636 <variable>DROPBEAR_LOCAL</variable>
pascal@177 637 <default>192.168.254.1</default>
pascal@177 638 </entry>
pascal@177 639 </hbox>
pascal@177 640 <hbox>
pascal@177 641 <text use-markup="true">
pascal@177 642 <label>"<b>Remote IP :</b>"</label>
pascal@177 643 </text>
pascal@177 644 <entry>
pascal@177 645 <variable>DROPBEAR_REMOTE</variable>
pascal@177 646 <default>192.168.254.2</default>
pascal@177 647 </entry>
pascal@177 648 </hbox>
pascal@177 649 <hbox>
pascal@177 650 <text use-markup="true">
pascal@177 651 <label>"<b>Route(s) :</b>"</label>
pascal@177 652 </text>
pascal@177 653 <entry>
pascal@177 654 <variable>DROPBEAR_ROUTE</variable>
pascal@177 655 <default>192.168.10.0/24 192.168.20.0/28</default>
pascal@177 656 </entry>
pascal@177 657 </hbox>
pascal@177 658 <hbox>
pascal@498 659 $(wikibutton http://doc.slitaz.org/en:guides:vpn)
pascal@247 660 <button>
pascal@177 661 <input file icon="forward"></input>
pascal@177 662 <label>Connect</label>
pascal@371 663 <action>$0 call vpnssh \$DROPBEAR_PEERVPN \$DROPBEAR_LOCAL \$DROPBEAR_REMOTE "\$DROPBEAR_ROUTE" &</action>
pascal@177 664 </button>
pascal@177 665 <button>
pascal@177 666 <input file icon="stop"></input>
pascal@177 667 <label>Disconnect</label>
pascal@371 668 <action>$0 call killvpnssh</action>
pascal@177 669 </button>
pascal@177 670 <button>
pascal@177 671 <input file icon="go-up"></input>
pascal@177 672 <label>Send key</label>
pascal@372 673 <action>$xterm -geometry 80x10 -title "Send key" -e "$0 call sendsshkey \$DROPBEAR_PEERVPN; echo -e \"----\nENTER to continue...\" && read close"</action>
pascal@177 674 </button>
pascal@177 675 </hbox>
pascal@177 676 </frame>
pascal@371 677 EOT
pascal@371 678 }
pascal@371 679
pascal@371 680 #
pascal@371 681 # PPTP client
pascal@371 682 #
pascal@371 683 #FIXME
pascal@371 684 #cat > /etc/ppp/peers/$TUNNEL <<EOT
pascal@371 685 #pty "pptp $SERVER --nolaunchpppd"
pascal@371 686 #lock
pascal@371 687 #noauth
pascal@371 688 #nobsdcomp
pascal@371 689 #nodeflate
pascal@371 690 #name $DOMAIN\\$USERNAME
pascal@371 691 #remotename $TUNNEL
pascal@371 692 #ipparam $TUNNEL
pascal@371 693 #$(encryption && echo "require-mppe-128")
pascal@371 694 #EOT
pascal@371 695 #pppd call $TUNNEL updetach
pascal@371 696
pascal@371 697 tab_pptp()
pascal@371 698 {
pascal@371 699 [ -f /etc/ppp/options.pptp ] || cat >> /etc/ppp/options.pptp <<EOT
pascal@371 700 lock noauth nobsdcomp nodeflate remotename PPTP
pascal@371 701 EOT
pascal@371 702 [ -f /etc/ppp/pptp-servers ] || cat >> /etc/ppp/pptp-servers <<EOT
pascal@371 703 # PPTP servers list
pascal@371 704 EOT
pascal@371 705 cat <<EOT
pascal@371 706 <frame Virtual Private Network with PPTP>
pascal@371 707 <hbox>
pascal@371 708 <text use-markup="true">
pascal@371 709 <label>"<b>Server:</b>"</label>
pascal@371 710 </text>
pascal@371 711 <combobox>
pascal@371 712 <variable>PPTP_SERVER</variable>
pascal@371 713 EOT
pascal@371 714 grep -v ^\# /etc/ppp/pptp-servers | \
pascal@371 715 awk '{ printf " <item>%s</item>\n",$1 }'
pascal@371 716 cat <<EOT
pascal@371 717 <item>SERVER</item>
pascal@371 718 </combobox>
pascal@377 719 $(editbutton /etc/ppp/pptp-servers)
pascal@371 720 </hbox>
pascal@371 721 <hbox>
pascal@371 722 <text use-markup="true">
pascal@371 723 <label>"<b> User:</b>"</label>
pascal@371 724 </text>
pascal@371 725 <combobox>
pascal@371 726 <variable>PPTP_USER</variable>
pascal@371 727 EOT
pascal@371 728 grep '\\' /etc/ppp/chap-secrets | grep -v ^\# | \
pascal@371 729 awk '{ printf " <item>%s</item>\n",$1 }'
pascal@371 730 cat <<EOT
pascal@371 731 <item>DOMAIN\USERNAME</item>
pascal@371 732 </combobox>
pascal@377 733 $(editbutton /etc/ppp/chap-secrets)
pascal@371 734 </hbox>
pascal@371 735 <hbox>
pascal@371 736 <text use-markup="true">
pascal@371 737 <label>"<b>Password:</b>"</label>
pascal@371 738 </text>
pascal@371 739 <entry>
pascal@371 740 <variable>PPTP_PASS</variable>
pascal@371 741 </entry>
pascal@371 742 </hbox>
pascal@371 743 <hbox>
pascal@371 744 <checkbox>
pascal@371 745 <label>Encryption</label>
pascal@371 746 <variable>PPTP_ENC</variable>
pascal@371 747 <default>true</default>
pascal@371 748 </checkbox>
pascal@371 749 $(helpbutton pptp 80x35)
pascal@371 750 <button>
pascal@371 751 <input file icon="accessories-text-editor"></input>
pascal@371 752 <label>Options</label>
pascal@371 753 <action type="lauch">leafpad /etc/ppp/options.pptp</action>
pascal@371 754 </button>
pascal@374 755 $(webbutton pptpclient)
pascal@371 756 <button>
pascal@371 757 <input file icon="forward"></input>
pascal@371 758 <label>Connect</label>
pascal@371 759 <action>grep -qs ^\$PPTP_USER /etc/ppp/chap-secrets || \
pascal@371 760 echo "\$PPTP_USER PPTP \"$PPTP_PASS\" *" >> /etc/ppp/chap-secrets</action>
pascal@371 761 <action>grep -qs ^\$PPTP_SERVER /etc/ppp/pptp-servers || \
pascal@371 762 echo "\$PPTP_SERVER" >> /etc/ppp/pptp-servers</action>
pascal@371 763 <action>PASS=""; [ -n "\$PPTP_PASS" ] && PASS="password \$PASS"; \
pascal@1029 764 ENC=""; [ x\$PPTP_ENC = xtrue ] && ENC="require-mppe-128"; \
pascal@371 765 /usr/sbin/pptp \$PPTP_SERVER file /etc/ppp/options.pptp \$ENC user \$PPTP_USER \$PASS &
pascal@371 766 </action>
pascal@371 767 </button>
pascal@371 768 <button>
pascal@371 769 <input file icon="stop"></input>
pascal@371 770 <label>Disconnect</label>
pascal@371 771 <action>killall pptp</action>
pascal@371 772 </button>
pascal@371 773 </hbox>
pascal@371 774 </frame>
pascal@371 775 EOT
pascal@371 776 }
pascal@371 777
pascal@374 778 #
pascal@374 779 # Cisco EasyVPN
pascal@374 780 #
pascal@374 781 tab_easyvpn()
pascal@374 782 {
pascal@374 783 cat <<EOT
pascal@374 784 <frame Cisco EasyVPN>
pascal@374 785 <hbox>
pascal@374 786 <text use-markup="true">
pascal@374 787 <label>"<b>VPNC_OPTIONS</b>"</label>
pascal@374 788 </text>
pascal@374 789 <entry editable="false">
pascal@374 790 EOT
pascal@374 791 [ -n "$VPNC_OPTIONS" ] && cat << EOT
pascal@374 792 <default>$tmp</default>
pascal@374 793 EOT
pascal@374 794 cat << EOT
pascal@374 795 <variable>VPNC_OPTS</variable>
pascal@374 796 </entry>
pascal@374 797 $(helpbutton vpnc 80x30)
pascal@374 798 <button>
pascal@374 799 <input file icon="help"></input>
pascal@374 800 <label>more</label>
pascal@374 801 <action>$xterm -geometry 80x40 -title "vpnc help (q to quit)" -e "$(which vpnc) --long-help 2>&1 | less"</action>
pascal@374 802 </button>
pascal@374 803 $(editbutton /etc/daemons.conf)
pascal@374 804 </hbox>
pascal@374 805 $(configfile /etc/vpnc/default.conf VPNC_CONF)
pascal@374 806 $(datafile "/etc/vpnc/vpnc-script" VPNC_SCRIPT 'Script:')
pascal@374 807 <hbox>
pascal@374 808 $(startstopdaemon vpnc)
pascal@374 809 </hbox>
pascal@374 810 </frame>
pascal@374 811 EOT
pascal@374 812 }
pascal@374 813
pascal@375 814 #
pascal@375 815 # OpenVPN
pascal@375 816 #
pascal@375 817 tab_openvpn()
pascal@375 818 {
pascal@375 819 local i
pascal@375 820 local n
pascal@375 821 cat <<EOT
pascal@375 822 <frame OpenVPN>
pascal@375 823 EOT
pascal@375 824 n=1
pascal@375 825 for i in /etc/openvpn/*.conf ; do
pascal@375 826 [ -f $i ] || continue
pascal@375 827 configfile $i OPENVPN_CONF$n
pascal@375 828 n=$(($n + 1))
pascal@375 829 done
pascal@375 830 cat <<EOT
pascal@375 831 <hbox>
pascal@375 832 $(helpbutton openvpn 80x40)
pascal@375 833 $(startstopdaemon openvpn)
pascal@375 834 </hbox>
pascal@375 835 </frame>
pascal@375 836 EOT
pascal@375 837 }
pascal@375 838
pascal@371 839 data_vpn()
pascal@371 840 {
pascal@371 841 cat <<EOT
pascal@371 842 $([ -x /usr/sbin/dropbear -o -x /usr/sbin/sshd ] && echo "pppd" ||
pascal@371 843 echo "#") PPP/SSH tab_sshppp
pascal@371 844 pptp PPTP tab_pptp
pascal@374 845 vpnc EasyVPN tab_easyvpn
pascal@375 846 openvpn OpenVPN tab_openvpn
pascal@371 847 EOT
pascal@371 848 }
pascal@371 849
pascal@371 850 #
pascal@371 851 # VPN
pascal@371 852 #
pascal@371 853 tab_vpn()
pascal@371 854 {
pascal@371 855 use_tab data_vpn
pascal@371 856 }
pascal@272 857
pascal@371 858 #
pascal@371 859 # ether-wake
pascal@371 860 #
pascal@371 861 tab_etherwake()
pascal@371 862 {
pascal@371 863 cat <<EOT
pascal@271 864 <frame Ether-wake (busybox)>
pascal@141 865 <hbox>
pascal@141 866 <text use-markup="true">
pascal@151 867 <label>"<b>Machines :</b>"</label>
pascal@151 868 </text>
pascal@151 869 <entry editable="false">
pascal@151 870 <default>/etc/ethers</default>
pascal@151 871 <variable>ETHERS</variable>
pascal@151 872 </entry>
pascal@151 873 <button>
pascal@151 874 <input file icon="accessories-text-editor"></input>
pascal@372 875 <action>[ -s \$ETHERS ] || echo "#00:01:02:03:04:05 mystation" >\$ETHERS</action>
pascal@371 876 <action type="lauch">leafpad \$ETHERS</action>
pascal@151 877 </button>
pascal@151 878 </hbox>
pascal@151 879 <hbox>
pascal@151 880 <text use-markup="true">
pascal@141 881 <label>"<b>Options : </b>"</label>
pascal@141 882 </text>
pascal@271 883 <entry editable="true">
pascal@141 884 <variable>ETHERWAKE_OPTS</variable>
pascal@371 885 </entry>
pascal@371 886 $(helpbutton ether-wake 80x15)
pascal@371 887 <button>
pascal@371 888 <label>Start</label>
pascal@371 889 <input file icon="forward"></input>
pascal@371 890 <action>ether-wake \$ETHERWAKE_OPTS</action>
pascal@371 891 </button>
pascal@371 892 </hbox>
pascal@375 893 <frame>
pascal@375 894 <hbox>
pascal@375 895 EOT
pascal@375 896 if which ethtool > /dev/null; then
pascal@375 897 cat <<EOT
pascal@375 898 <text use-markup="true">
pascal@375 899 <label>"<b>Interface:</b>"</label>
pascal@375 900 </text>
pascal@375 901 <combobox>
pascal@375 902 <variable>ETHERWAKE_ETH</variable>
pascal@375 903 EOT
pascal@375 904 (cd /sys/class/net ; [ -d eth0 ] && ls -d eth* ) | \
pascal@375 905 awk '{ printf " <item>%s</item>\n",$1 }'
pascal@375 906 cat <<EOT
pascal@375 907 </combobox>
pascal@375 908 <button>
pascal@375 909 <label>Enable Wake On LAN</label>
pascal@375 910 <input file icon="forward"></input>
pascal@375 911 <action>ethtool -s \$ETHERWAKE_ETH wok g</action>
pascal@375 912 </button>
pascal@375 913 EOT
pascal@375 914 else
pascal@375 915 cat <<EOT
pascal@375 916 <vbox>
pascal@375 917 <text wrap="true" width-chars="58">
pascal@375 918 <label>
paul@398 919 "Ethtool can enable the Wake-on-lan
paul@378 920 feature on many Ethernet cards.
pascal@375 921 "
pascal@375 922 </label>
pascal@375 923 </text>
pascal@375 924 $(installbox ethtool)
pascal@375 925 </vbox>
pascal@375 926 EOT
pascal@375 927 fi
pascal@375 928 cat <<EOT
pascal@375 929 </hbox>
pascal@375 930 </frame>
pascal@371 931 </frame>
pascal@371 932 EOT
pascal@371 933 }
pankso@33 934
pascal@371 935 data_main()
pascal@371 936 {
pascal@371 937 cat <<EOT
pascal@371 938 #program tab name function
pascal@371 939 ifconfig Connections tab_connections
pascal@371 940 udhcpc DHCP tab_udhcpc
pascal@371 941 ifconfig Static\ IP tab_fixed_ip
pascal@371 942 pppoe PPPoE tab_pppoe
pascal@371 943 pppd PPP tab_ppp
pascal@371 944 true VPN tab_vpn
pascal@371 945 ether-wake Etherwake tab_etherwake
jozee@461 946 true Configuration tab_system
pascal@371 947 EOT
pascal@371 948 }
pascal@371 949
pascal@371 950 tab_main()
pascal@371 951 {
pascal@371 952 use_tab data_main
pascal@371 953 }
pascal@371 954
pascal@371 955 ######################################################
pascal@371 956 #
pascal@371 957 # Netbox GUI
pascal@371 958 #
pascal@371 959 ######################################################
pascal@371 960
pascal@371 961 # English/French help dialog.
pascal@371 962 export HELP='
pascal@371 963 <window title="Network status" icon-name="network-wire">
pascal@371 964 <vbox>
pascal@371 965 <text use-markup="true">
pascal@371 966 <label>
pascal@371 967 "
pascal@371 968 <b>SliTaz - Netbox</b>"
pascal@371 969 </label>
pascal@371 970 </text>
pascal@371 971 <frame English>
pascal@371 972 <text wrap="true" width-chars="58">
pascal@371 973 <label>
pascal@371 974 "Netbox lets you manage network connections by getting a dynamic IP by
pascal@371 975 DHCP or a static IP and setup servers. Netbox can start or stop
pascal@371 976 networking, configure network interfaces or directly edit files."
pascal@371 977 </label>
pascal@371 978 </text>
pascal@371 979 </frame>
pascal@371 980 <frame Francais>
pascal@371 981 <text wrap="true" width-chars="58">
pascal@371 982 <label>
pascal@371 983 "Netbox vous permet de gerer les connexions reseau avec une IP
pascal@371 984 statique ou en obtenant une IP dynamique par DHCP, et de parametrer
pascal@371 985 les serveurs. Netbox peut demarrer ou arreter le reseau, configurer
pascal@371 986 les interfaces reseau ou editer directement les fichiers."
pascal@371 987 </label>
pascal@371 988 </text>
pascal@371 989 </frame>
pascal@371 990 </vbox>
pascal@371 991 </window>
pascal@371 992 '
pascal@371 993
pascal@371 994 # Interface status with ifconfig without arguments to show all
pascal@371 995 # active connections.
pascal@371 996 #
pascal@371 997 export IFCONFIG="
pascal@371 998 <window title=\"Network status\" icon-name=\"network-wire\">
pascal@371 999 <vbox>
pascal@371 1000 $(tab_status)
pascal@371 1001 <hbox>
pascal@371 1002 <button>
pascal@371 1003 <input file icon=\"gtk-close\"></input>
pascal@371 1004 <action type=\"closewindow\">IFCONFIG</action>
pascal@371 1005 </button>
pascal@371 1006 </hbox>
pascal@371 1007 </vbox>
pascal@371 1008 </window>"
pascal@371 1009
pascal@371 1010 # The main dialog with notebook, start/stop buttons and all options.
pascal@371 1011 # Note that /etc/network.conf is seded when an interface is activated.
pascal@371 1012 #
pascal@371 1013 head='
pascal@371 1014 <window title="SliTaz Netbox Manager" icon-name="network-wired">
pascal@371 1015 <vbox>
pascal@371 1016
pascal@371 1017 <hbox>
pascal@371 1018 <text use-markup="true">
jozee@461 1019 <label>"<b>Network Manager</b>"</label>
pascal@371 1020 </text>
pascal@371 1021 <pixmap>
pascal@371 1022 <input file>/usr/share/pixmaps/netbox.png</input>
pascal@371 1023 </pixmap>
pascal@371 1024 </hbox>
pascal@371 1025 '
pascal@371 1026 bottom='
pankso@297 1027 <hbox>
pankso@297 1028 <button>
pankso@297 1029 <label>Wireless manager</label>
pankso@297 1030 <input file icon="network-wireless"></input>
pankso@297 1031 <action>wifibox &</action>
pankso@297 1032 </button>
pankso@297 1033 <button>
pankso@297 1034 <label>Refresh list</label>
pankso@297 1035 <input file icon="reload"></input>
pankso@297 1036 <action>refresh:INTERFACE_LIST</action>
pankso@297 1037 </button>
pankso@297 1038 <button>
pankso@297 1039 <label>Full status</label>
pankso@297 1040 <input file icon="dialog-information"></input>
pankso@297 1041 <action type="launch">IFCONFIG</action>
pankso@297 1042 </button>
pankso@297 1043 <button help>
pankso@297 1044 <label>Help</label>
pankso@297 1045 <action type="launch">HELP</action>
pankso@297 1046 </button>
pankso@297 1047 <button>
pankso@297 1048 <label>Quit</label>
pankso@297 1049 <input file icon="exit"></input>
pankso@297 1050 <action type="exit">Exit</action>
pankso@297 1051 </button>
pankso@297 1052 </hbox>
pankso@194 1053
pankso@297 1054 </vbox>
pankso@38 1055 </window>
pankso@33 1056 '
pascal@371 1057
pascal@371 1058 NET_BOX="${head}$(tab_main)${bottom}"
pascal@126 1059
pascal@126 1060 export NET_BOX
pascal@126 1061
pascal@371 1062 # TODO: Modules(Network kernel modules)
pankso@33 1063
pankso@33 1064 # Only root can configure network.
pankso@33 1065 check_root
pankso@297 1066
pascal@177 1067 # Configure and connect if button Connect was pressed.
pascal@177 1068 if ! grep -qs ^name /etc/ppp/options ; then
pascal@177 1069 # Generate /etc/ppp/options
pascal@177 1070 cat > /etc/ppp/options << _EOT_
pascal@177 1071 plugin rp-pppoe.so
pascal@177 1072 name provider-ID
pascal@177 1073 noipdefault
pascal@177 1074 defaultroute
pascal@177 1075 mtu 1492
pascal@177 1076 mru 1492
pascal@177 1077 lock
pascal@177 1078 _EOT_
pascal@177 1079 # Generate /etc/ppp/pap-secrets
pascal@177 1080 cat > /etc/ppp/pap-secrets << _EOT_
pascal@177 1081 # Secrets for authentication using PAP
pascal@177 1082 # client server secret IP addresses
pascal@177 1083 _EOT_
pascal@177 1084 # Generate /etc/ppp/chap-secrets
pascal@177 1085 cat > /etc/ppp/chap-secrets << _EOT_
pascal@177 1086 # Secrets for authentication using CHAP
pascal@177 1087 # client server secret IP addresses
pascal@177 1088 _EOT_
pascal@177 1089 fi
pascal@259 1090 gtkdialog --center --program=NET_BOX | grep -a 'EXIT="restart"' && continue
pankso@33 1091 exit 0
pascal@259 1092 done