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 #
|
pascal@371
|
8 VERSION=20090812
|
pankso@33
|
9
|
pankso@33
|
10 # Check if user is root.
|
pankso@33
|
11 check_root()
|
pankso@33
|
12 {
|
pankso@33
|
13 if test $(id -u) != 0 ; then
|
pankso@33
|
14 echo -e "
|
pankso@194
|
15 You must be root to run `basename $0`. Please type 'su' and
|
pankso@33
|
16 root password to become super-user.\n"
|
pankso@33
|
17 exit 0
|
pankso@33
|
18 fi
|
pankso@33
|
19 }
|
pankso@33
|
20
|
pascal@371
|
21 #
|
pankso@297
|
22 # Functions called by the connection tab to list interfaces.
|
pascal@371
|
23 #
|
pascal@371
|
24 ############################################################
|
pascal@371
|
25
|
pankso@297
|
26 interface_status()
|
pankso@297
|
27 {
|
pankso@297
|
28 if ifconfig | grep -A 1 $i | grep -q inet; then
|
pankso@297
|
29 ip=`ifconfig | grep -A 1 $i | grep inet | awk '{ print $2 }' | cut -d ":" -f 2`
|
pankso@297
|
30 echo "connected ($ip)"
|
pankso@297
|
31 else
|
pankso@297
|
32 echo "-"
|
pankso@297
|
33 fi
|
pankso@297
|
34 }
|
pankso@297
|
35 # First column is for icon name.
|
pankso@297
|
36 detect_interfaces()
|
pankso@297
|
37 {
|
pankso@297
|
38 for i in `ls /sys/class/net`
|
pankso@297
|
39 do
|
pankso@297
|
40 case $i in
|
pankso@297
|
41 eth*)
|
pankso@297
|
42 echo "network-wired | $i | Ethernet | `interface_status`" ;;
|
pankso@297
|
43 wlan*|ath*|ra*)
|
pankso@297
|
44 echo "network-wireless | $i | Wireless | `interface_status`" ;;
|
pankso@297
|
45 lo)
|
pankso@297
|
46 echo "gtk-network | $i | Loopback | `interface_status`" ;;
|
pankso@297
|
47 *)
|
pankso@297
|
48 continue ;;
|
pankso@297
|
49 esac
|
pankso@297
|
50
|
pankso@297
|
51 done
|
pankso@297
|
52 }
|
pankso@297
|
53
|
pankso@297
|
54 # When users double click on a connection.
|
pankso@297
|
55 interfaces_List_actions()
|
pankso@297
|
56 {
|
pankso@297
|
57 echo "$INTERFACE_LIST"
|
pankso@297
|
58 }
|
pankso@297
|
59
|
paul@317
|
60 # Netbox can be called with args.
|
pankso@297
|
61 case "$1" in
|
pankso@297
|
62 detect_interfaces|interfaces_List_actions)
|
pankso@297
|
63 $1
|
pankso@297
|
64 exit 0 ;;
|
pankso@297
|
65 *)
|
pankso@297
|
66 continue ;;
|
pankso@297
|
67 esac
|
pankso@297
|
68
|
pascal@371
|
69 #
|
pankso@297
|
70 # GUI functions
|
pascal@371
|
71 #
|
pascal@371
|
72 ############################################################
|
pascal@371
|
73
|
pascal@372
|
74 xterm="xterm -fa MiscFixed -fs 11 -bg gray93 -fg black"
|
pascal@271
|
75 helpbutton()
|
pascal@271
|
76 {
|
pascal@271
|
77 local label;
|
pascal@271
|
78 label="<label>$3</label>"
|
pascal@271
|
79 [ -n "$3" ] || label=""
|
pascal@271
|
80 cat << EOT
|
pankso@292
|
81 <button>
|
pankso@292
|
82 <input file icon="help"></input>$label
|
pascal@375
|
83 <action>$xterm -geometry $2 -title "$1 help (q to quit)" -e "( echo ; $(which $1) --help 2>&1 ) | less"</action>
|
pankso@292
|
84 </button>
|
pascal@271
|
85 EOT
|
pascal@271
|
86 }
|
pascal@271
|
87
|
pascal@272
|
88 editbutton()
|
pascal@271
|
89 {
|
pascal@271
|
90 cat << EOT
|
pankso@292
|
91 <button>
|
pankso@292
|
92 <input file icon="accessories-text-editor"></input>
|
pankso@292
|
93 <action type="lauch">leafpad $1</action>
|
pankso@292
|
94 </button>
|
pascal@271
|
95 EOT
|
pascal@271
|
96 }
|
pascal@271
|
97
|
pascal@271
|
98 manbutton()
|
pascal@271
|
99 {
|
pascal@271
|
100 cat << EOT
|
pankso@292
|
101 <button>
|
pankso@292
|
102 <input file icon="browser"></input>
|
pankso@292
|
103 <label>man</label>
|
pascal@372
|
104 <action>$xterm -geometry 80x24 -title "$2 man (q to quit)" -e ". /etc/profile; man $1 $2"</action>
|
pankso@292
|
105 </button>
|
pascal@271
|
106 EOT
|
pascal@271
|
107 }
|
pascal@271
|
108
|
pascal@272
|
109 helpdaemon()
|
pascal@271
|
110 {
|
pascal@271
|
111 cat << EOT
|
pankso@292
|
112 <hbox>
|
pankso@292
|
113 <text use-markup="true">
|
pankso@292
|
114 <label>"<b>$3</b>"</label>
|
pankso@292
|
115 </text>
|
pankso@292
|
116 <entry editable="false">
|
pascal@272
|
117 EOT
|
pascal@272
|
118 eval tmp=\$$3
|
pascal@272
|
119 [ -n "$tmp" ] && cat << EOT
|
pankso@292
|
120 <default>$tmp</default>
|
pascal@272
|
121 EOT
|
pascal@272
|
122 cat << EOT
|
pankso@292
|
123 <variable>$4</variable>
|
pankso@292
|
124 </entry>
|
pascal@272
|
125 EOT
|
pascal@272
|
126 [ -n "$6" ] || cat << EOT
|
pascal@272
|
127 $(helpbutton $1 $2)
|
pascal@272
|
128 EOT
|
pascal@272
|
129 [ -n "$5" ] && cat << EOT
|
pascal@272
|
130 $(manbutton $5 $1)
|
pascal@272
|
131 EOT
|
pascal@272
|
132 cat << EOT
|
pascal@272
|
133 $(editbutton /etc/daemons.conf)
|
pankso@292
|
134 </hbox>
|
pascal@272
|
135 EOT
|
pascal@272
|
136 }
|
pascal@272
|
137
|
pascal@272
|
138 datafile()
|
pascal@272
|
139 {
|
pascal@272
|
140 cat << EOT
|
pankso@292
|
141 <hbox>
|
pankso@292
|
142 <text use-markup="true">
|
pankso@292
|
143 <label>"<b>$3</b>"</label>
|
pankso@292
|
144 </text>
|
pankso@292
|
145 <entry editable="false">
|
pascal@272
|
146 EOT
|
pascal@272
|
147 [ -n "$1" ] && cat << EOT
|
pankso@292
|
148 <default>$1</default>
|
pascal@272
|
149 EOT
|
pascal@272
|
150 cat << EOT
|
pankso@292
|
151 <variable>$2</variable>
|
pankso@292
|
152 </entry>
|
pascal@272
|
153 EOT
|
pascal@272
|
154 [ -n "$4" ] && cat << EOT
|
pascal@272
|
155 $(manbutton $4)
|
pascal@272
|
156 EOT
|
pascal@272
|
157 cat << EOT
|
pascal@272
|
158 $(editbutton \$$2)
|
pankso@292
|
159 </hbox>
|
pascal@272
|
160 EOT
|
pascal@272
|
161 }
|
pascal@272
|
162
|
pascal@272
|
163 configfile()
|
pascal@272
|
164 {
|
pankso@297
|
165 datafile "$1" $2 'Configuration:' "$3"
|
pascal@272
|
166 }
|
pascal@272
|
167
|
pascal@372
|
168 BROWSER=''
|
pascal@372
|
169 for i in firefox opera dillo midori netsurf links ; do
|
pascal@373
|
170 which $i > /dev/null && BROWSER="$i" && break
|
pascal@372
|
171 done
|
pascal@372
|
172 case "$BROWSER" in
|
pascal@372
|
173 links) BROWSER="links -g ";;
|
pascal@372
|
174 esac
|
pascal@372
|
175
|
pascal@272
|
176 webbutton()
|
pascal@272
|
177 {
|
pascal@372
|
178 [ -f "/var/lib/tazpkg/installed/$1/receipt" ] &&
|
pascal@372
|
179 [ -n "$BROWSER" ] && cat << EOT
|
pankso@292
|
180 <button>
|
pankso@292
|
181 <input file icon="browser"></input>
|
pankso@292
|
182 <label>web</label>
|
pascal@372
|
183 <action>. /var/lib/tazpkg/installed/$1/receipt ; $BROWSER \$WEB_SITE &</action>
|
pankso@292
|
184 </button>
|
pascal@271
|
185 EOT
|
pascal@271
|
186 }
|
pascal@271
|
187
|
pascal@372
|
188 wikibutton()
|
pascal@372
|
189 {
|
pascal@372
|
190 [ -n "$BROWSER" ] && cat <<EOT
|
pascal@372
|
191 <button>
|
pascal@372
|
192 <input file icon="browser"></input>
|
pascal@372
|
193 <label>Wiki</label>
|
pascal@372
|
194 <action>$BROWSER $1 &</action>
|
pascal@372
|
195 </button>
|
pascal@372
|
196 EOT
|
pascal@372
|
197 }
|
pascal@372
|
198
|
pascal@271
|
199 startstopdaemon()
|
pascal@271
|
200 {
|
pascal@272
|
201 local pkg
|
pascal@272
|
202 pkg=$1
|
pascal@272
|
203 [ -n "$2" ] && pkg=$2
|
pascal@272
|
204 webbutton $pkg
|
pascal@271
|
205 cat << EOT
|
pankso@292
|
206 <button>
|
pankso@292
|
207 <label>Start</label>
|
pankso@292
|
208 <input file icon="forward"></input>
|
pankso@292
|
209 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)$1 \?\\(.*\\)\\"/RUN_DAEMONS=\\"\1\2\\"/" /etc/rcS.conf</action>
|
pankso@292
|
210 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)\\"/RUN_DAEMONS=\\"$1 \1\\"/" /etc/rcS.conf</action>
|
pankso@292
|
211 <action>/etc/init.d/$1 start</action>
|
pankso@292
|
212 </button>
|
pankso@292
|
213 <button>
|
pankso@292
|
214 <label>Stop</label>
|
pankso@292
|
215 <input file icon="stop"></input>
|
pankso@292
|
216 <action>sed -i "s/RUN_DAEMONS=\\"\\(.*\\)$1 \?\\(.*\\)\\"/RUN_DAEMONS=\\"\1\2\\"/" /etc/rcS.conf</action>
|
pankso@292
|
217 <action>/etc/init.d/$1 stop</action>
|
pankso@292
|
218 </button>
|
pascal@271
|
219 EOT
|
pascal@271
|
220 }
|
pascal@271
|
221
|
pascal@272
|
222 installbox()
|
pascal@272
|
223 {
|
pascal@272
|
224 cat << EOT
|
pankso@292
|
225 <hbox>
|
pankso@292
|
226 <text wrap="true" use-markup="true">
|
pankso@292
|
227 <label>"<i>The package <b>$1</b> is not yet installed</i>"</label>
|
pankso@292
|
228 </text>
|
pankso@292
|
229 <button>
|
pankso@292
|
230 <input file icon="go-jump"></input>
|
pankso@292
|
231 <label>Install</label>
|
pascal@372
|
232 <action>$xterm -geometry 80x17 -title "$1 install" -e "yes y | tazpkg get-install $1 ; echo -e \"----\n\nENTER to continue...\" && read close"</action>
|
pankso@292
|
233 <action type="exit">restart</action>
|
pankso@292
|
234 </button>
|
pankso@292
|
235 </hbox>
|
pascal@272
|
236 EOT
|
pascal@272
|
237 }
|
pascal@272
|
238
|
pascal@177
|
239 set_ipup()
|
pascal@177
|
240 {
|
pascal@177
|
241 [ -f /etc/ppp/ip-up ] && return
|
pascal@177
|
242 cat > /etc/ppp/ip-up <<EOT
|
pascal@177
|
243 #!/bin/sh
|
pascal@177
|
244 exec $0 call ipup \$@
|
pascal@177
|
245 EOT
|
pascal@177
|
246 chmod +x /etc/ppp/ip-up
|
pascal@177
|
247 }
|
pascal@177
|
248
|
pascal@259
|
249 while true; do
|
pascal@259
|
250
|
pascal@225
|
251 # Detect WIFI_INTERFACE and update /etc/network.conf
|
pascal@224
|
252 . /etc/network.conf
|
pascal@256
|
253 if [ ! -d /sys/class/net/$WIFI_INTERFACE/wireless ]; then
|
pascal@256
|
254 WIFI_INTERFACE=$(for i in /sys/class/net/*/wireless; do \
|
pascal@256
|
255 [ -d $i ] && echo $(basename $(dirname $i)) || echo wlan0; \
|
pascal@256
|
256 break; done)
|
pascal@224
|
257 [ -n "$WIFI_INTERFACE" ] && sed -i "s/^WIFI_INTERFACE=.*/WIFI_INTERFACE=\"$WIFI_INTERFACE\"/" /etc/network.conf
|
pascal@224
|
258 fi
|
pascal@224
|
259
|
pascal@371
|
260 #
|
pascal@371
|
261 # Netbox internal calls
|
pascal@371
|
262 #
|
pascal@371
|
263 #########################################################
|
pascal@371
|
264
|
pascal@177
|
265 if [ "$1" = "call" ]; then
|
pascal@177
|
266 ppp="pppd local lock notty"
|
pascal@177
|
267 pppup=""
|
pascal@177
|
268 sub=$2
|
pascal@177
|
269 shift 2
|
pascal@177
|
270 case "$sub" in
|
pascal@177
|
271 sendsshkey)
|
pascal@177
|
272 check_root
|
pascal@372
|
273 ( dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key ;
|
pascal@372
|
274 cat /etc/ssh/ssh_host_rsa_key.pub ) 2> /dev/null | \
|
pascal@372
|
275 grep ^ssh | ssh $1 "mkdir .ssh 2> /dev/null ; \
|
pascal@372
|
276 while read key; do for i in authorized_keys authorized_keys2; do \
|
pascal@372
|
277 grep -q \$key .ssh/\$i || echo \$key >> .ssh/\$i ; done ; done ; \
|
pascal@372
|
278 chmod 700 .ssh ; chmod 600 .ssh/authorized_keys*"
|
pascal@177
|
279 exit 0;;
|
pascal@271
|
280 # OpenSSH VPN:
|
pascal@271
|
281 # PermitTunnel=point-to-point (or yes, ethernet, no)
|
pascal@271
|
282 # Tunnel="4" => tun4
|
pascal@271
|
283 # Local Client:
|
pascal@271
|
284 # # ssh -f -w 0:1 $REMOTE true => local tun0 [, remote tun1]
|
pascal@271
|
285 # # ifconfig $TUN $IP1 $IP2 netmask 255.255.255.252
|
pascal@271
|
286 # # route add $REMOTE_NETWORK $IP2
|
pascal@271
|
287 # Remote Server:
|
pascal@271
|
288 # # ifconfig $TUN $IP2 $IP1 netmask 255.255.255.252
|
pascal@271
|
289 # # route add $LOCAL_NETWORK $IP1
|
pascal@177
|
290 vpnssh) check_root
|
pascal@177
|
291 set_ipup
|
pascal@177
|
292 ps ww | grep -q "$ppp $2:$3" && exit 1
|
pascal@177
|
293 pipe="/tmp/ssh$$"
|
pascal@177
|
294 mkfifo $pipe
|
pascal@177
|
295 [ -n "$4" ] && pppup="ipparam 'addroutes,$(echo $4 | sed 's/ /,/g')'"
|
pascal@177
|
296 cat $pipe | dbclient -i /etc/dropbear/dropbear_rsa_host_key \
|
pascal@177
|
297 $1 "$ppp" | $ppp $2:$3 $pppup > $pipe
|
pascal@177
|
298 rm -f $pipe
|
pascal@177
|
299 exit 0;;
|
pascal@177
|
300 killvpnssh)
|
pascal@177
|
301 check_root
|
pascal@177
|
302 kill $(ps x | grep dbclient | grep "$ppp" | awk '{ print $1 }')
|
pascal@177
|
303 exit 0;;
|
pascal@177
|
304 ipup)
|
pascal@177
|
305 # Arg Name Example
|
pascal@177
|
306 # $1 Interface name ppp0
|
pascal@177
|
307 # $2 The tty ttyS1
|
pascal@177
|
308 # $3 The link speed 38400
|
pascal@177
|
309 # $4 Local IP number 12.34.56.78
|
pascal@177
|
310 # $5 Peer IP number 12.34.56.99
|
pascal@177
|
311 # $6 Optional ``ipparam'' value foo
|
pascal@177
|
312 iface=$1
|
pascal@177
|
313 # skip tty if present
|
pascal@177
|
314 case "$2" in [0-9]*);; *) shift; esac
|
pascal@177
|
315 peer=$4
|
pascal@177
|
316 IFS=","; set -- $(eval echo $5); unset IFS
|
pascal@177
|
317 set -- $1
|
pascal@177
|
318 if [ "$1" = "addroutes" ]; then
|
pascal@177
|
319 while [ -n "$2" ]; do
|
pascal@177
|
320 eval $(ipcalc -n $2)
|
pascal@177
|
321 eval $(ipcalc -m $2)
|
pascal@177
|
322 route add -net $NETWORK netmask $NETMASK \
|
pascal@177
|
323 gw $peer $iface
|
pascal@177
|
324 shift
|
pascal@177
|
325 done
|
pascal@177
|
326 fi
|
pascal@177
|
327 exit 0;;
|
pascal@177
|
328 esac
|
pascal@177
|
329 echo "call $sub unsupported."
|
pascal@177
|
330 exit 1
|
pascal@177
|
331 fi
|
pascal@177
|
332
|
pascal@371
|
333 #
|
pascal@371
|
334 # Tab display engine
|
pascal@371
|
335 #
|
pascal@371
|
336 ######################################################
|
pascal@371
|
337
|
pascal@371
|
338 use_tab()
|
pascal@371
|
339 {
|
pascal@371
|
340 local tmp=''
|
pascal@371
|
341 case "$2" in
|
pascal@371
|
342 header|body)
|
pascal@371
|
343 $1 | while read exe name call; do
|
pascal@371
|
344 case "$exe" in
|
pascal@371
|
345 \#*) continue;;
|
pascal@371
|
346 esac
|
pascal@371
|
347 which $exe > /dev/null || continue
|
pascal@371
|
348 if [ "$2" == "header" ]; then
|
pascal@371
|
349 echo -n "$tmp$name"
|
pascal@371
|
350 tmp='|'
|
pascal@371
|
351 else
|
pascal@371
|
352 $call
|
pascal@371
|
353 fi
|
pascal@371
|
354 done
|
pascal@371
|
355 ;;
|
pascal@371
|
356 *)
|
pascal@371
|
357 tmp=$(use_tab $1 header)
|
pascal@371
|
358 echo "$tmp" | grep -q \| && cat <<EOT
|
pascal@371
|
359 <notebook labels="$tmp">
|
pascal@371
|
360 EOT
|
pascal@371
|
361 [ -n "$tmp" ] && cat <<EOT
|
pascal@371
|
362 $(use_tab $1 body)
|
pascal@371
|
363 EOT
|
pascal@371
|
364 echo "$tmp" | grep -q \| && cat <<EOT
|
pascal@371
|
365 </notebook>
|
pascal@371
|
366 EOT
|
pascal@371
|
367 ;;
|
pascal@371
|
368 esac
|
pascal@371
|
369 }
|
pascal@371
|
370
|
pascal@371
|
371 #
|
pascal@371
|
372 # Status wire interfaces
|
pascal@371
|
373 #
|
pascal@371
|
374 tab_status_iface()
|
pascal@371
|
375 {
|
pascal@375
|
376 local eth
|
pascal@375
|
377 eth="$( (cd /sys/class/net ; [ -d eth0 ] && ls -d eth* ) )"
|
pascal@375
|
378 which ethtool > /dev/null || eth=''
|
pascal@375
|
379 if [ -n "$eth" ]; then
|
pascal@375
|
380 cat <<EOT
|
pascal@375
|
381 <notebook labels="Ifconfig|$(echo $eth | sed 's/ /|/g')">
|
pascal@375
|
382 EOT
|
pascal@375
|
383 fi
|
pascal@371
|
384 cat <<EOT
|
pascal@371
|
385 <frame Ifconfig>
|
pascal@371
|
386 <text wrap="false" width-chars="58">
|
pascal@371
|
387 <input>ifconfig</input>
|
pankso@292
|
388 </text>
|
pascal@371
|
389 </frame>
|
pascal@371
|
390 EOT
|
pascal@375
|
391 if [ -n "$eth" ]; then
|
pascal@375
|
392 local i
|
pascal@375
|
393 for i in $eth ; do
|
pascal@375
|
394 cat <<EOT
|
pascal@375
|
395 <frame $i>
|
pascal@375
|
396 <text wrap="false" width-chars="58">
|
pascal@375
|
397 <input>ethtool $i</input>
|
pascal@375
|
398 </text>
|
pascal@375
|
399 </frame>
|
pascal@375
|
400 EOT
|
pascal@375
|
401 done
|
pascal@375
|
402 cat <<EOT
|
pascal@375
|
403 </notebook>
|
pascal@375
|
404 EOT
|
pascal@375
|
405 fi
|
pascal@371
|
406 }
|
pascal@371
|
407
|
pascal@371
|
408 #
|
pascal@371
|
409 # Status wifi interfaces
|
pascal@371
|
410 #
|
pascal@371
|
411 tab_status_wifi_iface()
|
pascal@371
|
412 {
|
pascal@371
|
413 cat <<EOT
|
pascal@371
|
414 <frame Iwconfig>
|
pascal@371
|
415 <text wrap="false" width-chars="58">
|
pascal@371
|
416 <input>iwconfig</input>
|
pascal@371
|
417 </text>
|
pascal@371
|
418 </frame>
|
pascal@371
|
419 EOT
|
pascal@371
|
420 }
|
pascal@371
|
421
|
pascal@371
|
422 #
|
pascal@371
|
423 # Status wifi network
|
pascal@371
|
424 #
|
pascal@371
|
425 tab_status_wifi_net()
|
pascal@371
|
426 {
|
pascal@371
|
427 cat <<EOT
|
pascal@371
|
428 <frame Wireless networks>
|
pascal@371
|
429 <text wrap="false" width-chars="58">
|
pascal@371
|
430 <input>iwlist scan</input>
|
pascal@371
|
431 </text>
|
pascal@371
|
432 </frame>
|
pascal@371
|
433 EOT
|
pascal@371
|
434 }
|
pascal@371
|
435
|
pascal@371
|
436 #
|
pascal@371
|
437 # Status routing
|
pascal@371
|
438 #
|
pascal@371
|
439 tab_status_route()
|
pascal@371
|
440 {
|
pascal@371
|
441 cat <<EOT
|
pascal@371
|
442 <frame Routing>
|
pascal@371
|
443 <frame Nameservers>
|
pascal@371
|
444 <text wrap="false" width-chars="58">
|
pascal@371
|
445 <input>cat /etc/resolv.conf</input>
|
pankso@292
|
446 </text>
|
pankso@292
|
447 </frame>
|
pascal@371
|
448 <frame Routing table>
|
pascal@371
|
449 <text wrap="false" width-chars="58">
|
pascal@371
|
450 <input>route</input>
|
pankso@292
|
451 </text>
|
pankso@292
|
452 </frame>
|
pascal@371
|
453 <frame Arp table>
|
pascal@371
|
454 <text wrap="false" width-chars="58">
|
pascal@371
|
455 <input>arp</input>
|
pascal@371
|
456 </text>
|
pascal@371
|
457 </frame>
|
pascal@371
|
458 </frame>
|
pascal@371
|
459 EOT
|
pascal@371
|
460 }
|
pankso@194
|
461
|
pankso@33
|
462 #
|
pascal@371
|
463 # Status servers
|
pascal@371
|
464 #
|
pascal@371
|
465 tab_status_servers()
|
pascal@371
|
466 {
|
pascal@372
|
467 local servers
|
pascal@372
|
468 servers="dropbear sshd inetd dhcpd dnsd named rsync httpd mbd vnc pppd knock"
|
pascal@371
|
469 cat <<EOT
|
pascal@371
|
470 <frame Servers>
|
pascal@371
|
471 <text wrap="false" width-chars="58">
|
pascal@372
|
472 <input>for i in $servers; do ps ww | grep \$i | grep -v grep | fold -s; done</input>
|
pascal@371
|
473 </text>
|
pascal@371
|
474 </frame>
|
pascal@371
|
475 EOT
|
pascal@371
|
476 }
|
pankso@33
|
477
|
pascal@371
|
478 data_status()
|
pascal@371
|
479 {
|
pascal@371
|
480 cat <<EOT
|
pascal@371
|
481 ifconfig Network\ interfaces tab_status_iface
|
pascal@371
|
482 iwconfig Wireless\ interfaces tab_status_wifi_iface
|
pascal@371
|
483 iwlist Wireless\ networks tab_status_wifi_net
|
pascal@371
|
484 route Routing tab_status_route
|
pascal@371
|
485 ps Servers tab_status_servers
|
pascal@371
|
486 EOT
|
pascal@371
|
487 }
|
pascal@371
|
488
|
pankso@33
|
489 #
|
pascal@371
|
490 # Status
|
pascal@371
|
491 #
|
pascal@371
|
492 tab_status()
|
pascal@371
|
493 {
|
pascal@371
|
494 use_tab data_status
|
pascal@371
|
495 }
|
pankso@194
|
496
|
pascal@371
|
497 #
|
pankso@297
|
498 # Interfaces list from detect_interfaces()
|
pascal@371
|
499 #
|
pascal@371
|
500 tab_connections()
|
pascal@371
|
501 {
|
pascal@371
|
502 cat <<EOT
|
pankso@297
|
503 <vbox>
|
pankso@297
|
504 <tree>
|
pankso@297
|
505 <width>520</width><height>120</height>
|
pankso@297
|
506 <variable>INTERFACE_LIST</variable>
|
pankso@297
|
507 <label>Interface|Type|Status</label>
|
pascal@371
|
508 <input icon_column="0">$0 detect_interfaces</input>
|
pankso@297
|
509 <action>refresh:INTERFACE_LIST</action>
|
pankso@297
|
510 </tree>
|
pascal@371
|
511 </vbox>
|
pascal@371
|
512 EOT
|
pascal@371
|
513 }
|
pankso@297
|
514
|
pascal@371
|
515 #
|
pankso@297
|
516 # DHCP
|
pascal@371
|
517 #
|
pascal@371
|
518 tab_udhcpc()
|
pascal@371
|
519 {
|
pascal@371
|
520 cat <<EOT
|
pankso@292
|
521 <frame Udhcpc (busybox)>
|
pankso@292
|
522 <text width-chars="58">
|
pascal@371
|
523 <label> "Ethernet (cable) default connection." </label>
|
pankso@292
|
524 </text>
|
pankso@292
|
525 <hbox>
|
pankso@292
|
526 <text use-markup="true">
|
pankso@292
|
527 <label>"<b>Interface:</b>"</label>
|
pankso@292
|
528 </text>
|
pankso@292
|
529 <entry>
|
pascal@371
|
530 <input>. /etc/network.conf; echo "\$INTERFACE"</input>
|
pankso@292
|
531 <variable>INTERFACE</variable>
|
pankso@292
|
532 </entry>
|
pankso@292
|
533 </hbox>
|
pankso@292
|
534 <hbox>
|
pankso@292
|
535 <text use-markup="true">
|
pankso@292
|
536 <label>"<b>Options: </b>"</label>
|
pankso@292
|
537 </text>
|
pankso@292
|
538 <entry>
|
pankso@292
|
539 <default>-b</default>
|
pankso@292
|
540 <variable>UDHCPC_OPTS</variable>
|
pankso@292
|
541 </entry>
|
pascal@372
|
542 $(helpbutton udhcpc 80x30)
|
pankso@292
|
543 </hbox>
|
pankso@292
|
544 <hbox>
|
pankso@292
|
545 <text use-markup="true">
|
pankso@292
|
546 <label>"<b>Script: </b>"</label>
|
pankso@292
|
547 </text>
|
pankso@292
|
548 <entry editable="false">
|
pankso@292
|
549 <default>/usr/share/udhcpc/default.script</default>
|
pankso@292
|
550 <variable>UDHCPC_SCRIPT</variable>
|
pankso@292
|
551 </entry>
|
pankso@292
|
552 <button>
|
pankso@292
|
553 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
554 <action type="lauch">leafpad \$UDHCPC_SCRIPT</action>
|
pankso@292
|
555 </button>
|
pankso@292
|
556 </hbox>
|
pankso@292
|
557 <hbox>
|
pankso@292
|
558 <button>
|
pankso@292
|
559 <label>Start</label>
|
pankso@292
|
560 <input file icon="forward"></input>
|
pascal@371
|
561 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE="\$INTERFACE"/ /etc/network.conf</action>
|
pascal@371
|
562 <action>sed -i s/DHCP="no"/DHCP="yes"/ /etc/network.conf</action>
|
pascal@371
|
563 <action>sed -i s/STATIC="yes"/STATIC="no"/ /etc/network.conf</action>
|
pascal@371
|
564 <action>udhcpc \$UDHCPC_OPTS -i \$INTERFACE -p /var/run/udhcpc.\$INTERFACE.pid</action>
|
pankso@297
|
565 <action>refresh:INTERFACE_LIST</action>
|
pankso@292
|
566 </button>
|
pankso@292
|
567 <button>
|
pankso@292
|
568 <label>Stop</label>
|
pankso@292
|
569 <input file icon="stop"></input>
|
pascal@371
|
570 <action>echo -n "Stopping interface : \$INTERFACE... "</action>
|
pascal@371
|
571 <action>ifconfig \$INTERFACE down</action>
|
pankso@292
|
572 <action>killall -q udhcpc; echo "done"</action>
|
pankso@297
|
573 <action>refresh:INTERFACE_LIST</action>
|
pankso@292
|
574 </button>
|
pankso@292
|
575 </hbox>
|
pascal@371
|
576 </frame>
|
pascal@371
|
577 EOT
|
pascal@371
|
578 }
|
pankso@194
|
579
|
pascal@371
|
580 #
|
pankso@292
|
581 # Static/fixed IP settings.
|
pascal@371
|
582 #
|
pascal@371
|
583 tab_fixed_ip()
|
pascal@371
|
584 {
|
pascal@371
|
585 cat <<EOT
|
pankso@292
|
586 <frame Ethernet fixed IP>
|
pankso@292
|
587 <hbox>
|
pankso@292
|
588 <text use-markup="true">
|
pankso@292
|
589 <label>"<b>Interface: </b>"</label>
|
pankso@292
|
590 </text>
|
pankso@292
|
591 <entry>
|
pascal@371
|
592 <input>. /etc/network.conf; echo "\$INTERFACE"</input>
|
pankso@292
|
593 <variable>INTERFACE</variable>
|
pankso@292
|
594 </entry>
|
pankso@292
|
595 </hbox>
|
pankso@292
|
596 <hbox>
|
pankso@292
|
597 <text use-markup="true">
|
pankso@292
|
598 <label>"<b>IP: </b>"</label>
|
pankso@292
|
599 </text>
|
pankso@292
|
600 <entry>
|
pascal@371
|
601 <input>. /etc/network.conf; echo "\$IP"</input>
|
pankso@292
|
602 <variable>IP</variable>
|
pankso@292
|
603 </entry>
|
pankso@292
|
604 </hbox>
|
pankso@292
|
605 <hbox>
|
pankso@292
|
606 <text use-markup="true">
|
pankso@292
|
607 <label>"<b>Netmask: </b>"</label>
|
pankso@292
|
608 </text>
|
pankso@292
|
609 <entry>
|
pascal@371
|
610 <input>. /etc/network.conf; echo "\$NETMASK"</input>
|
pankso@292
|
611 <variable>NETMASK</variable>
|
pankso@292
|
612 </entry>
|
pankso@292
|
613 </hbox>
|
pankso@292
|
614 <hbox>
|
pankso@292
|
615 <text use-markup="true">
|
pankso@292
|
616 <label>"<b>Gateway: </b>"</label>
|
pankso@292
|
617 </text>
|
pankso@292
|
618 <entry>
|
pascal@371
|
619 <input>. /etc/network.conf; echo "\$GATEWAY"</input>
|
pankso@292
|
620 <variable>GATEWAY</variable>
|
pankso@292
|
621 </entry>
|
pankso@292
|
622 </hbox>
|
pankso@292
|
623 <hbox>
|
pankso@292
|
624 <text use-markup="true">
|
pankso@292
|
625 <label>"<b>DNS server: </b>"</label>
|
pankso@292
|
626 </text>
|
pankso@292
|
627 <entry>
|
pascal@371
|
628 <input>. /etc/network.conf; echo "\$DNS_SERVER"</input>
|
pankso@292
|
629 <variable>DNS_SERVER</variable>
|
pankso@292
|
630 </entry>
|
pascal@371
|
631 </hbox>
|
pankso@292
|
632 <hbox>
|
pankso@292
|
633 <button>
|
pankso@292
|
634 <label>Start</label>
|
pankso@292
|
635 <input file icon="forward"></input>
|
pankso@292
|
636 <action>ifconfig lo down</action>
|
pascal@371
|
637 <action>ifconfig \$INTERFACE down</action>
|
pascal@371
|
638 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE="\$INTERFACE"/ /etc/network.conf</action>
|
pascal@371
|
639 <action>sed -i s/DHCP="yes"/DHCP="no"/ /etc/network.conf</action>
|
pascal@371
|
640 <action>sed -i s/WIFI="yes"/WIFI="no"/ /etc/network.conf</action>
|
pascal@371
|
641 <action>sed -i s/STATIC="no"/STATIC="yes"/ /etc/network.conf</action>
|
pascal@371
|
642 <action>sed -i s/`cat /etc/network.conf | grep ^IP=`/IP="\$IP"/ /etc/network.conf</action>
|
pascal@371
|
643 <action>sed -i s/`cat /etc/network.conf | grep ^NETMASK=`/NETMASK="\$NETMASK"/ /etc/network.conf</action>
|
pascal@371
|
644 <action>sed -i s/`cat /etc/network.conf | grep ^GATEWAY=`/GATEWAY="\$GATEWAY"/ /etc/network.conf</action>
|
pascal@371
|
645 <action>sed -i s/`cat /etc/network.conf | grep ^DNS_SERVER=`/DNS_SERVER="\$DNS_SERVER"/ /etc/network.conf</action>
|
pankso@292
|
646 <action>/etc/init.d/network.sh</action>
|
pankso@297
|
647 <action>refresh:INTERFACE_LIST</action>
|
pankso@292
|
648 </button>
|
pankso@292
|
649 <button>
|
pankso@292
|
650 <label>Stop</label>
|
pankso@292
|
651 <input file icon="stop"></input>
|
pascal@371
|
652 <action>ifconfig \$INTERFACE down</action>
|
pankso@297
|
653 <action>refresh:INTERFACE_LIST</action>
|
pankso@292
|
654 </button>
|
pankso@292
|
655 </hbox>
|
pascal@371
|
656 </frame>
|
pascal@371
|
657 EOT
|
pascal@371
|
658 }
|
pankso@292
|
659
|
pascal@371
|
660 #
|
pankso@292
|
661 # PPPoe settings.
|
pascal@371
|
662 #
|
pascal@371
|
663 tab_pppoe()
|
pascal@371
|
664 {
|
pascal@371
|
665 cat <<EOT
|
pankso@292
|
666 <frame PPPoE>
|
pankso@292
|
667 <hbox>
|
pankso@292
|
668 <text use-markup="true">
|
pankso@292
|
669 <label>"<b>Name: </b>"</label>
|
pankso@292
|
670 </text>
|
pankso@292
|
671 <entry>
|
pascal@371
|
672 <input>NAME=\$(grep -s ^name /etc/ppp/options); echo "\${NAME#* }"</input>
|
pankso@292
|
673 <variable>NAME</variable>
|
pankso@292
|
674 </entry>
|
pankso@292
|
675 </hbox>
|
pankso@292
|
676 <hbox>
|
pankso@292
|
677 <text use-markup="true">
|
pankso@292
|
678 <label>"<b>Username:</b>"</label>
|
pankso@292
|
679 </text>
|
pankso@292
|
680 <entry>
|
pankso@292
|
681 <variable>USER</variable>
|
pankso@292
|
682 </entry>
|
pankso@292
|
683 </hbox>
|
pankso@292
|
684 <hbox>
|
pankso@292
|
685 <text use-markup="true">
|
pankso@292
|
686 <label>"<b>Password:</b>"</label>
|
pankso@292
|
687 </text>
|
pankso@292
|
688 <entry>
|
pankso@292
|
689 <variable>PASS</variable>
|
pankso@292
|
690 </entry>
|
pankso@292
|
691 </hbox>
|
pankso@292
|
692 <hbox>
|
pascal@371
|
693 $(helpbutton pppd 80x30)
|
pascal@371
|
694 $(manbutton 8 pppd)
|
pascal@374
|
695 $(webbutton ppp)
|
pankso@292
|
696 <button>
|
pankso@292
|
697 <input file icon="accessories-text-editor"></input>
|
pankso@292
|
698 <label>Tune</label>
|
pascal@371
|
699 <action>[ -n "\$NAME" ] && sed -i "s/^name .*/name \$NAME/" /etc/ppp/options</action>
|
pankso@292
|
700 <action type="lauch">leafpad /etc/ppp/options</action>
|
pankso@292
|
701 </button>
|
pankso@292
|
702 <button>
|
pankso@292
|
703 <label>Start</label>
|
pankso@292
|
704 <input file icon="forward"></input>
|
pascal@371
|
705 <action>[ -n "\$USER" ] && grep -qs "^\"\$USER\"" /etc/ppp/pap-secrets
|
pascal@371
|
706 && echo "\"\$USER\" * \"\$PASS\"" >> /etc/ppp/pap-secrets</action>
|
pascal@371
|
707 <action>[ -n "\$USER" ] && grep -qs "^\"\$USER\"" /etc/ppp/chap-secrets
|
pascal@371
|
708 && echo "\"\$USER\" * \"\$PASS\"" >> /etc/ppp/chap-secrets</action>
|
pascal@371
|
709 <action>[ -n "\$NAME" ] && sed -i "s/^name .*/name \$NAME/" /etc/ppp/options</action>
|
pankso@292
|
710 <action>killall udhcpc</action>
|
pankso@292
|
711 <action>sed -i "s/DHCP=\"yes\"/DHCP=\"no\"/" /etc/network.conf</action>
|
pankso@292
|
712 <action>sed -i "s/PPPOE=\"no\"/PPPOE=\"yes\"/" /etc/network.conf</action>
|
pascal@371
|
713 <action>pppd \$INTERFACE &</action>
|
pankso@292
|
714 </button>
|
pankso@292
|
715 <button>
|
pankso@292
|
716 <label>Stop</label>
|
pankso@292
|
717 <input file icon="stop"></input>
|
pankso@292
|
718 <action>sed -i "s/PPPOE=\"yes\"/PPPOE=\"no\"/" /etc/network.conf</action>
|
pankso@292
|
719 <action>killall pppd</action>
|
pankso@292
|
720 </button>
|
pankso@292
|
721 </hbox>
|
pascal@371
|
722 </frame>
|
pascal@371
|
723 EOT
|
pascal@371
|
724 }
|
pankso@292
|
725
|
pascal@371
|
726 #
|
pankso@292
|
727 # PPP settings.
|
pascal@371
|
728 #
|
pascal@371
|
729 tab_ppp()
|
pascal@371
|
730 {
|
pascal@371
|
731 cat <<EOT
|
pankso@292
|
732 <frame PPP>
|
pankso@292
|
733 <hbox>
|
pankso@292
|
734 <text use-markup="true">
|
pankso@292
|
735 <label>"<b>Username: </b>"</label>
|
pankso@292
|
736 </text>
|
pankso@292
|
737 <entry>
|
pascal@371
|
738 <input>USER=\$(grep -s ^ACCOUNT= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${USER#*=}"</input>
|
pankso@292
|
739 <variable>USER</variable>
|
pankso@292
|
740 </entry>
|
pankso@292
|
741 </hbox>
|
pankso@292
|
742 <hbox>
|
pankso@292
|
743 <text use-markup="true">
|
pankso@292
|
744 <label>"<b>Password: </b>"</label>
|
pankso@292
|
745 </text>
|
pankso@292
|
746 <entry>
|
pascal@371
|
747 <input>PASS=\$(grep -s ^PASSWORD= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${PASS#*=}"</input>
|
pankso@292
|
748 <variable>PASS</variable>
|
pankso@292
|
749 </entry>
|
pankso@292
|
750 </hbox>
|
pankso@292
|
751 <hbox>
|
pankso@292
|
752 <text use-markup="true">
|
pankso@292
|
753 <label>"<b>Telephone:</b>"</label>
|
pankso@292
|
754 </text>
|
pankso@292
|
755 <entry>
|
pascal@371
|
756 <input>PHONE=\$(grep -s ^TELEPHONE= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${PHONE#*=}"</input>
|
pankso@292
|
757 <variable>PHONE</variable>
|
pankso@292
|
758 </entry>
|
pankso@292
|
759 </hbox>
|
pankso@292
|
760 <hbox>
|
pascal@371
|
761 $(helpbutton pppd 80x30)
|
pascal@371
|
762 $(manbutton 8 pppd)
|
pascal@374
|
763 $(webbutton ppp)
|
pankso@292
|
764 <button>
|
pankso@292
|
765 <input file icon="accessories-text-editor"></input>
|
pankso@292
|
766 <label>Tune</label>
|
pascal@371
|
767 <action>[ -n "\$NAME" ] && sed -i "s/^ACCOUNT=.*/ACCOUNT=\$NAME/" /etc/ppp/scripts/ppp-on</action>
|
pascal@371
|
768 <action>[ -n "\$PASS" ] && sed -i "s/^PASSWORD=.*/PASSWORD=\$PASS/" /etc/ppp/scripts/ppp-on</action>
|
pascal@371
|
769 <action>[ -n "\$PHONE" ] && sed -i "s/^TELEPHONE=.*/TELEPHONE=\$PHONE/" /etc/ppp/scripts/ppp-on</action>
|
pankso@292
|
770 <action type="lauch">leafpad /etc/ppp/scripts/ppp-on</action>
|
pankso@292
|
771 </button>
|
pankso@292
|
772 <button>
|
pankso@292
|
773 <label>Start</label>
|
pankso@292
|
774 <input file icon="forward"></input>
|
pascal@371
|
775 <action>[ -n "\$USER" ] && grep -qs "^\"\$USER\"" /etc/ppp/pap-secrets
|
pascal@371
|
776 && echo "\"\$USER\" * \"\$PASS\"" >> /etc/ppp/pap-secrets</action>
|
pascal@371
|
777 <action>[ -n "\$USER" ] && grep -qs "^\"\$USER\"" /etc/ppp/chap-secrets
|
pascal@371
|
778 && echo "\"\$USER\" * \"\$PASS\"" >> /etc/ppp/chap-secrets</action>
|
pascal@371
|
779 <action>[ -n "\$NAME" ] && sed -i "s/^name .*/name \$NAME/" /etc/ppp/options</action>
|
pankso@292
|
780 <action>/etc/ppp/scripts/ppp-off</action>
|
pankso@292
|
781 <action>/etc/ppp/scripts/ppp-on &</action>
|
pankso@292
|
782 </button>
|
pankso@292
|
783 <button>
|
pankso@292
|
784 <label>Stop</label>
|
pankso@292
|
785 <input file icon="stop"></input>
|
pankso@292
|
786 <action>/etc/ppp/scripts/ppp-off</action>
|
pankso@292
|
787 </button>
|
pankso@292
|
788 </hbox>
|
pascal@371
|
789 </frame>
|
pascal@371
|
790 EOT
|
pascal@371
|
791 }
|
pankso@292
|
792
|
pankso@292
|
793 #
|
pascal@371
|
794 # System Wide configuration.
|
pankso@292
|
795 #
|
pascal@371
|
796 tab_system()
|
pascal@371
|
797 {
|
pascal@371
|
798 cat <<EOT
|
pascal@371
|
799 <frame Configuration files>
|
pankso@33
|
800 <hbox>
|
pankso@33
|
801 <text use-markup="true">
|
pankso@34
|
802 <label>"<b>Hosts :</b>"</label>
|
pankso@33
|
803 </text>
|
pankso@33
|
804 <entry editable="false">
|
pankso@33
|
805 <default>/etc/hosts</default>
|
pankso@33
|
806 <variable>HOSTS</variable>
|
pankso@33
|
807 </entry>
|
pankso@33
|
808 <button>
|
pankso@33
|
809 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
810 <action type="lauch">leafpad \$HOSTS</action>
|
pankso@33
|
811 </button>
|
pankso@33
|
812 </hbox>
|
pankso@33
|
813 <hbox>
|
pankso@33
|
814 <text use-markup="true">
|
pankso@34
|
815 <label>"<b>Host name :</b>"</label>
|
pankso@33
|
816 </text>
|
pankso@33
|
817 <entry editable="false">
|
pankso@33
|
818 <default>/etc/hostname</default>
|
pankso@33
|
819 <variable>HOSTNAME</variable>
|
pankso@33
|
820 </entry>
|
pankso@33
|
821 <button>
|
pankso@33
|
822 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
823 <action type="lauch">leafpad \$HOSTNAME</action>
|
pankso@33
|
824 </button>
|
pankso@33
|
825 </hbox>
|
pankso@33
|
826 <hbox>
|
pankso@33
|
827 <text use-markup="true">
|
pankso@34
|
828 <label>"<b>Network :</b>"</label>
|
pankso@33
|
829 </text>
|
pankso@33
|
830 <entry editable="false">
|
pankso@33
|
831 <default>/etc/network.conf</default>
|
pankso@33
|
832 <variable>CONFIG_FILE</variable>
|
pankso@33
|
833 </entry>
|
pankso@33
|
834 <button>
|
pankso@33
|
835 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
836 <action type="lauch">leafpad \$CONFIG_FILE</action>
|
pankso@33
|
837 </button>
|
pankso@33
|
838 </hbox>
|
pankso@33
|
839 <hbox>
|
pankso@33
|
840 <button>
|
pankso@33
|
841 <label>Restart</label>
|
pankso@33
|
842 <input file icon="reload"></input>
|
pascal@371
|
843 <action>echo -n "Stopping interface : \$INTERFACE... "</action>
|
pascal@371
|
844 <action>ifconfig \$INTERFACE down</action>
|
pankso@33
|
845 <action>killall -q udhcpc; echo "done"</action>
|
pascal@261
|
846 <action>/etc/init.d/network.sh restart</action>
|
pankso@33
|
847 </button>
|
pankso@33
|
848 </hbox>
|
pascal@371
|
849 </frame>
|
pascal@371
|
850 EOT
|
pascal@371
|
851 }
|
pankso@194
|
852
|
pascal@371
|
853 #
|
pascal@371
|
854 # ssh/ppp
|
pascal@371
|
855 #
|
pascal@371
|
856 tab_sshppp()
|
pascal@371
|
857 {
|
pascal@371
|
858 cat <<EOT
|
pascal@177
|
859 <frame Virtual Private Network with PPP/SSH>
|
pascal@177
|
860 <hbox>
|
pascal@177
|
861 <text use-markup="true">
|
pascal@177
|
862 <label>"<b>Peer :</b>"</label>
|
pascal@177
|
863 </text>
|
pascal@177
|
864 <entry>
|
pascal@177
|
865 <variable>DROPBEAR_PEERVPN</variable>
|
pascal@177
|
866 <default>user@elsewhere</default>
|
pascal@177
|
867 </entry>
|
pascal@177
|
868 </hbox>
|
pascal@177
|
869 <hbox>
|
pascal@177
|
870 <text use-markup="true">
|
pascal@177
|
871 <label>"<b>Local IP :</b>"</label>
|
pascal@177
|
872 </text>
|
pascal@177
|
873 <entry>
|
pascal@177
|
874 <variable>DROPBEAR_LOCAL</variable>
|
pascal@177
|
875 <default>192.168.254.1</default>
|
pascal@177
|
876 </entry>
|
pascal@177
|
877 </hbox>
|
pascal@177
|
878 <hbox>
|
pascal@177
|
879 <text use-markup="true">
|
pascal@177
|
880 <label>"<b>Remote IP :</b>"</label>
|
pascal@177
|
881 </text>
|
pascal@177
|
882 <entry>
|
pascal@177
|
883 <variable>DROPBEAR_REMOTE</variable>
|
pascal@177
|
884 <default>192.168.254.2</default>
|
pascal@177
|
885 </entry>
|
pascal@177
|
886 </hbox>
|
pascal@177
|
887 <hbox>
|
pascal@177
|
888 <text use-markup="true">
|
pascal@177
|
889 <label>"<b>Route(s) :</b>"</label>
|
pascal@177
|
890 </text>
|
pascal@177
|
891 <entry>
|
pascal@177
|
892 <variable>DROPBEAR_ROUTE</variable>
|
pascal@177
|
893 <default>192.168.10.0/24 192.168.20.0/28</default>
|
pascal@177
|
894 </entry>
|
pascal@177
|
895 </hbox>
|
pascal@177
|
896 <hbox>
|
pascal@372
|
897 $(wikibutton http://wiki.slitaz.org/doku.php?id=quickstart:vpn)
|
pascal@247
|
898 <button>
|
pascal@177
|
899 <input file icon="forward"></input>
|
pascal@177
|
900 <label>Connect</label>
|
pascal@371
|
901 <action>$0 call vpnssh \$DROPBEAR_PEERVPN \$DROPBEAR_LOCAL \$DROPBEAR_REMOTE "\$DROPBEAR_ROUTE" &</action>
|
pascal@177
|
902 </button>
|
pascal@177
|
903 <button>
|
pascal@177
|
904 <input file icon="stop"></input>
|
pascal@177
|
905 <label>Disconnect</label>
|
pascal@371
|
906 <action>$0 call killvpnssh</action>
|
pascal@177
|
907 </button>
|
pascal@177
|
908 <button>
|
pascal@177
|
909 <input file icon="go-up"></input>
|
pascal@177
|
910 <label>Send key</label>
|
pascal@372
|
911 <action>$xterm -geometry 80x10 -title "Send key" -e "$0 call sendsshkey \$DROPBEAR_PEERVPN; echo -e \"----\nENTER to continue...\" && read close"</action>
|
pascal@177
|
912 </button>
|
pascal@177
|
913 </hbox>
|
pascal@177
|
914 </frame>
|
pascal@371
|
915 EOT
|
pascal@371
|
916 }
|
pascal@371
|
917
|
pascal@371
|
918 #
|
pascal@371
|
919 # PPTP client
|
pascal@371
|
920 #
|
pascal@371
|
921 #FIXME
|
pascal@371
|
922 #cat > /etc/ppp/peers/$TUNNEL <<EOT
|
pascal@371
|
923 #pty "pptp $SERVER --nolaunchpppd"
|
pascal@371
|
924 #lock
|
pascal@371
|
925 #noauth
|
pascal@371
|
926 #nobsdcomp
|
pascal@371
|
927 #nodeflate
|
pascal@371
|
928 #name $DOMAIN\\$USERNAME
|
pascal@371
|
929 #remotename $TUNNEL
|
pascal@371
|
930 #ipparam $TUNNEL
|
pascal@371
|
931 #$(encryption && echo "require-mppe-128")
|
pascal@371
|
932 #EOT
|
pascal@371
|
933 #pppd call $TUNNEL updetach
|
pascal@371
|
934
|
pascal@371
|
935 tab_pptp()
|
pascal@371
|
936 {
|
pascal@371
|
937 [ -f /etc/ppp/options.pptp ] || cat >> /etc/ppp/options.pptp <<EOT
|
pascal@371
|
938 lock noauth nobsdcomp nodeflate remotename PPTP
|
pascal@371
|
939 EOT
|
pascal@371
|
940 [ -f /etc/ppp/pptp-servers ] || cat >> /etc/ppp/pptp-servers <<EOT
|
pascal@371
|
941 # PPTP servers list
|
pascal@371
|
942 EOT
|
pascal@371
|
943 cat <<EOT
|
pascal@371
|
944 <frame Virtual Private Network with PPTP>
|
pascal@371
|
945 <hbox>
|
pascal@371
|
946 <text use-markup="true">
|
pascal@371
|
947 <label>"<b>Server:</b>"</label>
|
pascal@371
|
948 </text>
|
pascal@371
|
949 <combobox>
|
pascal@371
|
950 <variable>PPTP_SERVER</variable>
|
pascal@371
|
951 EOT
|
pascal@371
|
952 grep -v ^\# /etc/ppp/pptp-servers | \
|
pascal@371
|
953 awk '{ printf " <item>%s</item>\n",$1 }'
|
pascal@371
|
954 cat <<EOT
|
pascal@371
|
955 <item>SERVER</item>
|
pascal@371
|
956 </combobox>
|
pascal@371
|
957 <button>
|
pascal@371
|
958 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
959 <action type="lauch">leafpad /etc/ppp/pptp-servers</action>
|
pascal@371
|
960 </button>
|
pascal@371
|
961 </hbox>
|
pascal@371
|
962 <hbox>
|
pascal@371
|
963 <text use-markup="true">
|
pascal@371
|
964 <label>"<b> User:</b>"</label>
|
pascal@371
|
965 </text>
|
pascal@371
|
966 <combobox>
|
pascal@371
|
967 <variable>PPTP_USER</variable>
|
pascal@371
|
968 EOT
|
pascal@371
|
969 grep '\\' /etc/ppp/chap-secrets | grep -v ^\# | \
|
pascal@371
|
970 awk '{ printf " <item>%s</item>\n",$1 }'
|
pascal@371
|
971 cat <<EOT
|
pascal@371
|
972 <item>DOMAIN\USERNAME</item>
|
pascal@371
|
973 </combobox>
|
pascal@371
|
974 <button>
|
pascal@371
|
975 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
976 <action type="lauch">leafpad /etc/ppp/chap-secrets</action>
|
pascal@371
|
977 </button>
|
pascal@371
|
978 </hbox>
|
pascal@371
|
979 <hbox>
|
pascal@371
|
980 <text use-markup="true">
|
pascal@371
|
981 <label>"<b>Password:</b>"</label>
|
pascal@371
|
982 </text>
|
pascal@371
|
983 <entry>
|
pascal@371
|
984 <variable>PPTP_PASS</variable>
|
pascal@371
|
985 </entry>
|
pascal@371
|
986 </hbox>
|
pascal@371
|
987 <hbox>
|
pascal@371
|
988 <checkbox>
|
pascal@371
|
989 <label>Encryption</label>
|
pascal@371
|
990 <variable>PPTP_ENC</variable>
|
pascal@371
|
991 <default>true</default>
|
pascal@371
|
992 </checkbox>
|
pascal@371
|
993 $(helpbutton pptp 80x35)
|
pascal@371
|
994 <button>
|
pascal@371
|
995 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
996 <label>Options</label>
|
pascal@371
|
997 <action type="lauch">leafpad /etc/ppp/options.pptp</action>
|
pascal@371
|
998 </button>
|
pascal@374
|
999 $(webbutton pptpclient)
|
pascal@371
|
1000 <button>
|
pascal@371
|
1001 <input file icon="forward"></input>
|
pascal@371
|
1002 <label>Connect</label>
|
pascal@371
|
1003 <action>grep -qs ^\$PPTP_USER /etc/ppp/chap-secrets || \
|
pascal@371
|
1004 echo "\$PPTP_USER PPTP \"$PPTP_PASS\" *" >> /etc/ppp/chap-secrets</action>
|
pascal@371
|
1005 <action>grep -qs ^\$PPTP_SERVER /etc/ppp/pptp-servers || \
|
pascal@371
|
1006 echo "\$PPTP_SERVER" >> /etc/ppp/pptp-servers</action>
|
pascal@371
|
1007 <action>PASS=""; [ -n "\$PPTP_PASS" ] && PASS="password \$PASS"; \
|
pascal@371
|
1008 ENC=""; [ x\$PPTP_ENC == xtrue ] && ENC="require-mppe-128"; \
|
pascal@371
|
1009 /usr/sbin/pptp \$PPTP_SERVER file /etc/ppp/options.pptp \$ENC user \$PPTP_USER \$PASS &
|
pascal@371
|
1010 </action>
|
pascal@371
|
1011 </button>
|
pascal@371
|
1012 <button>
|
pascal@371
|
1013 <input file icon="stop"></input>
|
pascal@371
|
1014 <label>Disconnect</label>
|
pascal@371
|
1015 <action>killall pptp</action>
|
pascal@371
|
1016 </button>
|
pascal@371
|
1017 </hbox>
|
pascal@371
|
1018 </frame>
|
pascal@371
|
1019 EOT
|
pascal@371
|
1020 }
|
pascal@371
|
1021
|
pascal@374
|
1022 #
|
pascal@374
|
1023 # Cisco EasyVPN
|
pascal@374
|
1024 #
|
pascal@374
|
1025 tab_easyvpn()
|
pascal@374
|
1026 {
|
pascal@374
|
1027 cat <<EOT
|
pascal@374
|
1028 <frame Cisco EasyVPN>
|
pascal@374
|
1029 <hbox>
|
pascal@374
|
1030 <text use-markup="true">
|
pascal@374
|
1031 <label>"<b>VPNC_OPTIONS</b>"</label>
|
pascal@374
|
1032 </text>
|
pascal@374
|
1033 <entry editable="false">
|
pascal@374
|
1034 EOT
|
pascal@374
|
1035 [ -n "$VPNC_OPTIONS" ] && cat << EOT
|
pascal@374
|
1036 <default>$tmp</default>
|
pascal@374
|
1037 EOT
|
pascal@374
|
1038 cat << EOT
|
pascal@374
|
1039 <variable>VPNC_OPTS</variable>
|
pascal@374
|
1040 </entry>
|
pascal@374
|
1041 $(helpbutton vpnc 80x30)
|
pascal@374
|
1042 <button>
|
pascal@374
|
1043 <input file icon="help"></input>
|
pascal@374
|
1044 <label>more</label>
|
pascal@374
|
1045 <action>$xterm -geometry 80x40 -title "vpnc help (q to quit)" -e "$(which vpnc) --long-help 2>&1 | less"</action>
|
pascal@374
|
1046 </button>
|
pascal@374
|
1047 $(editbutton /etc/daemons.conf)
|
pascal@374
|
1048 </hbox>
|
pascal@374
|
1049 $(configfile /etc/vpnc/default.conf VPNC_CONF)
|
pascal@374
|
1050 $(datafile "/etc/vpnc/vpnc-script" VPNC_SCRIPT 'Script:')
|
pascal@374
|
1051 <hbox>
|
pascal@374
|
1052 $(startstopdaemon vpnc)
|
pascal@374
|
1053 </hbox>
|
pascal@374
|
1054 </frame>
|
pascal@374
|
1055 EOT
|
pascal@374
|
1056 }
|
pascal@374
|
1057
|
pascal@375
|
1058 #
|
pascal@375
|
1059 # OpenVPN
|
pascal@375
|
1060 #
|
pascal@375
|
1061 tab_openvpn()
|
pascal@375
|
1062 {
|
pascal@375
|
1063 local i
|
pascal@375
|
1064 local n
|
pascal@375
|
1065 cat <<EOT
|
pascal@375
|
1066 <frame OpenVPN>
|
pascal@375
|
1067 EOT
|
pascal@375
|
1068 n=1
|
pascal@375
|
1069 for i in /etc/openvpn/*.conf ; do
|
pascal@375
|
1070 [ -f $i ] || continue
|
pascal@375
|
1071 configfile $i OPENVPN_CONF$n
|
pascal@375
|
1072 n=$(($n + 1))
|
pascal@375
|
1073 done
|
pascal@375
|
1074 cat <<EOT
|
pascal@375
|
1075 <hbox>
|
pascal@375
|
1076 $(helpbutton openvpn 80x40)
|
pascal@375
|
1077 $(startstopdaemon openvpn)
|
pascal@375
|
1078 </hbox>
|
pascal@375
|
1079 </frame>
|
pascal@375
|
1080 EOT
|
pascal@375
|
1081 }
|
pascal@375
|
1082
|
pascal@371
|
1083 data_vpn()
|
pascal@371
|
1084 {
|
pascal@371
|
1085 cat <<EOT
|
pascal@371
|
1086 $([ -x /usr/sbin/dropbear -o -x /usr/sbin/sshd ] && echo "pppd" ||
|
pascal@371
|
1087 echo "#") PPP/SSH tab_sshppp
|
pascal@371
|
1088 pptp PPTP tab_pptp
|
pascal@374
|
1089 vpnc EasyVPN tab_easyvpn
|
pascal@375
|
1090 openvpn OpenVPN tab_openvpn
|
pascal@371
|
1091 EOT
|
pascal@371
|
1092 }
|
pascal@371
|
1093
|
pascal@371
|
1094 #
|
pascal@371
|
1095 # VPN
|
pascal@371
|
1096 #
|
pascal@371
|
1097 tab_vpn()
|
pascal@371
|
1098 {
|
pascal@371
|
1099 use_tab data_vpn
|
pascal@371
|
1100 }
|
pascal@272
|
1101
|
pascal@272
|
1102 sshremote()
|
pascal@272
|
1103 {
|
pascal@272
|
1104 cat << EOT
|
pascal@126
|
1105 <hbox>
|
pascal@177
|
1106 <text use-markup="true">
|
pascal@177
|
1107 <label>"<b>Remote :</b>"</label>
|
pascal@177
|
1108 </text>
|
pascal@177
|
1109 <entry>
|
pascal@272
|
1110 <variable>$2</variable>
|
pascal@177
|
1111 <default>user@elsewhere</default>
|
pascal@177
|
1112 </entry>
|
pascal@177
|
1113 <button>
|
pascal@177
|
1114 <input file icon="utilities-terminal"></input>
|
pascal@177
|
1115 <label>Connect</label>
|
pascal@272
|
1116 <action>xterm -fa MiscFixed -fs 11 -bg black -fg white -geometry 80x25 -title "$1" -e "$1 \$$2 ; echo -e \"----\nENTER to continue...\" && read close" &</action>
|
pascal@177
|
1117 </button>
|
pascal@177
|
1118 <button>
|
pascal@177
|
1119 <input file icon="go-up"></input>
|
pascal@177
|
1120 <label>Send key</label>
|
pascal@372
|
1121 <action>$xterm -geometry 80x10 -title "send ssh key" -e "$0 call sendsshkey \$$2; echo -e \"----\nENTER to continue...\" && read close"</action>
|
pascal@177
|
1122 </button>
|
pascal@177
|
1123 </hbox>
|
pascal@272
|
1124 EOT
|
pascal@272
|
1125 }
|
pascal@272
|
1126
|
pascal@371
|
1127 #
|
pascal@371
|
1128 # Dropbear client & server
|
pascal@371
|
1129 #
|
pascal@371
|
1130 tab_dropbear()
|
pascal@371
|
1131 {
|
pascal@371
|
1132 . /etc/daemons.conf
|
pascal@371
|
1133 set -- $DROPBEAR_OPTIONS
|
pascal@371
|
1134 while [ -n "$2" ]; do
|
pascal@371
|
1135 [ "$1" = "-b" ] && DROPBEAR_BANNER="$2" && break
|
pascal@371
|
1136 shift
|
pascal@371
|
1137 done
|
pascal@371
|
1138
|
pascal@371
|
1139 cat <<EOT
|
pascal@272
|
1140 <frame Dropbear>
|
pascal@272
|
1141 $(helpdaemon dropbear 80x30 DROPBEAR_OPTIONS DROPBEAR_OPTS)
|
pascal@272
|
1142 $(datafile /etc/dropbear/banner DROPBEAR_BANNER 'Banner :')
|
pascal@272
|
1143 $(sshremote DROPBEAR_PEER 'dbclient -i /etc/dropbear/dropbear_rsa_host_key')
|
pascal@177
|
1144 <hbox>
|
pascal@271
|
1145 $(startstopdaemon dropbear)
|
pascal@126
|
1146 </hbox>
|
pascal@126
|
1147 </frame>
|
pascal@371
|
1148 EOT
|
pascal@371
|
1149 }
|
pascal@371
|
1150
|
pascal@371
|
1151 #
|
pascal@371
|
1152 # OpenSSH client & server
|
pascal@371
|
1153 #
|
pascal@371
|
1154 tab_openssh()
|
pascal@371
|
1155 {
|
pascal@371
|
1156 cat <<EOT
|
pascal@272
|
1157 <frame OpenSSH>
|
pascal@272
|
1158 $(helpdaemon sshd 80x30 OPENSSH_OPTIONS OPENSSH_OPTS 8 nohelp)
|
pascal@272
|
1159 $(configfile /etc/ssh/sshd_config OPENSSH_CONF '5 sshd_config')
|
pascal@272
|
1160 $(sshremote OPENSSH_PEER 'ssh -i /etc/ssh/ssh_host_rsa_key')
|
pascal@126
|
1161 <hbox>
|
pascal@272
|
1162 $(startstopdaemon openssh)
|
pascal@126
|
1163 </hbox>
|
pascal@272
|
1164 </frame>
|
pascal@371
|
1165 EOT
|
pascal@371
|
1166 }
|
pascal@371
|
1167
|
pascal@371
|
1168 data_sshd()
|
pascal@371
|
1169 {
|
pascal@371
|
1170 cat <<EOT
|
pascal@371
|
1171 dropbear Dropbear tab_dropbear
|
pascal@371
|
1172 sshd OpenSSH tab_openssh
|
pascal@371
|
1173 EOT
|
pascal@371
|
1174 }
|
pascal@371
|
1175
|
pascal@371
|
1176 #
|
pascal@371
|
1177 # SSH tab
|
pascal@371
|
1178 #
|
pascal@371
|
1179 tab_sshd()
|
pascal@371
|
1180 {
|
pascal@371
|
1181 use_tab data_sshd
|
pascal@371
|
1182 }
|
pascal@371
|
1183
|
pascal@371
|
1184 #
|
pascal@371
|
1185 # Busybox Inetd
|
pascal@371
|
1186 #
|
pascal@371
|
1187 tab_inetd()
|
pascal@371
|
1188 {
|
pascal@371
|
1189 cat <<EOT
|
pascal@371
|
1190 <frame Inetd (busybox)>
|
pascal@272
|
1191 $(helpdaemon inetd 60x14 INETD_OPTIONS INETD_OPTS)
|
pascal@271
|
1192 $(configfile /etc/inetd.conf INETD_CONF)
|
pascal@126
|
1193 <hbox>
|
pascal@371
|
1194 EOT
|
pascal@151
|
1195 for i in $(grep bin /etc/inetd.conf | awk '{ print $6}'); do
|
pascal@151
|
1196 i=$(basename $i)
|
pascal@371
|
1197 helpbutton $i 60x19 $i
|
pascal@151
|
1198 done
|
pascal@371
|
1199 cat <<EOT
|
pascal@271
|
1200 $(startstopdaemon inetd)
|
pascal@126
|
1201 </hbox>
|
pascal@126
|
1202 </frame>
|
pascal@371
|
1203 EOT
|
pascal@371
|
1204 }
|
pascal@371
|
1205
|
pascal@371
|
1206 #
|
pascal@371
|
1207 # ZeroConf
|
pascal@371
|
1208 #
|
pascal@371
|
1209 tab_zcip()
|
pascal@371
|
1210 {
|
pascal@272
|
1211 if [ -x /sbin/zcip -a -z "$ZCIP_OPTIONS" ]; then
|
pascal@272
|
1212 ZCIP_OPTIONS="eth0 /etc/zcip.script"
|
pascal@215
|
1213 cat >> /etc/daemons.conf <<EOT
|
pascal@215
|
1214 # ZeroConf options
|
pascal@272
|
1215 ZCIP_OPTIONS="$ZCIP_OPTIONS"
|
pascal@215
|
1216
|
pascal@215
|
1217 EOT
|
pascal@215
|
1218 fi
|
pascal@371
|
1219 cat <<EOT
|
pascal@272
|
1220 <frame Zcip (busybox)>
|
pascal@272
|
1221 $(helpdaemon zcip 60x14 ZCIP_OPTIONS ZCIP_OPTS)
|
pascal@272
|
1222 $(datafile /etc/zcip.script CZIP_SCRIPT 'Script :')
|
pascal@215
|
1223 <hbox>
|
pascal@271
|
1224 $(startstopdaemon zcip)
|
pascal@215
|
1225 </hbox>
|
pascal@215
|
1226 </frame>
|
pascal@371
|
1227 EOT
|
pascal@371
|
1228 }
|
pascal@371
|
1229
|
pascal@371
|
1230 #
|
pascal@371
|
1231 # Dhcpd ISC
|
pascal@371
|
1232 #
|
pascal@371
|
1233 tab_isc_dhcpd()
|
pascal@371
|
1234 {
|
pascal@371
|
1235 cat <<EOT
|
pascal@272
|
1236 <frame Dhcpd (ISC)>
|
pascal@272
|
1237 $(helpdaemon dhcpd 60x14 DHCPD_OPTIONS DHCPD_OPTS)
|
pascal@272
|
1238 $(configfile /etc/dhcpd.conf DHCPD_CONF)
|
pascal@126
|
1239 <hbox>
|
pascal@272
|
1240 $(startstopdaemon dhcpd dhcp)
|
pascal@155
|
1241 </hbox>
|
pascal@272
|
1242 </frame>
|
pascal@371
|
1243 EOT
|
pascal@371
|
1244 }
|
pascal@371
|
1245
|
pascal@371
|
1246 #
|
pascal@371
|
1247 # Dhcpd Busybox
|
pascal@371
|
1248 #
|
pascal@371
|
1249 tab_udhcpd()
|
pascal@371
|
1250 {
|
pascal@371
|
1251 cat <<EOT
|
pascal@272
|
1252 <frame Udhcpd (busybox)>
|
pascal@272
|
1253 $(helpdaemon udhcpd 60x14 UDHCPD_OPTIONS UDHCPD_OPTS)
|
pascal@271
|
1254 $(configfile /etc/udhcpd.conf UDHCPD_CONF)
|
pascal@155
|
1255 <hbox>
|
pascal@271
|
1256 $(startstopdaemon udhcpd)
|
pascal@126
|
1257 </hbox>
|
pascal@126
|
1258 </frame>
|
pascal@371
|
1259 EOT
|
pascal@371
|
1260 }
|
pascal@371
|
1261
|
pascal@371
|
1262 data_dhcpd()
|
pascal@371
|
1263 {
|
pascal@371
|
1264 cat <<EOT
|
pascal@371
|
1265 udhcpd Udhcpd tab_udhcpd
|
pascal@371
|
1266 dhcpd Dhcpd tab_isc_dhcpd
|
pascal@373
|
1267 dnsmasq DNSmasq tab_dnsmasq
|
pascal@371
|
1268 EOT
|
pascal@371
|
1269 }
|
pascal@371
|
1270
|
pascal@371
|
1271 #
|
pascal@371
|
1272 # dhcpd tab
|
pascal@371
|
1273 #
|
pascal@371
|
1274 tab_dhcpd()
|
pascal@371
|
1275 {
|
pascal@371
|
1276 use_tab data_dhcpd
|
pascal@371
|
1277 }
|
pascal@371
|
1278
|
pascal@371
|
1279 #
|
pascal@371
|
1280 # PXE
|
pascal@371
|
1281 #
|
pascal@371
|
1282 tab_pxe()
|
pascal@371
|
1283 {
|
pascal@371
|
1284 cat <<EOT
|
pascal@371
|
1285 <frame Pxelinux>
|
pascal@126
|
1286 <hbox>
|
pascal@126
|
1287 <text wrap="true">
|
pascal@126
|
1288 <label>
|
pascal@151
|
1289 "Launch Dhcpd and Inetd with Tftpd to start the PXE service."
|
pascal@126
|
1290 </label>
|
pascal@126
|
1291 </text>
|
pascal@126
|
1292 </hbox>
|
pascal@126
|
1293 <hbox>
|
pascal@126
|
1294 <text use-markup="true">
|
pascal@126
|
1295 <label>"<b>Configuration :</b>"</label>
|
pascal@126
|
1296 </text>
|
pascal@126
|
1297 <entry editable="false">
|
pascal@371
|
1298 <default>
|
pascal@371
|
1299 $(grep bin/tftpd /etc/inetd.conf | awk '{ print $NF }')/pxelinux.cfg/default
|
pascal@371
|
1300 </default>
|
pascal@126
|
1301 <variable>PXE_CONF</variable>
|
pascal@126
|
1302 </entry>
|
pascal@126
|
1303 <button>
|
pascal@126
|
1304 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
1305 <action>dir=\$(dirname \$PXE_CONF); [ -d \$dir ] || mkdir -p \$dir</action>
|
pascal@371
|
1306 <action>lzma d /usr/share/boot/pxelinux.0.lzma \$(dirname \$PXE_CONF)/../pxelinux.0</action>
|
pascal@371
|
1307 <action>grep -q "^boot_file" \$UDHCPD_CONF || echo "boot_file pxelinux.0" >> \$UDHCPD_CONF</action>
|
pascal@371
|
1308 <action>grep -q "^siaddr" \$UDHCPD_CONF || echo "siaddr \$(ifconfig \$INTERFACE | grep inet.ad | cut -d: -f2 | cut -d\ -f1)" >> \$UDHCPD_CONF</action>
|
pascal@371
|
1309 <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@371
|
1310 <action type="lauch">leafpad \$PXE_CONF</action>
|
pascal@126
|
1311 </button>
|
pascal@126
|
1312 </hbox>
|
pascal@169
|
1313 <hbox>
|
pascal@372
|
1314 $(wikibutton http://wiki.slitaz.org/doku.php?id=quickstart:pxe)
|
pascal@247
|
1315 <button>
|
pascal@169
|
1316 <input file icon="system-file-manager"></input>
|
pascal@169
|
1317 <label>Network boot files</label>
|
pascal@372
|
1318 <action>$xterm -geometry 100x25 -title "Network boot files (q to quit)" -e "find \$(dirname \$(dirname \$PXE_CONF)) -exec ls -ld {} \; | less"</action>
|
pascal@169
|
1319 </button>
|
pascal@169
|
1320 </hbox>
|
pascal@126
|
1321 </frame>
|
pascal@371
|
1322 EOT
|
pascal@371
|
1323 }
|
pascal@371
|
1324
|
pascal@371
|
1325 #
|
pascal@371
|
1326 # Busybox dnsd
|
pascal@371
|
1327 #
|
pascal@371
|
1328 tab_dnsd()
|
pascal@371
|
1329 {
|
pascal@371
|
1330 cat <<EOT
|
pascal@371
|
1331 <frame Dnsd (busybox master dns)>
|
pascal@371
|
1332 $(helpdaemon dnsd 80x15 DNSD_OPTIONS DNSD_OPTS)
|
pascal@371
|
1333 $(configfile /etc/dnsd.conf DNSD_CONF)
|
pascal@371
|
1334 <hbox>
|
pascal@371
|
1335 $(startstopdaemon dnsd)
|
pascal@371
|
1336 </hbox>
|
pascal@371
|
1337 </frame>
|
pascal@371
|
1338 EOT
|
pascal@371
|
1339 }
|
pascal@371
|
1340
|
pascal@371
|
1341 #
|
pascal@371
|
1342 # ISC Bind
|
pascal@371
|
1343 #
|
pascal@371
|
1344 tab_named()
|
pascal@371
|
1345 {
|
pascal@371
|
1346 cat <<EOT
|
pascal@272
|
1347 <frame Named (ISC bind)>
|
pascal@272
|
1348 $(helpdaemon named 80x10 NAMED_OPTIONS NAMED_OPTS)
|
pascal@272
|
1349 $(configfile /etc/bind/named.conf.local NAMED_CONF)
|
pascal@126
|
1350 <hbox>
|
pascal@272
|
1351 $(startstopdaemon named bind)
|
pascal@126
|
1352 </hbox>
|
pascal@272
|
1353 </frame>
|
pascal@371
|
1354 EOT
|
pascal@371
|
1355 }
|
pascal@371
|
1356
|
pascal@373
|
1357 #
|
pascal@373
|
1358 # DNSmasq
|
pascal@373
|
1359 #
|
pascal@373
|
1360 tab_dnsmasq()
|
pascal@373
|
1361 {
|
pascal@373
|
1362 cat <<EOT
|
pascal@373
|
1363 <frame DNSmasq (DNS/DHCP/TFTP)>
|
pascal@373
|
1364 $(helpdaemon dnsmasq 100x34 DNSMASQ_OPTIONS DNSMASQ_OPTS)
|
pascal@373
|
1365 $(configfile /etc/dnsmasq.conf DNSMASQ_CONF)
|
pascal@373
|
1366 <hbox>
|
pascal@373
|
1367 $(startstopdaemon dnsmasq)
|
pascal@373
|
1368 </hbox>
|
pascal@373
|
1369 </frame>
|
pascal@373
|
1370 EOT
|
pascal@373
|
1371 }
|
pascal@373
|
1372
|
pascal@371
|
1373 data_dns()
|
pascal@371
|
1374 {
|
pascal@371
|
1375 cat <<EOT
|
pascal@371
|
1376 dnsd Dnsd tab_dnsd
|
pascal@371
|
1377 named Named tab_named
|
pascal@373
|
1378 dnsmasq DNSmasq tab_dnsmasq
|
pascal@371
|
1379 #TODO sheerdns Sheerdns tab_sheerdns
|
pascal@371
|
1380 EOT
|
pascal@371
|
1381 }
|
pascal@371
|
1382
|
pascal@371
|
1383 #
|
pascal@371
|
1384 # dns tab
|
pascal@371
|
1385 #
|
pascal@371
|
1386 tab_dns()
|
pascal@371
|
1387 {
|
pascal@371
|
1388 use_tab data_dns
|
pascal@371
|
1389 }
|
pascal@371
|
1390
|
pascal@371
|
1391 #
|
pascal@371
|
1392 # rsync server
|
pascal@371
|
1393 #
|
pascal@371
|
1394 tab_rsync()
|
pascal@371
|
1395 {
|
pascal@371
|
1396 cat <<EOT
|
pascal@272
|
1397 <frame Rsync>
|
pascal@272
|
1398 $(helpdaemon rsync 80x30 RSYNCD_OPTIONS RSYNCD_OPTS 1)
|
pascal@272
|
1399 $(configfile /etc/rsyncd.conf RSYNCD_CONF)
|
pascal@272
|
1400 $(datafile /etc/rsyncd.secrets RSYNCD_SECRETS 'Secrets file :')
|
pascal@126
|
1401 <hbox>
|
pascal@272
|
1402 $(startstopdaemon rsyncd rsync)
|
pascal@126
|
1403 </hbox>
|
pascal@126
|
1404 </frame>
|
pascal@371
|
1405 EOT
|
pascal@371
|
1406 }
|
pascal@371
|
1407
|
pascal@371
|
1408 php_ini()
|
pascal@371
|
1409 {
|
pascal@371
|
1410 [ -f /etc/php.ini ] && cat <<EOT
|
pascal@371
|
1411 <frame PHP>
|
pascal@271
|
1412 $(configfile /etc/php.ini PHP_CONF)
|
pascal@168
|
1413 </frame>
|
pascal@371
|
1414 EOT
|
pascal@371
|
1415 }
|
pascal@371
|
1416
|
pascal@371
|
1417 #
|
pascal@371
|
1418 # Apache server
|
pascal@371
|
1419 #
|
pascal@371
|
1420 tab_apache()
|
pascal@371
|
1421 {
|
pascal@371
|
1422 cat <<EOT
|
pascal@371
|
1423 <frame Apache>
|
pascal@371
|
1424 $(php_ini)
|
pascal@272
|
1425 $(configfile /etc/apache/httpd.conf HTTPD_CONF)
|
pascal@272
|
1426 <hbox>
|
pascal@272
|
1427 $(startstopdaemon apache)
|
pascal@272
|
1428 </hbox>
|
pascal@272
|
1429 </frame>
|
pascal@371
|
1430 EOT
|
pascal@371
|
1431 }
|
pascal@371
|
1432
|
pascal@371
|
1433 #
|
pascal@371
|
1434 # Lighttpd server
|
pascal@371
|
1435 #
|
pascal@371
|
1436 tab_lighttpd()
|
pascal@371
|
1437 {
|
pascal@371
|
1438 cat <<EOT
|
pascal@371
|
1439 <frame Lighttpd>
|
pascal@371
|
1440 $(php_ini)
|
pascal@271
|
1441 $(configfile /etc/lighttpd/lighttpd.conf LIGHTTPD_CONF)
|
pascal@126
|
1442 <hbox>
|
pascal@271
|
1443 $(startstopdaemon lighttpd)
|
pascal@126
|
1444 </hbox>
|
pascal@126
|
1445 </frame>
|
pascal@371
|
1446 EOT
|
pascal@371
|
1447 }
|
pascal@371
|
1448
|
pascal@371
|
1449 data_http()
|
pascal@371
|
1450 {
|
pascal@371
|
1451 cat <<EOT
|
pascal@375
|
1452 httpd Apache tab_apache
|
pascal@371
|
1453 lighttpd Named tab_lighttpd
|
pascal@371
|
1454 EOT
|
pascal@371
|
1455 #TODO busybox httpd
|
pascal@371
|
1456 }
|
pascal@371
|
1457
|
pascal@371
|
1458 #
|
pascal@371
|
1459 # http tab
|
pascal@371
|
1460 #
|
pascal@371
|
1461 tab_http()
|
pascal@371
|
1462 {
|
pascal@371
|
1463 use_tab data_http
|
pascal@371
|
1464 }
|
pascal@371
|
1465
|
pascal@371
|
1466 #
|
pascal@371
|
1467 # Samba servers
|
pascal@371
|
1468 #
|
pascal@371
|
1469 tab_wins()
|
pascal@371
|
1470 {
|
pascal@371
|
1471 cat <<EOT
|
pascal@371
|
1472 <frame Samba: smbd & nmbd>
|
pascal@271
|
1473 $(configfile /etc/samba/smb.conf SMBD_CONF)
|
pascal@137
|
1474 <hbox>
|
pascal@137
|
1475 <button>
|
pascal@137
|
1476 <label>Reload</label>
|
pascal@371
|
1477 <input file icon="reload"></input>
|
pascal@137
|
1478 <action>/etc/init.d/samba reload</action>
|
pascal@371
|
1479 </button>
|
pascal@271
|
1480 $(startstopdaemon samba)
|
pascal@137
|
1481 </hbox>
|
pascal@137
|
1482 </frame>
|
pascal@371
|
1483 EOT
|
pascal@371
|
1484 }
|
pascal@371
|
1485
|
pascal@371
|
1486 #
|
pascal@371
|
1487 # x11vnc
|
pascal@371
|
1488 #
|
pascal@371
|
1489 tab_vnc()
|
pascal@371
|
1490 {
|
pascal@371
|
1491 cat <<EOT
|
pascal@272
|
1492 <frame x11vnc>
|
pascal@272
|
1493 $(helpdaemon x11vnc 80x30 X11VNC_OPTIONS X11VNC_OPTS)
|
pascal@163
|
1494 <hbox>
|
pascal@371
|
1495 <text use-markup="true">
|
pascal@371
|
1496 <label>"<b>New password</b>"</label>
|
pascal@163
|
1497 </text>
|
pascal@163
|
1498 <entry>
|
pascal@163
|
1499 <variable>X11VNC_PASSWD</variable>
|
pascal@163
|
1500 </entry>
|
pascal@163
|
1501 <button>
|
pascal@371
|
1502 <input file icon="reload"></input>
|
pascal@163
|
1503 <label>Update</label>
|
pascal@272
|
1504 <action>x11vnc -storepasswd \$X11VNC_PASSWD /etc/vnc.secret</action>
|
pascal@163
|
1505 </button>
|
pascal@163
|
1506 </hbox>
|
pascal@272
|
1507 <hbox>
|
pascal@271
|
1508 $(startstopdaemon x11vnc)
|
pascal@271
|
1509 </hbox>
|
pascal@271
|
1510 </frame>
|
pascal@371
|
1511 EOT
|
pascal@371
|
1512 }
|
pascal@371
|
1513
|
pascal@371
|
1514 #
|
pascal@371
|
1515 # knock server
|
pascal@371
|
1516 #
|
pascal@371
|
1517 tab_knockd()
|
pascal@371
|
1518 {
|
pascal@371
|
1519 cat <<EOT
|
pascal@272
|
1520 <frame Knockd: trigger backdoors>
|
pascal@272
|
1521 $(helpdaemon knockd 80x15 KNOCK_OPTIONS KNOCK_OPTS)
|
pascal@271
|
1522 $(configfile /etc/knockd.conf KNOCKD_CONF)
|
pascal@271
|
1523 <hbox>
|
pascal@272
|
1524 $(startstopdaemon knockd knock)
|
pascal@271
|
1525 </hbox>
|
pascal@271
|
1526 </frame>
|
pascal@371
|
1527 EOT
|
pascal@371
|
1528 }
|
pascal@371
|
1529
|
pascal@371
|
1530 data_servers()
|
pascal@371
|
1531 {
|
pascal@373
|
1532 local $pxe
|
pascal@373
|
1533 pxe="#"
|
pascal@373
|
1534 [ -x /usr/bin/tftpd -a -x /usr/sbin/udhcpd ] && pxe="inetd"
|
pascal@374
|
1535 [ -x /usr/sbin/dnsmasq ] && pxe="true"
|
pascal@373
|
1536 [ -f /usr/share/boot/pxelinux.0.lzma ] || pxe="#"
|
pascal@371
|
1537 cat <<EOT
|
pascal@371
|
1538 $([ -x /usr/sbin/dropbear -o -x /usr/sbin/sshd ] && echo "true" ||
|
pascal@371
|
1539 echo "#") SSH tab_sshd
|
pascal@371
|
1540 inetd Inetd tab_inetd
|
pascal@371
|
1541 zcip ZeroConf tab_zcip
|
pascal@373
|
1542 $([ -x /usr/sbin/udhcpd -o -x /usr/sbin/dhcpd -o -x /usr/sbin/dnsmasq ] &&
|
pascal@373
|
1543 echo "true" ||
|
pascal@371
|
1544 echo "#") DHCP tab_dhcpd
|
pascal@373
|
1545 $pxe PXE tab_pxe
|
pascal@373
|
1546 dnsmasq tftpd tab_dnsmasq
|
pascal@373
|
1547 $([ -x /usr/sbin/dnsd -o -x /usr/sbin/named -o -x /usr/sbin/dnsmasq ] &&
|
pascal@373
|
1548 echo "true" ||
|
pascal@371
|
1549 echo "#") DNS tab_dns
|
pascal@371
|
1550 rsync Rsync tab_rsync
|
pascal@371
|
1551 $([ -x /usr/sbin/lighttpd -o -x /usr/bin/httpd ] && echo "true" ||
|
pascal@371
|
1552 echo "#") HTTP tab_http
|
pascal@371
|
1553 smbd WINS tab_wins
|
pascal@371
|
1554 x11vnc VNC tab_vnc
|
pascal@371
|
1555 knockd Knock tab_knockd
|
pascal@371
|
1556 EOT
|
pascal@371
|
1557 }
|
pascal@371
|
1558
|
pascal@371
|
1559 #
|
pascal@371
|
1560 # Servers tab
|
pascal@371
|
1561 #
|
pascal@371
|
1562 tab_servers()
|
pascal@371
|
1563 {
|
pascal@371
|
1564 use_tab data_servers
|
pascal@371
|
1565 }
|
pascal@371
|
1566
|
pascal@371
|
1567 #
|
pascal@371
|
1568 # Firewall tab
|
pascal@371
|
1569 #
|
pascal@371
|
1570 tab_firewall()
|
pascal@371
|
1571 {
|
pascal@371
|
1572 cat <<EOT
|
pascal@371
|
1573 <frame Iptables>
|
pascal@271
|
1574 $(configfile /etc/iptables.conf IPTABLES_CONF)
|
pascal@163
|
1575 <hbox>
|
pascal@371
|
1576 $(helpbutton iptables 80x30)
|
pascal@371
|
1577 $(manbutton 8 iptables)
|
pascal@374
|
1578 $(webbutton iptables)
|
pascal@163
|
1579 <button>
|
pascal@271
|
1580 <label>Load</label>
|
pascal@371
|
1581 <input file icon="reload"></input>
|
pascal@271
|
1582 <action>cat \$IPTABLES_CONF | /sbin/iptables-restore</action>
|
pascal@271
|
1583 </button>
|
pascal@271
|
1584 <button>
|
pascal@271
|
1585 <label>Save</label>
|
pascal@371
|
1586 <input file icon="go-jump"></input>
|
pascal@271
|
1587 <action>/sbin/iptables-save > \$IPTABLES_CONF</action>
|
pascal@163
|
1588 </button>
|
pascal@163
|
1589 </hbox>
|
pascal@163
|
1590 </frame>
|
pascal@371
|
1591 EOT
|
pascal@371
|
1592 }
|
pascal@371
|
1593
|
pascal@371
|
1594 #
|
pascal@371
|
1595 # knock client
|
pascal@371
|
1596 #
|
pascal@371
|
1597 tab_knock()
|
pascal@371
|
1598 {
|
pascal@371
|
1599 cat <<EOT
|
pascal@371
|
1600 <frame Knock>
|
pascal@271
|
1601 <hbox>
|
pascal@271
|
1602 <text use-markup="true">
|
pascal@271
|
1603 <label>"<b>Options : </b>"</label>
|
pascal@271
|
1604 </text>
|
pascal@271
|
1605 <entry editable="true">
|
pascal@271
|
1606 <variable>KNOCK_OPTS</variable>
|
pascal@271
|
1607 <default>myserver.example.com 123:tcp 456:udp 789:tcp</default>
|
pascal@271
|
1608 </entry>
|
pascal@271
|
1609 </hbox>
|
pascal@371
|
1610 <hbox>
|
pascal@272
|
1611 $(helpbutton knock 80x12)
|
pascal@271
|
1612 <button>
|
pascal@271
|
1613 <label>Start</label>
|
pascal@371
|
1614 <input file icon="forward"></input>
|
pascal@272
|
1615 <action>knock \$KNOCK_OPTS</action>
|
pascal@271
|
1616 </button>
|
pascal@271
|
1617 </hbox>
|
pascal@271
|
1618 </frame>
|
pascal@371
|
1619 EOT
|
pascal@371
|
1620 }
|
pascal@371
|
1621
|
pascal@371
|
1622 #
|
pascal@371
|
1623 # ether-wake
|
pascal@371
|
1624 #
|
pascal@371
|
1625 tab_etherwake()
|
pascal@371
|
1626 {
|
pascal@371
|
1627 cat <<EOT
|
pascal@271
|
1628 <frame Ether-wake (busybox)>
|
pascal@141
|
1629 <hbox>
|
pascal@141
|
1630 <text use-markup="true">
|
pascal@151
|
1631 <label>"<b>Machines :</b>"</label>
|
pascal@151
|
1632 </text>
|
pascal@151
|
1633 <entry editable="false">
|
pascal@151
|
1634 <default>/etc/ethers</default>
|
pascal@151
|
1635 <variable>ETHERS</variable>
|
pascal@151
|
1636 </entry>
|
pascal@151
|
1637 <button>
|
pascal@151
|
1638 <input file icon="accessories-text-editor"></input>
|
pascal@372
|
1639 <action>[ -s \$ETHERS ] || echo "#00:01:02:03:04:05 mystation" >\$ETHERS</action>
|
pascal@371
|
1640 <action type="lauch">leafpad \$ETHERS</action>
|
pascal@151
|
1641 </button>
|
pascal@151
|
1642 </hbox>
|
pascal@151
|
1643 <hbox>
|
pascal@151
|
1644 <text use-markup="true">
|
pascal@141
|
1645 <label>"<b>Options : </b>"</label>
|
pascal@141
|
1646 </text>
|
pascal@271
|
1647 <entry editable="true">
|
pascal@141
|
1648 <variable>ETHERWAKE_OPTS</variable>
|
pascal@371
|
1649 </entry>
|
pascal@371
|
1650 $(helpbutton ether-wake 80x15)
|
pascal@371
|
1651 <button>
|
pascal@371
|
1652 <label>Start</label>
|
pascal@371
|
1653 <input file icon="forward"></input>
|
pascal@371
|
1654 <action>ether-wake \$ETHERWAKE_OPTS</action>
|
pascal@371
|
1655 </button>
|
pascal@371
|
1656 </hbox>
|
pascal@375
|
1657 <frame>
|
pascal@375
|
1658 <hbox>
|
pascal@375
|
1659 EOT
|
pascal@375
|
1660 if which ethtool > /dev/null; then
|
pascal@375
|
1661 cat <<EOT
|
pascal@375
|
1662 <text use-markup="true">
|
pascal@375
|
1663 <label>"<b>Interface:</b>"</label>
|
pascal@375
|
1664 </text>
|
pascal@375
|
1665 <combobox>
|
pascal@375
|
1666 <variable>ETHERWAKE_ETH</variable>
|
pascal@375
|
1667 EOT
|
pascal@375
|
1668 (cd /sys/class/net ; [ -d eth0 ] && ls -d eth* ) | \
|
pascal@375
|
1669 awk '{ printf " <item>%s</item>\n",$1 }'
|
pascal@375
|
1670 cat <<EOT
|
pascal@375
|
1671 </combobox>
|
pascal@375
|
1672 <button>
|
pascal@375
|
1673 <label>Enable Wake On LAN</label>
|
pascal@375
|
1674 <input file icon="forward"></input>
|
pascal@375
|
1675 <action>ethtool -s \$ETHERWAKE_ETH wok g</action>
|
pascal@375
|
1676 </button>
|
pascal@375
|
1677 EOT
|
pascal@375
|
1678 else
|
pascal@375
|
1679 cat <<EOT
|
pascal@375
|
1680 <vbox>
|
pascal@375
|
1681 <text wrap="true" width-chars="58">
|
pascal@375
|
1682 <label>
|
pascal@375
|
1683 "Ethtool utility can enable Wake-on-lan
|
pascal@375
|
1684 feature on many Ethernet card.
|
pascal@375
|
1685 "
|
pascal@375
|
1686 </label>
|
pascal@375
|
1687 </text>
|
pascal@375
|
1688 $(installbox ethtool)
|
pascal@375
|
1689 </vbox>
|
pascal@375
|
1690 EOT
|
pascal@375
|
1691 fi
|
pascal@375
|
1692 cat <<EOT
|
pascal@375
|
1693 </hbox>
|
pascal@375
|
1694 </frame>
|
pascal@371
|
1695 </frame>
|
pascal@371
|
1696 EOT
|
pascal@371
|
1697 }
|
pankso@33
|
1698
|
pascal@371
|
1699 data_main()
|
pascal@371
|
1700 {
|
pascal@371
|
1701 cat <<EOT
|
pascal@371
|
1702 #program tab name function
|
pascal@371
|
1703 ifconfig Connections tab_connections
|
pascal@371
|
1704 udhcpc DHCP tab_udhcpc
|
pascal@371
|
1705 ifconfig Static\ IP tab_fixed_ip
|
pascal@371
|
1706 pppoe PPPoE tab_pppoe
|
pascal@371
|
1707 pppd PPP tab_ppp
|
pascal@371
|
1708 true System\ wide tab_system
|
pascal@371
|
1709 true VPN tab_vpn
|
pascal@371
|
1710 true Servers tab_servers
|
pascal@371
|
1711 iptables Firewall tab_firewall
|
pascal@371
|
1712 knock Knock tab_knock
|
pascal@371
|
1713 ether-wake Etherwake tab_etherwake
|
pascal@371
|
1714 EOT
|
pascal@371
|
1715 }
|
pascal@371
|
1716
|
pascal@371
|
1717 tab_main()
|
pascal@371
|
1718 {
|
pascal@371
|
1719 use_tab data_main
|
pascal@371
|
1720 }
|
pascal@371
|
1721
|
pascal@371
|
1722 ######################################################
|
pascal@371
|
1723 #
|
pascal@371
|
1724 # Netbox GUI
|
pascal@371
|
1725 #
|
pascal@371
|
1726 ######################################################
|
pascal@371
|
1727
|
pascal@371
|
1728 # English/French help dialog.
|
pascal@371
|
1729 export HELP='
|
pascal@371
|
1730 <window title="Network status" icon-name="network-wire">
|
pascal@371
|
1731 <vbox>
|
pascal@371
|
1732 <text use-markup="true">
|
pascal@371
|
1733 <label>
|
pascal@371
|
1734 "
|
pascal@371
|
1735 <b>SliTaz - Netbox</b>"
|
pascal@371
|
1736 </label>
|
pascal@371
|
1737 </text>
|
pascal@371
|
1738 <frame English>
|
pascal@371
|
1739 <text wrap="true" width-chars="58">
|
pascal@371
|
1740 <label>
|
pascal@371
|
1741 "Netbox lets you manage network connections by getting a dynamic IP by
|
pascal@371
|
1742 DHCP or a static IP and setup servers. Netbox can start or stop
|
pascal@371
|
1743 networking, configure network interfaces or directly edit files."
|
pascal@371
|
1744 </label>
|
pascal@371
|
1745 </text>
|
pascal@371
|
1746 </frame>
|
pascal@371
|
1747 <frame Francais>
|
pascal@371
|
1748 <text wrap="true" width-chars="58">
|
pascal@371
|
1749 <label>
|
pascal@371
|
1750 "Netbox vous permet de gerer les connexions reseau avec une IP
|
pascal@371
|
1751 statique ou en obtenant une IP dynamique par DHCP, et de parametrer
|
pascal@371
|
1752 les serveurs. Netbox peut demarrer ou arreter le reseau, configurer
|
pascal@371
|
1753 les interfaces reseau ou editer directement les fichiers."
|
pascal@371
|
1754 </label>
|
pascal@371
|
1755 </text>
|
pascal@371
|
1756 </frame>
|
pascal@371
|
1757 </vbox>
|
pascal@371
|
1758 </window>
|
pascal@371
|
1759 '
|
pascal@371
|
1760
|
pascal@371
|
1761 # Interface status with ifconfig without arguments to show all
|
pascal@371
|
1762 # active connections.
|
pascal@371
|
1763 #
|
pascal@371
|
1764 export IFCONFIG="
|
pascal@371
|
1765 <window title=\"Network status\" icon-name=\"network-wire\">
|
pascal@371
|
1766 <vbox>
|
pascal@371
|
1767 $(tab_status)
|
pascal@371
|
1768 <hbox>
|
pascal@371
|
1769 <button>
|
pascal@371
|
1770 <input file icon=\"gtk-close\"></input>
|
pascal@371
|
1771 <action type=\"closewindow\">IFCONFIG</action>
|
pascal@371
|
1772 </button>
|
pascal@371
|
1773 </hbox>
|
pascal@371
|
1774 </vbox>
|
pascal@371
|
1775 </window>"
|
pascal@371
|
1776
|
pascal@371
|
1777 # The main dialog with notebook, start/stop buttons and all options.
|
pascal@371
|
1778 # Note that /etc/network.conf is seded when an interface is activated.
|
pascal@371
|
1779 #
|
pascal@371
|
1780 head='
|
pascal@371
|
1781 <window title="SliTaz Netbox Manager" icon-name="network-wired">
|
pascal@371
|
1782 <vbox>
|
pascal@371
|
1783
|
pascal@371
|
1784 <hbox>
|
pascal@371
|
1785 <text use-markup="true">
|
pascal@371
|
1786 <label>"<b>Network/Server Manager</b>"</label>
|
pascal@371
|
1787 </text>
|
pascal@371
|
1788 <pixmap>
|
pascal@371
|
1789 <input file>/usr/share/pixmaps/netbox.png</input>
|
pascal@371
|
1790 </pixmap>
|
pascal@371
|
1791 </hbox>
|
pascal@371
|
1792 '
|
pascal@371
|
1793 bottom='
|
pankso@297
|
1794 <hbox>
|
pankso@297
|
1795 <button>
|
pankso@297
|
1796 <label>Wireless manager</label>
|
pankso@297
|
1797 <input file icon="network-wireless"></input>
|
pankso@297
|
1798 <action>wifibox &</action>
|
pankso@297
|
1799 </button>
|
pankso@297
|
1800 <button>
|
pankso@297
|
1801 <label>Refresh list</label>
|
pankso@297
|
1802 <input file icon="reload"></input>
|
pankso@297
|
1803 <action>refresh:INTERFACE_LIST</action>
|
pankso@297
|
1804 </button>
|
pankso@297
|
1805 <button>
|
pankso@297
|
1806 <label>Full status</label>
|
pankso@297
|
1807 <input file icon="dialog-information"></input>
|
pankso@297
|
1808 <action type="launch">IFCONFIG</action>
|
pankso@297
|
1809 </button>
|
pankso@297
|
1810 <button help>
|
pankso@297
|
1811 <label>Help</label>
|
pankso@297
|
1812 <action type="launch">HELP</action>
|
pankso@297
|
1813 </button>
|
pankso@297
|
1814 <button>
|
pankso@297
|
1815 <label>Quit</label>
|
pankso@297
|
1816 <input file icon="exit"></input>
|
pankso@297
|
1817 <action type="exit">Exit</action>
|
pankso@297
|
1818 </button>
|
pankso@297
|
1819 </hbox>
|
pankso@194
|
1820
|
pankso@297
|
1821 </vbox>
|
pankso@38
|
1822 </window>
|
pankso@33
|
1823 '
|
pascal@371
|
1824
|
pascal@371
|
1825 NET_BOX="${head}$(tab_main)${bottom}"
|
pascal@126
|
1826
|
pascal@126
|
1827 export NET_BOX
|
pascal@126
|
1828
|
pascal@371
|
1829 # TODO: Modules(Network kernel modules)
|
pankso@33
|
1830
|
pankso@33
|
1831 # Only root can configure network.
|
pankso@33
|
1832 check_root
|
pankso@297
|
1833
|
pascal@177
|
1834 # Configure and connect if button Connect was pressed.
|
pascal@177
|
1835 if ! grep -qs ^name /etc/ppp/options ; then
|
pascal@177
|
1836 # Generate /etc/ppp/options
|
pascal@177
|
1837 cat > /etc/ppp/options << _EOT_
|
pascal@177
|
1838 plugin rp-pppoe.so
|
pascal@177
|
1839 name provider-ID
|
pascal@177
|
1840 noipdefault
|
pascal@177
|
1841 defaultroute
|
pascal@177
|
1842 mtu 1492
|
pascal@177
|
1843 mru 1492
|
pascal@177
|
1844 lock
|
pascal@177
|
1845 _EOT_
|
pascal@177
|
1846 # Generate /etc/ppp/pap-secrets
|
pascal@177
|
1847 cat > /etc/ppp/pap-secrets << _EOT_
|
pascal@177
|
1848 # Secrets for authentication using PAP
|
pascal@177
|
1849 # client server secret IP addresses
|
pascal@177
|
1850 _EOT_
|
pascal@177
|
1851 # Generate /etc/ppp/chap-secrets
|
pascal@177
|
1852 cat > /etc/ppp/chap-secrets << _EOT_
|
pascal@177
|
1853 # Secrets for authentication using CHAP
|
pascal@177
|
1854 # client server secret IP addresses
|
pascal@177
|
1855 _EOT_
|
pascal@177
|
1856 fi
|
pascal@259
|
1857 gtkdialog --center --program=NET_BOX | grep -a 'EXIT="restart"' && continue
|
pankso@33
|
1858 exit 0
|
pascal@259
|
1859 done
|