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@372
|
83 <action>$xterm -geometry $2 -title "$1 help (q to quit)" -e "$(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@371
|
376 cat <<EOT
|
pascal@371
|
377 <frame Ifconfig>
|
pascal@371
|
378 <text wrap="false" width-chars="58">
|
pascal@371
|
379 <input>ifconfig</input>
|
pankso@292
|
380 </text>
|
pascal@371
|
381 </frame>
|
pascal@371
|
382 EOT
|
pascal@371
|
383 }
|
pascal@371
|
384
|
pascal@371
|
385 #
|
pascal@371
|
386 # Status wifi interfaces
|
pascal@371
|
387 #
|
pascal@371
|
388 tab_status_wifi_iface()
|
pascal@371
|
389 {
|
pascal@371
|
390 cat <<EOT
|
pascal@371
|
391 <frame Iwconfig>
|
pascal@371
|
392 <text wrap="false" width-chars="58">
|
pascal@371
|
393 <input>iwconfig</input>
|
pascal@371
|
394 </text>
|
pascal@371
|
395 </frame>
|
pascal@371
|
396 EOT
|
pascal@371
|
397 }
|
pascal@371
|
398
|
pascal@371
|
399 #
|
pascal@371
|
400 # Status wifi network
|
pascal@371
|
401 #
|
pascal@371
|
402 tab_status_wifi_net()
|
pascal@371
|
403 {
|
pascal@371
|
404 cat <<EOT
|
pascal@371
|
405 <frame Wireless networks>
|
pascal@371
|
406 <text wrap="false" width-chars="58">
|
pascal@371
|
407 <input>iwlist scan</input>
|
pascal@371
|
408 </text>
|
pascal@371
|
409 </frame>
|
pascal@371
|
410 EOT
|
pascal@371
|
411 }
|
pascal@371
|
412
|
pascal@371
|
413 #
|
pascal@371
|
414 # Status routing
|
pascal@371
|
415 #
|
pascal@371
|
416 tab_status_route()
|
pascal@371
|
417 {
|
pascal@371
|
418 cat <<EOT
|
pascal@371
|
419 <frame Routing>
|
pascal@371
|
420 <frame Nameservers>
|
pascal@371
|
421 <text wrap="false" width-chars="58">
|
pascal@371
|
422 <input>cat /etc/resolv.conf</input>
|
pankso@292
|
423 </text>
|
pankso@292
|
424 </frame>
|
pascal@371
|
425 <frame Routing table>
|
pascal@371
|
426 <text wrap="false" width-chars="58">
|
pascal@371
|
427 <input>route</input>
|
pankso@292
|
428 </text>
|
pankso@292
|
429 </frame>
|
pascal@371
|
430 <frame Arp table>
|
pascal@371
|
431 <text wrap="false" width-chars="58">
|
pascal@371
|
432 <input>arp</input>
|
pascal@371
|
433 </text>
|
pascal@371
|
434 </frame>
|
pascal@371
|
435 </frame>
|
pascal@371
|
436 EOT
|
pascal@371
|
437 }
|
pankso@194
|
438
|
pankso@33
|
439 #
|
pascal@371
|
440 # Status servers
|
pascal@371
|
441 #
|
pascal@371
|
442 tab_status_servers()
|
pascal@371
|
443 {
|
pascal@372
|
444 local servers
|
pascal@372
|
445 servers="dropbear sshd inetd dhcpd dnsd named rsync httpd mbd vnc pppd knock"
|
pascal@371
|
446 cat <<EOT
|
pascal@371
|
447 <frame Servers>
|
pascal@371
|
448 <text wrap="false" width-chars="58">
|
pascal@372
|
449 <input>for i in $servers; do ps ww | grep \$i | grep -v grep | fold -s; done</input>
|
pascal@371
|
450 </text>
|
pascal@371
|
451 </frame>
|
pascal@371
|
452 EOT
|
pascal@371
|
453 }
|
pankso@33
|
454
|
pascal@371
|
455 data_status()
|
pascal@371
|
456 {
|
pascal@371
|
457 cat <<EOT
|
pascal@371
|
458 ifconfig Network\ interfaces tab_status_iface
|
pascal@371
|
459 iwconfig Wireless\ interfaces tab_status_wifi_iface
|
pascal@371
|
460 iwlist Wireless\ networks tab_status_wifi_net
|
pascal@371
|
461 route Routing tab_status_route
|
pascal@371
|
462 ps Servers tab_status_servers
|
pascal@371
|
463 EOT
|
pascal@371
|
464 }
|
pascal@371
|
465
|
pankso@33
|
466 #
|
pascal@371
|
467 # Status
|
pascal@371
|
468 #
|
pascal@371
|
469 tab_status()
|
pascal@371
|
470 {
|
pascal@371
|
471 use_tab data_status
|
pascal@371
|
472 }
|
pankso@194
|
473
|
pascal@371
|
474 #
|
pankso@297
|
475 # Interfaces list from detect_interfaces()
|
pascal@371
|
476 #
|
pascal@371
|
477 tab_connections()
|
pascal@371
|
478 {
|
pascal@371
|
479 cat <<EOT
|
pankso@297
|
480 <vbox>
|
pankso@297
|
481 <tree>
|
pankso@297
|
482 <width>520</width><height>120</height>
|
pankso@297
|
483 <variable>INTERFACE_LIST</variable>
|
pankso@297
|
484 <label>Interface|Type|Status</label>
|
pascal@371
|
485 <input icon_column="0">$0 detect_interfaces</input>
|
pankso@297
|
486 <action>refresh:INTERFACE_LIST</action>
|
pankso@297
|
487 </tree>
|
pascal@371
|
488 </vbox>
|
pascal@371
|
489 EOT
|
pascal@371
|
490 }
|
pankso@297
|
491
|
pascal@371
|
492 #
|
pankso@297
|
493 # DHCP
|
pascal@371
|
494 #
|
pascal@371
|
495 tab_udhcpc()
|
pascal@371
|
496 {
|
pascal@371
|
497 cat <<EOT
|
pankso@292
|
498 <frame Udhcpc (busybox)>
|
pankso@292
|
499 <text width-chars="58">
|
pascal@371
|
500 <label> "Ethernet (cable) default connection." </label>
|
pankso@292
|
501 </text>
|
pankso@292
|
502 <hbox>
|
pankso@292
|
503 <text use-markup="true">
|
pankso@292
|
504 <label>"<b>Interface:</b>"</label>
|
pankso@292
|
505 </text>
|
pankso@292
|
506 <entry>
|
pascal@371
|
507 <input>. /etc/network.conf; echo "\$INTERFACE"</input>
|
pankso@292
|
508 <variable>INTERFACE</variable>
|
pankso@292
|
509 </entry>
|
pankso@292
|
510 </hbox>
|
pankso@292
|
511 <hbox>
|
pankso@292
|
512 <text use-markup="true">
|
pankso@292
|
513 <label>"<b>Options: </b>"</label>
|
pankso@292
|
514 </text>
|
pankso@292
|
515 <entry>
|
pankso@292
|
516 <default>-b</default>
|
pankso@292
|
517 <variable>UDHCPC_OPTS</variable>
|
pankso@292
|
518 </entry>
|
pascal@372
|
519 $(helpbutton udhcpc 80x30)
|
pankso@292
|
520 </hbox>
|
pankso@292
|
521 <hbox>
|
pankso@292
|
522 <text use-markup="true">
|
pankso@292
|
523 <label>"<b>Script: </b>"</label>
|
pankso@292
|
524 </text>
|
pankso@292
|
525 <entry editable="false">
|
pankso@292
|
526 <default>/usr/share/udhcpc/default.script</default>
|
pankso@292
|
527 <variable>UDHCPC_SCRIPT</variable>
|
pankso@292
|
528 </entry>
|
pankso@292
|
529 <button>
|
pankso@292
|
530 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
531 <action type="lauch">leafpad \$UDHCPC_SCRIPT</action>
|
pankso@292
|
532 </button>
|
pankso@292
|
533 </hbox>
|
pankso@292
|
534 <hbox>
|
pankso@292
|
535 <button>
|
pankso@292
|
536 <label>Start</label>
|
pankso@292
|
537 <input file icon="forward"></input>
|
pascal@371
|
538 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE="\$INTERFACE"/ /etc/network.conf</action>
|
pascal@371
|
539 <action>sed -i s/DHCP="no"/DHCP="yes"/ /etc/network.conf</action>
|
pascal@371
|
540 <action>sed -i s/STATIC="yes"/STATIC="no"/ /etc/network.conf</action>
|
pascal@371
|
541 <action>udhcpc \$UDHCPC_OPTS -i \$INTERFACE -p /var/run/udhcpc.\$INTERFACE.pid</action>
|
pankso@297
|
542 <action>refresh:INTERFACE_LIST</action>
|
pankso@292
|
543 </button>
|
pankso@292
|
544 <button>
|
pankso@292
|
545 <label>Stop</label>
|
pankso@292
|
546 <input file icon="stop"></input>
|
pascal@371
|
547 <action>echo -n "Stopping interface : \$INTERFACE... "</action>
|
pascal@371
|
548 <action>ifconfig \$INTERFACE down</action>
|
pankso@292
|
549 <action>killall -q udhcpc; echo "done"</action>
|
pankso@297
|
550 <action>refresh:INTERFACE_LIST</action>
|
pankso@292
|
551 </button>
|
pankso@292
|
552 </hbox>
|
pascal@371
|
553 </frame>
|
pascal@371
|
554 EOT
|
pascal@371
|
555 }
|
pankso@194
|
556
|
pascal@371
|
557 #
|
pankso@292
|
558 # Static/fixed IP settings.
|
pascal@371
|
559 #
|
pascal@371
|
560 tab_fixed_ip()
|
pascal@371
|
561 {
|
pascal@371
|
562 cat <<EOT
|
pankso@292
|
563 <frame Ethernet fixed IP>
|
pankso@292
|
564 <hbox>
|
pankso@292
|
565 <text use-markup="true">
|
pankso@292
|
566 <label>"<b>Interface: </b>"</label>
|
pankso@292
|
567 </text>
|
pankso@292
|
568 <entry>
|
pascal@371
|
569 <input>. /etc/network.conf; echo "\$INTERFACE"</input>
|
pankso@292
|
570 <variable>INTERFACE</variable>
|
pankso@292
|
571 </entry>
|
pankso@292
|
572 </hbox>
|
pankso@292
|
573 <hbox>
|
pankso@292
|
574 <text use-markup="true">
|
pankso@292
|
575 <label>"<b>IP: </b>"</label>
|
pankso@292
|
576 </text>
|
pankso@292
|
577 <entry>
|
pascal@371
|
578 <input>. /etc/network.conf; echo "\$IP"</input>
|
pankso@292
|
579 <variable>IP</variable>
|
pankso@292
|
580 </entry>
|
pankso@292
|
581 </hbox>
|
pankso@292
|
582 <hbox>
|
pankso@292
|
583 <text use-markup="true">
|
pankso@292
|
584 <label>"<b>Netmask: </b>"</label>
|
pankso@292
|
585 </text>
|
pankso@292
|
586 <entry>
|
pascal@371
|
587 <input>. /etc/network.conf; echo "\$NETMASK"</input>
|
pankso@292
|
588 <variable>NETMASK</variable>
|
pankso@292
|
589 </entry>
|
pankso@292
|
590 </hbox>
|
pankso@292
|
591 <hbox>
|
pankso@292
|
592 <text use-markup="true">
|
pankso@292
|
593 <label>"<b>Gateway: </b>"</label>
|
pankso@292
|
594 </text>
|
pankso@292
|
595 <entry>
|
pascal@371
|
596 <input>. /etc/network.conf; echo "\$GATEWAY"</input>
|
pankso@292
|
597 <variable>GATEWAY</variable>
|
pankso@292
|
598 </entry>
|
pankso@292
|
599 </hbox>
|
pankso@292
|
600 <hbox>
|
pankso@292
|
601 <text use-markup="true">
|
pankso@292
|
602 <label>"<b>DNS server: </b>"</label>
|
pankso@292
|
603 </text>
|
pankso@292
|
604 <entry>
|
pascal@371
|
605 <input>. /etc/network.conf; echo "\$DNS_SERVER"</input>
|
pankso@292
|
606 <variable>DNS_SERVER</variable>
|
pankso@292
|
607 </entry>
|
pascal@371
|
608 </hbox>
|
pankso@292
|
609 <hbox>
|
pankso@292
|
610 <button>
|
pankso@292
|
611 <label>Start</label>
|
pankso@292
|
612 <input file icon="forward"></input>
|
pankso@292
|
613 <action>ifconfig lo down</action>
|
pascal@371
|
614 <action>ifconfig \$INTERFACE down</action>
|
pascal@371
|
615 <action>sed -i s/`cat /etc/network.conf | grep ^INTERFACE=`/INTERFACE="\$INTERFACE"/ /etc/network.conf</action>
|
pascal@371
|
616 <action>sed -i s/DHCP="yes"/DHCP="no"/ /etc/network.conf</action>
|
pascal@371
|
617 <action>sed -i s/WIFI="yes"/WIFI="no"/ /etc/network.conf</action>
|
pascal@371
|
618 <action>sed -i s/STATIC="no"/STATIC="yes"/ /etc/network.conf</action>
|
pascal@371
|
619 <action>sed -i s/`cat /etc/network.conf | grep ^IP=`/IP="\$IP"/ /etc/network.conf</action>
|
pascal@371
|
620 <action>sed -i s/`cat /etc/network.conf | grep ^NETMASK=`/NETMASK="\$NETMASK"/ /etc/network.conf</action>
|
pascal@371
|
621 <action>sed -i s/`cat /etc/network.conf | grep ^GATEWAY=`/GATEWAY="\$GATEWAY"/ /etc/network.conf</action>
|
pascal@371
|
622 <action>sed -i s/`cat /etc/network.conf | grep ^DNS_SERVER=`/DNS_SERVER="\$DNS_SERVER"/ /etc/network.conf</action>
|
pankso@292
|
623 <action>/etc/init.d/network.sh</action>
|
pankso@297
|
624 <action>refresh:INTERFACE_LIST</action>
|
pankso@292
|
625 </button>
|
pankso@292
|
626 <button>
|
pankso@292
|
627 <label>Stop</label>
|
pankso@292
|
628 <input file icon="stop"></input>
|
pascal@371
|
629 <action>ifconfig \$INTERFACE down</action>
|
pankso@297
|
630 <action>refresh:INTERFACE_LIST</action>
|
pankso@292
|
631 </button>
|
pankso@292
|
632 </hbox>
|
pascal@371
|
633 </frame>
|
pascal@371
|
634 EOT
|
pascal@371
|
635 }
|
pankso@292
|
636
|
pascal@371
|
637 #
|
pankso@292
|
638 # PPPoe settings.
|
pascal@371
|
639 #
|
pascal@371
|
640 tab_pppoe()
|
pascal@371
|
641 {
|
pascal@371
|
642 cat <<EOT
|
pankso@292
|
643 <frame PPPoE>
|
pankso@292
|
644 <hbox>
|
pankso@292
|
645 <text use-markup="true">
|
pankso@292
|
646 <label>"<b>Name: </b>"</label>
|
pankso@292
|
647 </text>
|
pankso@292
|
648 <entry>
|
pascal@371
|
649 <input>NAME=\$(grep -s ^name /etc/ppp/options); echo "\${NAME#* }"</input>
|
pankso@292
|
650 <variable>NAME</variable>
|
pankso@292
|
651 </entry>
|
pankso@292
|
652 </hbox>
|
pankso@292
|
653 <hbox>
|
pankso@292
|
654 <text use-markup="true">
|
pankso@292
|
655 <label>"<b>Username:</b>"</label>
|
pankso@292
|
656 </text>
|
pankso@292
|
657 <entry>
|
pankso@292
|
658 <variable>USER</variable>
|
pankso@292
|
659 </entry>
|
pankso@292
|
660 </hbox>
|
pankso@292
|
661 <hbox>
|
pankso@292
|
662 <text use-markup="true">
|
pankso@292
|
663 <label>"<b>Password:</b>"</label>
|
pankso@292
|
664 </text>
|
pankso@292
|
665 <entry>
|
pankso@292
|
666 <variable>PASS</variable>
|
pankso@292
|
667 </entry>
|
pankso@292
|
668 </hbox>
|
pankso@292
|
669 <hbox>
|
pascal@371
|
670 $(helpbutton pppd 80x30)
|
pascal@371
|
671 $(manbutton 8 pppd)
|
pascal@374
|
672 $(webbutton ppp)
|
pankso@292
|
673 <button>
|
pankso@292
|
674 <input file icon="accessories-text-editor"></input>
|
pankso@292
|
675 <label>Tune</label>
|
pascal@371
|
676 <action>[ -n "\$NAME" ] && sed -i "s/^name .*/name \$NAME/" /etc/ppp/options</action>
|
pankso@292
|
677 <action type="lauch">leafpad /etc/ppp/options</action>
|
pankso@292
|
678 </button>
|
pankso@292
|
679 <button>
|
pankso@292
|
680 <label>Start</label>
|
pankso@292
|
681 <input file icon="forward"></input>
|
pascal@371
|
682 <action>[ -n "\$USER" ] && grep -qs "^\"\$USER\"" /etc/ppp/pap-secrets
|
pascal@371
|
683 && echo "\"\$USER\" * \"\$PASS\"" >> /etc/ppp/pap-secrets</action>
|
pascal@371
|
684 <action>[ -n "\$USER" ] && grep -qs "^\"\$USER\"" /etc/ppp/chap-secrets
|
pascal@371
|
685 && echo "\"\$USER\" * \"\$PASS\"" >> /etc/ppp/chap-secrets</action>
|
pascal@371
|
686 <action>[ -n "\$NAME" ] && sed -i "s/^name .*/name \$NAME/" /etc/ppp/options</action>
|
pankso@292
|
687 <action>killall udhcpc</action>
|
pankso@292
|
688 <action>sed -i "s/DHCP=\"yes\"/DHCP=\"no\"/" /etc/network.conf</action>
|
pankso@292
|
689 <action>sed -i "s/PPPOE=\"no\"/PPPOE=\"yes\"/" /etc/network.conf</action>
|
pascal@371
|
690 <action>pppd \$INTERFACE &</action>
|
pankso@292
|
691 </button>
|
pankso@292
|
692 <button>
|
pankso@292
|
693 <label>Stop</label>
|
pankso@292
|
694 <input file icon="stop"></input>
|
pankso@292
|
695 <action>sed -i "s/PPPOE=\"yes\"/PPPOE=\"no\"/" /etc/network.conf</action>
|
pankso@292
|
696 <action>killall pppd</action>
|
pankso@292
|
697 </button>
|
pankso@292
|
698 </hbox>
|
pascal@371
|
699 </frame>
|
pascal@371
|
700 EOT
|
pascal@371
|
701 }
|
pankso@292
|
702
|
pascal@371
|
703 #
|
pankso@292
|
704 # PPP settings.
|
pascal@371
|
705 #
|
pascal@371
|
706 tab_ppp()
|
pascal@371
|
707 {
|
pascal@371
|
708 cat <<EOT
|
pankso@292
|
709 <frame PPP>
|
pankso@292
|
710 <hbox>
|
pankso@292
|
711 <text use-markup="true">
|
pankso@292
|
712 <label>"<b>Username: </b>"</label>
|
pankso@292
|
713 </text>
|
pankso@292
|
714 <entry>
|
pascal@371
|
715 <input>USER=\$(grep -s ^ACCOUNT= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${USER#*=}"</input>
|
pankso@292
|
716 <variable>USER</variable>
|
pankso@292
|
717 </entry>
|
pankso@292
|
718 </hbox>
|
pankso@292
|
719 <hbox>
|
pankso@292
|
720 <text use-markup="true">
|
pankso@292
|
721 <label>"<b>Password: </b>"</label>
|
pankso@292
|
722 </text>
|
pankso@292
|
723 <entry>
|
pascal@371
|
724 <input>PASS=\$(grep -s ^PASSWORD= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${PASS#*=}"</input>
|
pankso@292
|
725 <variable>PASS</variable>
|
pankso@292
|
726 </entry>
|
pankso@292
|
727 </hbox>
|
pankso@292
|
728 <hbox>
|
pankso@292
|
729 <text use-markup="true">
|
pankso@292
|
730 <label>"<b>Telephone:</b>"</label>
|
pankso@292
|
731 </text>
|
pankso@292
|
732 <entry>
|
pascal@371
|
733 <input>PHONE=\$(grep -s ^TELEPHONE= /etc/ppp/scripts/ppp-on | cut -f1); echo "\${PHONE#*=}"</input>
|
pankso@292
|
734 <variable>PHONE</variable>
|
pankso@292
|
735 </entry>
|
pankso@292
|
736 </hbox>
|
pankso@292
|
737 <hbox>
|
pascal@371
|
738 $(helpbutton pppd 80x30)
|
pascal@371
|
739 $(manbutton 8 pppd)
|
pascal@374
|
740 $(webbutton ppp)
|
pankso@292
|
741 <button>
|
pankso@292
|
742 <input file icon="accessories-text-editor"></input>
|
pankso@292
|
743 <label>Tune</label>
|
pascal@371
|
744 <action>[ -n "\$NAME" ] && sed -i "s/^ACCOUNT=.*/ACCOUNT=\$NAME/" /etc/ppp/scripts/ppp-on</action>
|
pascal@371
|
745 <action>[ -n "\$PASS" ] && sed -i "s/^PASSWORD=.*/PASSWORD=\$PASS/" /etc/ppp/scripts/ppp-on</action>
|
pascal@371
|
746 <action>[ -n "\$PHONE" ] && sed -i "s/^TELEPHONE=.*/TELEPHONE=\$PHONE/" /etc/ppp/scripts/ppp-on</action>
|
pankso@292
|
747 <action type="lauch">leafpad /etc/ppp/scripts/ppp-on</action>
|
pankso@292
|
748 </button>
|
pankso@292
|
749 <button>
|
pankso@292
|
750 <label>Start</label>
|
pankso@292
|
751 <input file icon="forward"></input>
|
pascal@371
|
752 <action>[ -n "\$USER" ] && grep -qs "^\"\$USER\"" /etc/ppp/pap-secrets
|
pascal@371
|
753 && echo "\"\$USER\" * \"\$PASS\"" >> /etc/ppp/pap-secrets</action>
|
pascal@371
|
754 <action>[ -n "\$USER" ] && grep -qs "^\"\$USER\"" /etc/ppp/chap-secrets
|
pascal@371
|
755 && echo "\"\$USER\" * \"\$PASS\"" >> /etc/ppp/chap-secrets</action>
|
pascal@371
|
756 <action>[ -n "\$NAME" ] && sed -i "s/^name .*/name \$NAME/" /etc/ppp/options</action>
|
pankso@292
|
757 <action>/etc/ppp/scripts/ppp-off</action>
|
pankso@292
|
758 <action>/etc/ppp/scripts/ppp-on &</action>
|
pankso@292
|
759 </button>
|
pankso@292
|
760 <button>
|
pankso@292
|
761 <label>Stop</label>
|
pankso@292
|
762 <input file icon="stop"></input>
|
pankso@292
|
763 <action>/etc/ppp/scripts/ppp-off</action>
|
pankso@292
|
764 </button>
|
pankso@292
|
765 </hbox>
|
pascal@371
|
766 </frame>
|
pascal@371
|
767 EOT
|
pascal@371
|
768 }
|
pankso@292
|
769
|
pankso@292
|
770 #
|
pascal@371
|
771 # System Wide configuration.
|
pankso@292
|
772 #
|
pascal@371
|
773 tab_system()
|
pascal@371
|
774 {
|
pascal@371
|
775 cat <<EOT
|
pascal@371
|
776 <frame Configuration files>
|
pankso@33
|
777 <hbox>
|
pankso@33
|
778 <text use-markup="true">
|
pankso@34
|
779 <label>"<b>Hosts :</b>"</label>
|
pankso@33
|
780 </text>
|
pankso@33
|
781 <entry editable="false">
|
pankso@33
|
782 <default>/etc/hosts</default>
|
pankso@33
|
783 <variable>HOSTS</variable>
|
pankso@33
|
784 </entry>
|
pankso@33
|
785 <button>
|
pankso@33
|
786 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
787 <action type="lauch">leafpad \$HOSTS</action>
|
pankso@33
|
788 </button>
|
pankso@33
|
789 </hbox>
|
pankso@33
|
790 <hbox>
|
pankso@33
|
791 <text use-markup="true">
|
pankso@34
|
792 <label>"<b>Host name :</b>"</label>
|
pankso@33
|
793 </text>
|
pankso@33
|
794 <entry editable="false">
|
pankso@33
|
795 <default>/etc/hostname</default>
|
pankso@33
|
796 <variable>HOSTNAME</variable>
|
pankso@33
|
797 </entry>
|
pankso@33
|
798 <button>
|
pankso@33
|
799 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
800 <action type="lauch">leafpad \$HOSTNAME</action>
|
pankso@33
|
801 </button>
|
pankso@33
|
802 </hbox>
|
pankso@33
|
803 <hbox>
|
pankso@33
|
804 <text use-markup="true">
|
pankso@34
|
805 <label>"<b>Network :</b>"</label>
|
pankso@33
|
806 </text>
|
pankso@33
|
807 <entry editable="false">
|
pankso@33
|
808 <default>/etc/network.conf</default>
|
pankso@33
|
809 <variable>CONFIG_FILE</variable>
|
pankso@33
|
810 </entry>
|
pankso@33
|
811 <button>
|
pankso@33
|
812 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
813 <action type="lauch">leafpad \$CONFIG_FILE</action>
|
pankso@33
|
814 </button>
|
pankso@33
|
815 </hbox>
|
pankso@33
|
816 <hbox>
|
pankso@33
|
817 <button>
|
pankso@33
|
818 <label>Restart</label>
|
pankso@33
|
819 <input file icon="reload"></input>
|
pascal@371
|
820 <action>echo -n "Stopping interface : \$INTERFACE... "</action>
|
pascal@371
|
821 <action>ifconfig \$INTERFACE down</action>
|
pankso@33
|
822 <action>killall -q udhcpc; echo "done"</action>
|
pascal@261
|
823 <action>/etc/init.d/network.sh restart</action>
|
pankso@33
|
824 </button>
|
pankso@33
|
825 </hbox>
|
pascal@371
|
826 </frame>
|
pascal@371
|
827 EOT
|
pascal@371
|
828 }
|
pankso@194
|
829
|
pascal@371
|
830 #
|
pascal@371
|
831 # ssh/ppp
|
pascal@371
|
832 #
|
pascal@371
|
833 tab_sshppp()
|
pascal@371
|
834 {
|
pascal@371
|
835 cat <<EOT
|
pascal@177
|
836 <frame Virtual Private Network with PPP/SSH>
|
pascal@177
|
837 <hbox>
|
pascal@177
|
838 <text use-markup="true">
|
pascal@177
|
839 <label>"<b>Peer :</b>"</label>
|
pascal@177
|
840 </text>
|
pascal@177
|
841 <entry>
|
pascal@177
|
842 <variable>DROPBEAR_PEERVPN</variable>
|
pascal@177
|
843 <default>user@elsewhere</default>
|
pascal@177
|
844 </entry>
|
pascal@177
|
845 </hbox>
|
pascal@177
|
846 <hbox>
|
pascal@177
|
847 <text use-markup="true">
|
pascal@177
|
848 <label>"<b>Local IP :</b>"</label>
|
pascal@177
|
849 </text>
|
pascal@177
|
850 <entry>
|
pascal@177
|
851 <variable>DROPBEAR_LOCAL</variable>
|
pascal@177
|
852 <default>192.168.254.1</default>
|
pascal@177
|
853 </entry>
|
pascal@177
|
854 </hbox>
|
pascal@177
|
855 <hbox>
|
pascal@177
|
856 <text use-markup="true">
|
pascal@177
|
857 <label>"<b>Remote IP :</b>"</label>
|
pascal@177
|
858 </text>
|
pascal@177
|
859 <entry>
|
pascal@177
|
860 <variable>DROPBEAR_REMOTE</variable>
|
pascal@177
|
861 <default>192.168.254.2</default>
|
pascal@177
|
862 </entry>
|
pascal@177
|
863 </hbox>
|
pascal@177
|
864 <hbox>
|
pascal@177
|
865 <text use-markup="true">
|
pascal@177
|
866 <label>"<b>Route(s) :</b>"</label>
|
pascal@177
|
867 </text>
|
pascal@177
|
868 <entry>
|
pascal@177
|
869 <variable>DROPBEAR_ROUTE</variable>
|
pascal@177
|
870 <default>192.168.10.0/24 192.168.20.0/28</default>
|
pascal@177
|
871 </entry>
|
pascal@177
|
872 </hbox>
|
pascal@177
|
873 <hbox>
|
pascal@372
|
874 $(wikibutton http://wiki.slitaz.org/doku.php?id=quickstart:vpn)
|
pascal@247
|
875 <button>
|
pascal@177
|
876 <input file icon="forward"></input>
|
pascal@177
|
877 <label>Connect</label>
|
pascal@371
|
878 <action>$0 call vpnssh \$DROPBEAR_PEERVPN \$DROPBEAR_LOCAL \$DROPBEAR_REMOTE "\$DROPBEAR_ROUTE" &</action>
|
pascal@177
|
879 </button>
|
pascal@177
|
880 <button>
|
pascal@177
|
881 <input file icon="stop"></input>
|
pascal@177
|
882 <label>Disconnect</label>
|
pascal@371
|
883 <action>$0 call killvpnssh</action>
|
pascal@177
|
884 </button>
|
pascal@177
|
885 <button>
|
pascal@177
|
886 <input file icon="go-up"></input>
|
pascal@177
|
887 <label>Send key</label>
|
pascal@372
|
888 <action>$xterm -geometry 80x10 -title "Send key" -e "$0 call sendsshkey \$DROPBEAR_PEERVPN; echo -e \"----\nENTER to continue...\" && read close"</action>
|
pascal@177
|
889 </button>
|
pascal@177
|
890 </hbox>
|
pascal@177
|
891 </frame>
|
pascal@371
|
892 EOT
|
pascal@371
|
893 }
|
pascal@371
|
894
|
pascal@371
|
895 #
|
pascal@371
|
896 # PPTP client
|
pascal@371
|
897 #
|
pascal@371
|
898 #FIXME
|
pascal@371
|
899 #cat > /etc/ppp/peers/$TUNNEL <<EOT
|
pascal@371
|
900 #pty "pptp $SERVER --nolaunchpppd"
|
pascal@371
|
901 #lock
|
pascal@371
|
902 #noauth
|
pascal@371
|
903 #nobsdcomp
|
pascal@371
|
904 #nodeflate
|
pascal@371
|
905 #name $DOMAIN\\$USERNAME
|
pascal@371
|
906 #remotename $TUNNEL
|
pascal@371
|
907 #ipparam $TUNNEL
|
pascal@371
|
908 #$(encryption && echo "require-mppe-128")
|
pascal@371
|
909 #EOT
|
pascal@371
|
910 #pppd call $TUNNEL updetach
|
pascal@371
|
911
|
pascal@371
|
912 tab_pptp()
|
pascal@371
|
913 {
|
pascal@371
|
914 [ -f /etc/ppp/options.pptp ] || cat >> /etc/ppp/options.pptp <<EOT
|
pascal@371
|
915 lock noauth nobsdcomp nodeflate remotename PPTP
|
pascal@371
|
916 EOT
|
pascal@371
|
917 [ -f /etc/ppp/pptp-servers ] || cat >> /etc/ppp/pptp-servers <<EOT
|
pascal@371
|
918 # PPTP servers list
|
pascal@371
|
919 EOT
|
pascal@371
|
920 cat <<EOT
|
pascal@371
|
921 <frame Virtual Private Network with PPTP>
|
pascal@371
|
922 <hbox>
|
pascal@371
|
923 <text use-markup="true">
|
pascal@371
|
924 <label>"<b>Server:</b>"</label>
|
pascal@371
|
925 </text>
|
pascal@371
|
926 <combobox>
|
pascal@371
|
927 <variable>PPTP_SERVER</variable>
|
pascal@371
|
928 EOT
|
pascal@371
|
929 grep -v ^\# /etc/ppp/pptp-servers | \
|
pascal@371
|
930 awk '{ printf " <item>%s</item>\n",$1 }'
|
pascal@371
|
931 cat <<EOT
|
pascal@371
|
932 <item>SERVER</item>
|
pascal@371
|
933 </combobox>
|
pascal@371
|
934 <button>
|
pascal@371
|
935 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
936 <action type="lauch">leafpad /etc/ppp/pptp-servers</action>
|
pascal@371
|
937 </button>
|
pascal@371
|
938 </hbox>
|
pascal@371
|
939 <hbox>
|
pascal@371
|
940 <text use-markup="true">
|
pascal@371
|
941 <label>"<b> User:</b>"</label>
|
pascal@371
|
942 </text>
|
pascal@371
|
943 <combobox>
|
pascal@371
|
944 <variable>PPTP_USER</variable>
|
pascal@371
|
945 EOT
|
pascal@371
|
946 grep '\\' /etc/ppp/chap-secrets | grep -v ^\# | \
|
pascal@371
|
947 awk '{ printf " <item>%s</item>\n",$1 }'
|
pascal@371
|
948 cat <<EOT
|
pascal@371
|
949 <item>DOMAIN\USERNAME</item>
|
pascal@371
|
950 </combobox>
|
pascal@371
|
951 <button>
|
pascal@371
|
952 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
953 <action type="lauch">leafpad /etc/ppp/chap-secrets</action>
|
pascal@371
|
954 </button>
|
pascal@371
|
955 </hbox>
|
pascal@371
|
956 <hbox>
|
pascal@371
|
957 <text use-markup="true">
|
pascal@371
|
958 <label>"<b>Password:</b>"</label>
|
pascal@371
|
959 </text>
|
pascal@371
|
960 <entry>
|
pascal@371
|
961 <variable>PPTP_PASS</variable>
|
pascal@371
|
962 </entry>
|
pascal@371
|
963 </hbox>
|
pascal@371
|
964 <hbox>
|
pascal@371
|
965 <checkbox>
|
pascal@371
|
966 <label>Encryption</label>
|
pascal@371
|
967 <variable>PPTP_ENC</variable>
|
pascal@371
|
968 <default>true</default>
|
pascal@371
|
969 </checkbox>
|
pascal@371
|
970 $(helpbutton pptp 80x35)
|
pascal@371
|
971 <button>
|
pascal@371
|
972 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
973 <label>Options</label>
|
pascal@371
|
974 <action type="lauch">leafpad /etc/ppp/options.pptp</action>
|
pascal@371
|
975 </button>
|
pascal@374
|
976 $(webbutton pptpclient)
|
pascal@371
|
977 <button>
|
pascal@371
|
978 <input file icon="forward"></input>
|
pascal@371
|
979 <label>Connect</label>
|
pascal@371
|
980 <action>grep -qs ^\$PPTP_USER /etc/ppp/chap-secrets || \
|
pascal@371
|
981 echo "\$PPTP_USER PPTP \"$PPTP_PASS\" *" >> /etc/ppp/chap-secrets</action>
|
pascal@371
|
982 <action>grep -qs ^\$PPTP_SERVER /etc/ppp/pptp-servers || \
|
pascal@371
|
983 echo "\$PPTP_SERVER" >> /etc/ppp/pptp-servers</action>
|
pascal@371
|
984 <action>PASS=""; [ -n "\$PPTP_PASS" ] && PASS="password \$PASS"; \
|
pascal@371
|
985 ENC=""; [ x\$PPTP_ENC == xtrue ] && ENC="require-mppe-128"; \
|
pascal@371
|
986 /usr/sbin/pptp \$PPTP_SERVER file /etc/ppp/options.pptp \$ENC user \$PPTP_USER \$PASS &
|
pascal@371
|
987 </action>
|
pascal@371
|
988 </button>
|
pascal@371
|
989 <button>
|
pascal@371
|
990 <input file icon="stop"></input>
|
pascal@371
|
991 <label>Disconnect</label>
|
pascal@371
|
992 <action>killall pptp</action>
|
pascal@371
|
993 </button>
|
pascal@371
|
994 </hbox>
|
pascal@371
|
995 </frame>
|
pascal@371
|
996 EOT
|
pascal@371
|
997 }
|
pascal@371
|
998
|
pascal@374
|
999 #
|
pascal@374
|
1000 # Cisco EasyVPN
|
pascal@374
|
1001 #
|
pascal@374
|
1002 tab_easyvpn()
|
pascal@374
|
1003 {
|
pascal@374
|
1004 cat <<EOT
|
pascal@374
|
1005 <frame Cisco EasyVPN>
|
pascal@374
|
1006 <hbox>
|
pascal@374
|
1007 <text use-markup="true">
|
pascal@374
|
1008 <label>"<b>VPNC_OPTIONS</b>"</label>
|
pascal@374
|
1009 </text>
|
pascal@374
|
1010 <entry editable="false">
|
pascal@374
|
1011 EOT
|
pascal@374
|
1012 [ -n "$VPNC_OPTIONS" ] && cat << EOT
|
pascal@374
|
1013 <default>$tmp</default>
|
pascal@374
|
1014 EOT
|
pascal@374
|
1015 cat << EOT
|
pascal@374
|
1016 <variable>VPNC_OPTS</variable>
|
pascal@374
|
1017 </entry>
|
pascal@374
|
1018 $(helpbutton vpnc 80x30)
|
pascal@374
|
1019 <button>
|
pascal@374
|
1020 <input file icon="help"></input>
|
pascal@374
|
1021 <label>more</label>
|
pascal@374
|
1022 <action>$xterm -geometry 80x40 -title "vpnc help (q to quit)" -e "$(which vpnc) --long-help 2>&1 | less"</action>
|
pascal@374
|
1023 </button>
|
pascal@374
|
1024 $(editbutton /etc/daemons.conf)
|
pascal@374
|
1025 </hbox>
|
pascal@374
|
1026 $(configfile /etc/vpnc/default.conf VPNC_CONF)
|
pascal@374
|
1027 $(datafile "/etc/vpnc/vpnc-script" VPNC_SCRIPT 'Script:')
|
pascal@374
|
1028 <hbox>
|
pascal@374
|
1029 $(startstopdaemon vpnc)
|
pascal@374
|
1030 </hbox>
|
pascal@374
|
1031 </frame>
|
pascal@374
|
1032 EOT
|
pascal@374
|
1033 }
|
pascal@374
|
1034
|
pascal@371
|
1035 data_vpn()
|
pascal@371
|
1036 {
|
pascal@371
|
1037 cat <<EOT
|
pascal@371
|
1038 $([ -x /usr/sbin/dropbear -o -x /usr/sbin/sshd ] && echo "pppd" ||
|
pascal@371
|
1039 echo "#") PPP/SSH tab_sshppp
|
pascal@371
|
1040 pptp PPTP tab_pptp
|
pascal@374
|
1041 vpnc EasyVPN tab_easyvpn
|
pascal@371
|
1042 #TODO openvpn OpenVPN tab_openvpn
|
pascal@371
|
1043 EOT
|
pascal@371
|
1044 }
|
pascal@371
|
1045
|
pascal@371
|
1046 #
|
pascal@371
|
1047 # VPN
|
pascal@371
|
1048 #
|
pascal@371
|
1049 tab_vpn()
|
pascal@371
|
1050 {
|
pascal@371
|
1051 use_tab data_vpn
|
pascal@371
|
1052 }
|
pascal@272
|
1053
|
pascal@272
|
1054 sshremote()
|
pascal@272
|
1055 {
|
pascal@272
|
1056 cat << EOT
|
pascal@126
|
1057 <hbox>
|
pascal@177
|
1058 <text use-markup="true">
|
pascal@177
|
1059 <label>"<b>Remote :</b>"</label>
|
pascal@177
|
1060 </text>
|
pascal@177
|
1061 <entry>
|
pascal@272
|
1062 <variable>$2</variable>
|
pascal@177
|
1063 <default>user@elsewhere</default>
|
pascal@177
|
1064 </entry>
|
pascal@177
|
1065 <button>
|
pascal@177
|
1066 <input file icon="utilities-terminal"></input>
|
pascal@177
|
1067 <label>Connect</label>
|
pascal@272
|
1068 <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
|
1069 </button>
|
pascal@177
|
1070 <button>
|
pascal@177
|
1071 <input file icon="go-up"></input>
|
pascal@177
|
1072 <label>Send key</label>
|
pascal@372
|
1073 <action>$xterm -geometry 80x10 -title "send ssh key" -e "$0 call sendsshkey \$$2; echo -e \"----\nENTER to continue...\" && read close"</action>
|
pascal@177
|
1074 </button>
|
pascal@177
|
1075 </hbox>
|
pascal@272
|
1076 EOT
|
pascal@272
|
1077 }
|
pascal@272
|
1078
|
pascal@371
|
1079 #
|
pascal@371
|
1080 # Dropbear client & server
|
pascal@371
|
1081 #
|
pascal@371
|
1082 tab_dropbear()
|
pascal@371
|
1083 {
|
pascal@371
|
1084 . /etc/daemons.conf
|
pascal@371
|
1085 set -- $DROPBEAR_OPTIONS
|
pascal@371
|
1086 while [ -n "$2" ]; do
|
pascal@371
|
1087 [ "$1" = "-b" ] && DROPBEAR_BANNER="$2" && break
|
pascal@371
|
1088 shift
|
pascal@371
|
1089 done
|
pascal@371
|
1090
|
pascal@371
|
1091 cat <<EOT
|
pascal@272
|
1092 <frame Dropbear>
|
pascal@272
|
1093 $(helpdaemon dropbear 80x30 DROPBEAR_OPTIONS DROPBEAR_OPTS)
|
pascal@272
|
1094 $(datafile /etc/dropbear/banner DROPBEAR_BANNER 'Banner :')
|
pascal@272
|
1095 $(sshremote DROPBEAR_PEER 'dbclient -i /etc/dropbear/dropbear_rsa_host_key')
|
pascal@177
|
1096 <hbox>
|
pascal@271
|
1097 $(startstopdaemon dropbear)
|
pascal@126
|
1098 </hbox>
|
pascal@126
|
1099 </frame>
|
pascal@371
|
1100 EOT
|
pascal@371
|
1101 }
|
pascal@371
|
1102
|
pascal@371
|
1103 #
|
pascal@371
|
1104 # OpenSSH client & server
|
pascal@371
|
1105 #
|
pascal@371
|
1106 tab_openssh()
|
pascal@371
|
1107 {
|
pascal@371
|
1108 cat <<EOT
|
pascal@272
|
1109 <frame OpenSSH>
|
pascal@272
|
1110 $(helpdaemon sshd 80x30 OPENSSH_OPTIONS OPENSSH_OPTS 8 nohelp)
|
pascal@272
|
1111 $(configfile /etc/ssh/sshd_config OPENSSH_CONF '5 sshd_config')
|
pascal@272
|
1112 $(sshremote OPENSSH_PEER 'ssh -i /etc/ssh/ssh_host_rsa_key')
|
pascal@126
|
1113 <hbox>
|
pascal@272
|
1114 $(startstopdaemon openssh)
|
pascal@126
|
1115 </hbox>
|
pascal@272
|
1116 </frame>
|
pascal@371
|
1117 EOT
|
pascal@371
|
1118 }
|
pascal@371
|
1119
|
pascal@371
|
1120 data_sshd()
|
pascal@371
|
1121 {
|
pascal@371
|
1122 cat <<EOT
|
pascal@371
|
1123 dropbear Dropbear tab_dropbear
|
pascal@371
|
1124 sshd OpenSSH tab_openssh
|
pascal@371
|
1125 EOT
|
pascal@371
|
1126 }
|
pascal@371
|
1127
|
pascal@371
|
1128 #
|
pascal@371
|
1129 # SSH tab
|
pascal@371
|
1130 #
|
pascal@371
|
1131 tab_sshd()
|
pascal@371
|
1132 {
|
pascal@371
|
1133 use_tab data_sshd
|
pascal@371
|
1134 }
|
pascal@371
|
1135
|
pascal@371
|
1136 #
|
pascal@371
|
1137 # Busybox Inetd
|
pascal@371
|
1138 #
|
pascal@371
|
1139 tab_inetd()
|
pascal@371
|
1140 {
|
pascal@371
|
1141 cat <<EOT
|
pascal@371
|
1142 <frame Inetd (busybox)>
|
pascal@272
|
1143 $(helpdaemon inetd 60x14 INETD_OPTIONS INETD_OPTS)
|
pascal@271
|
1144 $(configfile /etc/inetd.conf INETD_CONF)
|
pascal@126
|
1145 <hbox>
|
pascal@371
|
1146 EOT
|
pascal@151
|
1147 for i in $(grep bin /etc/inetd.conf | awk '{ print $6}'); do
|
pascal@151
|
1148 i=$(basename $i)
|
pascal@371
|
1149 helpbutton $i 60x19 $i
|
pascal@151
|
1150 done
|
pascal@371
|
1151 cat <<EOT
|
pascal@271
|
1152 $(startstopdaemon inetd)
|
pascal@126
|
1153 </hbox>
|
pascal@126
|
1154 </frame>
|
pascal@371
|
1155 EOT
|
pascal@371
|
1156 }
|
pascal@371
|
1157
|
pascal@371
|
1158 #
|
pascal@371
|
1159 # ZeroConf
|
pascal@371
|
1160 #
|
pascal@371
|
1161 tab_zcip()
|
pascal@371
|
1162 {
|
pascal@272
|
1163 if [ -x /sbin/zcip -a -z "$ZCIP_OPTIONS" ]; then
|
pascal@272
|
1164 ZCIP_OPTIONS="eth0 /etc/zcip.script"
|
pascal@215
|
1165 cat >> /etc/daemons.conf <<EOT
|
pascal@215
|
1166 # ZeroConf options
|
pascal@272
|
1167 ZCIP_OPTIONS="$ZCIP_OPTIONS"
|
pascal@215
|
1168
|
pascal@215
|
1169 EOT
|
pascal@215
|
1170 fi
|
pascal@371
|
1171 cat <<EOT
|
pascal@272
|
1172 <frame Zcip (busybox)>
|
pascal@272
|
1173 $(helpdaemon zcip 60x14 ZCIP_OPTIONS ZCIP_OPTS)
|
pascal@272
|
1174 $(datafile /etc/zcip.script CZIP_SCRIPT 'Script :')
|
pascal@215
|
1175 <hbox>
|
pascal@271
|
1176 $(startstopdaemon zcip)
|
pascal@215
|
1177 </hbox>
|
pascal@215
|
1178 </frame>
|
pascal@371
|
1179 EOT
|
pascal@371
|
1180 }
|
pascal@371
|
1181
|
pascal@371
|
1182 #
|
pascal@371
|
1183 # Dhcpd ISC
|
pascal@371
|
1184 #
|
pascal@371
|
1185 tab_isc_dhcpd()
|
pascal@371
|
1186 {
|
pascal@371
|
1187 cat <<EOT
|
pascal@272
|
1188 <frame Dhcpd (ISC)>
|
pascal@272
|
1189 $(helpdaemon dhcpd 60x14 DHCPD_OPTIONS DHCPD_OPTS)
|
pascal@272
|
1190 $(configfile /etc/dhcpd.conf DHCPD_CONF)
|
pascal@126
|
1191 <hbox>
|
pascal@272
|
1192 $(startstopdaemon dhcpd dhcp)
|
pascal@155
|
1193 </hbox>
|
pascal@272
|
1194 </frame>
|
pascal@371
|
1195 EOT
|
pascal@371
|
1196 }
|
pascal@371
|
1197
|
pascal@371
|
1198 #
|
pascal@371
|
1199 # Dhcpd Busybox
|
pascal@371
|
1200 #
|
pascal@371
|
1201 tab_udhcpd()
|
pascal@371
|
1202 {
|
pascal@371
|
1203 cat <<EOT
|
pascal@272
|
1204 <frame Udhcpd (busybox)>
|
pascal@272
|
1205 $(helpdaemon udhcpd 60x14 UDHCPD_OPTIONS UDHCPD_OPTS)
|
pascal@271
|
1206 $(configfile /etc/udhcpd.conf UDHCPD_CONF)
|
pascal@155
|
1207 <hbox>
|
pascal@271
|
1208 $(startstopdaemon udhcpd)
|
pascal@126
|
1209 </hbox>
|
pascal@126
|
1210 </frame>
|
pascal@371
|
1211 EOT
|
pascal@371
|
1212 }
|
pascal@371
|
1213
|
pascal@371
|
1214 data_dhcpd()
|
pascal@371
|
1215 {
|
pascal@371
|
1216 cat <<EOT
|
pascal@371
|
1217 udhcpd Udhcpd tab_udhcpd
|
pascal@371
|
1218 dhcpd Dhcpd tab_isc_dhcpd
|
pascal@373
|
1219 dnsmasq DNSmasq tab_dnsmasq
|
pascal@371
|
1220 EOT
|
pascal@371
|
1221 }
|
pascal@371
|
1222
|
pascal@371
|
1223 #
|
pascal@371
|
1224 # dhcpd tab
|
pascal@371
|
1225 #
|
pascal@371
|
1226 tab_dhcpd()
|
pascal@371
|
1227 {
|
pascal@371
|
1228 use_tab data_dhcpd
|
pascal@371
|
1229 }
|
pascal@371
|
1230
|
pascal@371
|
1231 #
|
pascal@371
|
1232 # PXE
|
pascal@371
|
1233 #
|
pascal@371
|
1234 tab_pxe()
|
pascal@371
|
1235 {
|
pascal@371
|
1236 cat <<EOT
|
pascal@371
|
1237 <frame Pxelinux>
|
pascal@126
|
1238 <hbox>
|
pascal@126
|
1239 <text wrap="true">
|
pascal@126
|
1240 <label>
|
pascal@151
|
1241 "Launch Dhcpd and Inetd with Tftpd to start the PXE service."
|
pascal@126
|
1242 </label>
|
pascal@126
|
1243 </text>
|
pascal@126
|
1244 </hbox>
|
pascal@126
|
1245 <hbox>
|
pascal@126
|
1246 <text use-markup="true">
|
pascal@126
|
1247 <label>"<b>Configuration :</b>"</label>
|
pascal@126
|
1248 </text>
|
pascal@126
|
1249 <entry editable="false">
|
pascal@371
|
1250 <default>
|
pascal@371
|
1251 $(grep bin/tftpd /etc/inetd.conf | awk '{ print $NF }')/pxelinux.cfg/default
|
pascal@371
|
1252 </default>
|
pascal@126
|
1253 <variable>PXE_CONF</variable>
|
pascal@126
|
1254 </entry>
|
pascal@126
|
1255 <button>
|
pascal@126
|
1256 <input file icon="accessories-text-editor"></input>
|
pascal@371
|
1257 <action>dir=\$(dirname \$PXE_CONF); [ -d \$dir ] || mkdir -p \$dir</action>
|
pascal@371
|
1258 <action>lzma d /usr/share/boot/pxelinux.0.lzma \$(dirname \$PXE_CONF)/../pxelinux.0</action>
|
pascal@371
|
1259 <action>grep -q "^boot_file" \$UDHCPD_CONF || echo "boot_file pxelinux.0" >> \$UDHCPD_CONF</action>
|
pascal@371
|
1260 <action>grep -q "^siaddr" \$UDHCPD_CONF || echo "siaddr \$(ifconfig \$INTERFACE | grep inet.ad | cut -d: -f2 | cut -d\ -f1)" >> \$UDHCPD_CONF</action>
|
pascal@371
|
1261 <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
|
1262 <action type="lauch">leafpad \$PXE_CONF</action>
|
pascal@126
|
1263 </button>
|
pascal@126
|
1264 </hbox>
|
pascal@169
|
1265 <hbox>
|
pascal@372
|
1266 $(wikibutton http://wiki.slitaz.org/doku.php?id=quickstart:pxe)
|
pascal@247
|
1267 <button>
|
pascal@169
|
1268 <input file icon="system-file-manager"></input>
|
pascal@169
|
1269 <label>Network boot files</label>
|
pascal@372
|
1270 <action>$xterm -geometry 100x25 -title "Network boot files (q to quit)" -e "find \$(dirname \$(dirname \$PXE_CONF)) -exec ls -ld {} \; | less"</action>
|
pascal@169
|
1271 </button>
|
pascal@169
|
1272 </hbox>
|
pascal@126
|
1273 </frame>
|
pascal@371
|
1274 EOT
|
pascal@371
|
1275 }
|
pascal@371
|
1276
|
pascal@371
|
1277 #
|
pascal@371
|
1278 # Busybox dnsd
|
pascal@371
|
1279 #
|
pascal@371
|
1280 tab_dnsd()
|
pascal@371
|
1281 {
|
pascal@371
|
1282 cat <<EOT
|
pascal@371
|
1283 <frame Dnsd (busybox master dns)>
|
pascal@371
|
1284 $(helpdaemon dnsd 80x15 DNSD_OPTIONS DNSD_OPTS)
|
pascal@371
|
1285 $(configfile /etc/dnsd.conf DNSD_CONF)
|
pascal@371
|
1286 <hbox>
|
pascal@371
|
1287 $(startstopdaemon dnsd)
|
pascal@371
|
1288 </hbox>
|
pascal@371
|
1289 </frame>
|
pascal@371
|
1290 EOT
|
pascal@371
|
1291 }
|
pascal@371
|
1292
|
pascal@371
|
1293 #
|
pascal@371
|
1294 # ISC Bind
|
pascal@371
|
1295 #
|
pascal@371
|
1296 tab_named()
|
pascal@371
|
1297 {
|
pascal@371
|
1298 cat <<EOT
|
pascal@272
|
1299 <frame Named (ISC bind)>
|
pascal@272
|
1300 $(helpdaemon named 80x10 NAMED_OPTIONS NAMED_OPTS)
|
pascal@272
|
1301 $(configfile /etc/bind/named.conf.local NAMED_CONF)
|
pascal@126
|
1302 <hbox>
|
pascal@272
|
1303 $(startstopdaemon named bind)
|
pascal@126
|
1304 </hbox>
|
pascal@272
|
1305 </frame>
|
pascal@371
|
1306 EOT
|
pascal@371
|
1307 }
|
pascal@371
|
1308
|
pascal@373
|
1309 #
|
pascal@373
|
1310 # DNSmasq
|
pascal@373
|
1311 #
|
pascal@373
|
1312 tab_dnsmasq()
|
pascal@373
|
1313 {
|
pascal@373
|
1314 cat <<EOT
|
pascal@373
|
1315 <frame DNSmasq (DNS/DHCP/TFTP)>
|
pascal@373
|
1316 $(helpdaemon dnsmasq 100x34 DNSMASQ_OPTIONS DNSMASQ_OPTS)
|
pascal@373
|
1317 $(configfile /etc/dnsmasq.conf DNSMASQ_CONF)
|
pascal@373
|
1318 <hbox>
|
pascal@373
|
1319 $(startstopdaemon dnsmasq)
|
pascal@373
|
1320 </hbox>
|
pascal@373
|
1321 </frame>
|
pascal@373
|
1322 EOT
|
pascal@373
|
1323 }
|
pascal@373
|
1324
|
pascal@371
|
1325 data_dns()
|
pascal@371
|
1326 {
|
pascal@371
|
1327 cat <<EOT
|
pascal@371
|
1328 dnsd Dnsd tab_dnsd
|
pascal@371
|
1329 named Named tab_named
|
pascal@373
|
1330 dnsmasq DNSmasq tab_dnsmasq
|
pascal@371
|
1331 #TODO sheerdns Sheerdns tab_sheerdns
|
pascal@371
|
1332 EOT
|
pascal@371
|
1333 }
|
pascal@371
|
1334
|
pascal@371
|
1335 #
|
pascal@371
|
1336 # dns tab
|
pascal@371
|
1337 #
|
pascal@371
|
1338 tab_dns()
|
pascal@371
|
1339 {
|
pascal@371
|
1340 use_tab data_dns
|
pascal@371
|
1341 }
|
pascal@371
|
1342
|
pascal@371
|
1343 #
|
pascal@371
|
1344 # rsync server
|
pascal@371
|
1345 #
|
pascal@371
|
1346 tab_rsync()
|
pascal@371
|
1347 {
|
pascal@371
|
1348 cat <<EOT
|
pascal@272
|
1349 <frame Rsync>
|
pascal@272
|
1350 $(helpdaemon rsync 80x30 RSYNCD_OPTIONS RSYNCD_OPTS 1)
|
pascal@272
|
1351 $(configfile /etc/rsyncd.conf RSYNCD_CONF)
|
pascal@272
|
1352 $(datafile /etc/rsyncd.secrets RSYNCD_SECRETS 'Secrets file :')
|
pascal@126
|
1353 <hbox>
|
pascal@272
|
1354 $(startstopdaemon rsyncd rsync)
|
pascal@126
|
1355 </hbox>
|
pascal@126
|
1356 </frame>
|
pascal@371
|
1357 EOT
|
pascal@371
|
1358 }
|
pascal@371
|
1359
|
pascal@371
|
1360 php_ini()
|
pascal@371
|
1361 {
|
pascal@371
|
1362 [ -f /etc/php.ini ] && cat <<EOT
|
pascal@371
|
1363 <frame PHP>
|
pascal@271
|
1364 $(configfile /etc/php.ini PHP_CONF)
|
pascal@168
|
1365 </frame>
|
pascal@371
|
1366 EOT
|
pascal@371
|
1367 }
|
pascal@371
|
1368
|
pascal@371
|
1369 #
|
pascal@371
|
1370 # Apache server
|
pascal@371
|
1371 #
|
pascal@371
|
1372 tab_apache()
|
pascal@371
|
1373 {
|
pascal@371
|
1374 cat <<EOT
|
pascal@371
|
1375 <frame Apache>
|
pascal@371
|
1376 $(php_ini)
|
pascal@272
|
1377 $(configfile /etc/apache/httpd.conf HTTPD_CONF)
|
pascal@272
|
1378 <hbox>
|
pascal@272
|
1379 $(startstopdaemon apache)
|
pascal@272
|
1380 </hbox>
|
pascal@272
|
1381 </frame>
|
pascal@371
|
1382 EOT
|
pascal@371
|
1383 }
|
pascal@371
|
1384
|
pascal@371
|
1385 #
|
pascal@371
|
1386 # Lighttpd server
|
pascal@371
|
1387 #
|
pascal@371
|
1388 tab_lighttpd()
|
pascal@371
|
1389 {
|
pascal@371
|
1390 cat <<EOT
|
pascal@371
|
1391 <frame Lighttpd>
|
pascal@371
|
1392 $(php_ini)
|
pascal@271
|
1393 $(configfile /etc/lighttpd/lighttpd.conf LIGHTTPD_CONF)
|
pascal@126
|
1394 <hbox>
|
pascal@271
|
1395 $(startstopdaemon lighttpd)
|
pascal@126
|
1396 </hbox>
|
pascal@126
|
1397 </frame>
|
pascal@371
|
1398 EOT
|
pascal@371
|
1399 }
|
pascal@371
|
1400
|
pascal@371
|
1401 data_http()
|
pascal@371
|
1402 {
|
pascal@371
|
1403 cat <<EOT
|
pascal@371
|
1404 httpd Dnsd tab_apache
|
pascal@371
|
1405 lighttpd Named tab_lighttpd
|
pascal@371
|
1406 EOT
|
pascal@371
|
1407 #TODO busybox httpd
|
pascal@371
|
1408 }
|
pascal@371
|
1409
|
pascal@371
|
1410 #
|
pascal@371
|
1411 # http tab
|
pascal@371
|
1412 #
|
pascal@371
|
1413 tab_http()
|
pascal@371
|
1414 {
|
pascal@371
|
1415 use_tab data_http
|
pascal@371
|
1416 }
|
pascal@371
|
1417
|
pascal@371
|
1418 #
|
pascal@371
|
1419 # Samba servers
|
pascal@371
|
1420 #
|
pascal@371
|
1421 tab_wins()
|
pascal@371
|
1422 {
|
pascal@371
|
1423 cat <<EOT
|
pascal@371
|
1424 <frame Samba: smbd & nmbd>
|
pascal@271
|
1425 $(configfile /etc/samba/smb.conf SMBD_CONF)
|
pascal@137
|
1426 <hbox>
|
pascal@137
|
1427 <button>
|
pascal@137
|
1428 <label>Reload</label>
|
pascal@371
|
1429 <input file icon="reload"></input>
|
pascal@137
|
1430 <action>/etc/init.d/samba reload</action>
|
pascal@371
|
1431 </button>
|
pascal@271
|
1432 $(startstopdaemon samba)
|
pascal@137
|
1433 </hbox>
|
pascal@137
|
1434 </frame>
|
pascal@371
|
1435 EOT
|
pascal@371
|
1436 }
|
pascal@371
|
1437
|
pascal@371
|
1438 #
|
pascal@371
|
1439 # x11vnc
|
pascal@371
|
1440 #
|
pascal@371
|
1441 tab_vnc()
|
pascal@371
|
1442 {
|
pascal@371
|
1443 cat <<EOT
|
pascal@272
|
1444 <frame x11vnc>
|
pascal@272
|
1445 $(helpdaemon x11vnc 80x30 X11VNC_OPTIONS X11VNC_OPTS)
|
pascal@163
|
1446 <hbox>
|
pascal@371
|
1447 <text use-markup="true">
|
pascal@371
|
1448 <label>"<b>New password</b>"</label>
|
pascal@163
|
1449 </text>
|
pascal@163
|
1450 <entry>
|
pascal@163
|
1451 <variable>X11VNC_PASSWD</variable>
|
pascal@163
|
1452 </entry>
|
pascal@163
|
1453 <button>
|
pascal@371
|
1454 <input file icon="reload"></input>
|
pascal@163
|
1455 <label>Update</label>
|
pascal@272
|
1456 <action>x11vnc -storepasswd \$X11VNC_PASSWD /etc/vnc.secret</action>
|
pascal@163
|
1457 </button>
|
pascal@163
|
1458 </hbox>
|
pascal@272
|
1459 <hbox>
|
pascal@271
|
1460 $(startstopdaemon x11vnc)
|
pascal@271
|
1461 </hbox>
|
pascal@271
|
1462 </frame>
|
pascal@371
|
1463 EOT
|
pascal@371
|
1464 }
|
pascal@371
|
1465
|
pascal@371
|
1466 #
|
pascal@371
|
1467 # knock server
|
pascal@371
|
1468 #
|
pascal@371
|
1469 tab_knockd()
|
pascal@371
|
1470 {
|
pascal@371
|
1471 cat <<EOT
|
pascal@272
|
1472 <frame Knockd: trigger backdoors>
|
pascal@272
|
1473 $(helpdaemon knockd 80x15 KNOCK_OPTIONS KNOCK_OPTS)
|
pascal@271
|
1474 $(configfile /etc/knockd.conf KNOCKD_CONF)
|
pascal@271
|
1475 <hbox>
|
pascal@272
|
1476 $(startstopdaemon knockd knock)
|
pascal@271
|
1477 </hbox>
|
pascal@271
|
1478 </frame>
|
pascal@371
|
1479 EOT
|
pascal@371
|
1480 }
|
pascal@371
|
1481
|
pascal@371
|
1482 data_servers()
|
pascal@371
|
1483 {
|
pascal@373
|
1484 local $pxe
|
pascal@373
|
1485 pxe="#"
|
pascal@373
|
1486 [ -x /usr/bin/tftpd -a -x /usr/sbin/udhcpd ] && pxe="inetd"
|
pascal@374
|
1487 [ -x /usr/sbin/dnsmasq ] && pxe="true"
|
pascal@373
|
1488 [ -f /usr/share/boot/pxelinux.0.lzma ] || pxe="#"
|
pascal@371
|
1489 cat <<EOT
|
pascal@371
|
1490 $([ -x /usr/sbin/dropbear -o -x /usr/sbin/sshd ] && echo "true" ||
|
pascal@371
|
1491 echo "#") SSH tab_sshd
|
pascal@371
|
1492 inetd Inetd tab_inetd
|
pascal@371
|
1493 zcip ZeroConf tab_zcip
|
pascal@373
|
1494 $([ -x /usr/sbin/udhcpd -o -x /usr/sbin/dhcpd -o -x /usr/sbin/dnsmasq ] &&
|
pascal@373
|
1495 echo "true" ||
|
pascal@371
|
1496 echo "#") DHCP tab_dhcpd
|
pascal@373
|
1497 $pxe PXE tab_pxe
|
pascal@373
|
1498 dnsmasq tftpd tab_dnsmasq
|
pascal@373
|
1499 $([ -x /usr/sbin/dnsd -o -x /usr/sbin/named -o -x /usr/sbin/dnsmasq ] &&
|
pascal@373
|
1500 echo "true" ||
|
pascal@371
|
1501 echo "#") DNS tab_dns
|
pascal@371
|
1502 rsync Rsync tab_rsync
|
pascal@371
|
1503 $([ -x /usr/sbin/lighttpd -o -x /usr/bin/httpd ] && echo "true" ||
|
pascal@371
|
1504 echo "#") HTTP tab_http
|
pascal@371
|
1505 smbd WINS tab_wins
|
pascal@371
|
1506 x11vnc VNC tab_vnc
|
pascal@371
|
1507 knockd Knock tab_knockd
|
pascal@371
|
1508 EOT
|
pascal@371
|
1509 }
|
pascal@371
|
1510
|
pascal@371
|
1511 #
|
pascal@371
|
1512 # Servers tab
|
pascal@371
|
1513 #
|
pascal@371
|
1514 tab_servers()
|
pascal@371
|
1515 {
|
pascal@371
|
1516 use_tab data_servers
|
pascal@371
|
1517 }
|
pascal@371
|
1518
|
pascal@371
|
1519 #
|
pascal@371
|
1520 # Firewall tab
|
pascal@371
|
1521 #
|
pascal@371
|
1522 tab_firewall()
|
pascal@371
|
1523 {
|
pascal@371
|
1524 cat <<EOT
|
pascal@371
|
1525 <frame Iptables>
|
pascal@271
|
1526 $(configfile /etc/iptables.conf IPTABLES_CONF)
|
pascal@163
|
1527 <hbox>
|
pascal@371
|
1528 $(helpbutton iptables 80x30)
|
pascal@371
|
1529 $(manbutton 8 iptables)
|
pascal@374
|
1530 $(webbutton iptables)
|
pascal@163
|
1531 <button>
|
pascal@271
|
1532 <label>Load</label>
|
pascal@371
|
1533 <input file icon="reload"></input>
|
pascal@271
|
1534 <action>cat \$IPTABLES_CONF | /sbin/iptables-restore</action>
|
pascal@271
|
1535 </button>
|
pascal@271
|
1536 <button>
|
pascal@271
|
1537 <label>Save</label>
|
pascal@371
|
1538 <input file icon="go-jump"></input>
|
pascal@271
|
1539 <action>/sbin/iptables-save > \$IPTABLES_CONF</action>
|
pascal@163
|
1540 </button>
|
pascal@163
|
1541 </hbox>
|
pascal@163
|
1542 </frame>
|
pascal@371
|
1543 EOT
|
pascal@371
|
1544 }
|
pascal@371
|
1545
|
pascal@371
|
1546 #
|
pascal@371
|
1547 # knock client
|
pascal@371
|
1548 #
|
pascal@371
|
1549 tab_knock()
|
pascal@371
|
1550 {
|
pascal@371
|
1551 cat <<EOT
|
pascal@371
|
1552 <frame Knock>
|
pascal@271
|
1553 <hbox>
|
pascal@271
|
1554 <text use-markup="true">
|
pascal@271
|
1555 <label>"<b>Options : </b>"</label>
|
pascal@271
|
1556 </text>
|
pascal@271
|
1557 <entry editable="true">
|
pascal@271
|
1558 <variable>KNOCK_OPTS</variable>
|
pascal@271
|
1559 <default>myserver.example.com 123:tcp 456:udp 789:tcp</default>
|
pascal@271
|
1560 </entry>
|
pascal@271
|
1561 </hbox>
|
pascal@371
|
1562 <hbox>
|
pascal@272
|
1563 $(helpbutton knock 80x12)
|
pascal@271
|
1564 <button>
|
pascal@271
|
1565 <label>Start</label>
|
pascal@371
|
1566 <input file icon="forward"></input>
|
pascal@272
|
1567 <action>knock \$KNOCK_OPTS</action>
|
pascal@271
|
1568 </button>
|
pascal@271
|
1569 </hbox>
|
pascal@271
|
1570 </frame>
|
pascal@371
|
1571 EOT
|
pascal@371
|
1572 }
|
pascal@371
|
1573
|
pascal@371
|
1574 #
|
pascal@371
|
1575 # ether-wake
|
pascal@371
|
1576 #
|
pascal@371
|
1577 tab_etherwake()
|
pascal@371
|
1578 {
|
pascal@371
|
1579 cat <<EOT
|
pascal@271
|
1580 <frame Ether-wake (busybox)>
|
pascal@141
|
1581 <hbox>
|
pascal@141
|
1582 <text use-markup="true">
|
pascal@151
|
1583 <label>"<b>Machines :</b>"</label>
|
pascal@151
|
1584 </text>
|
pascal@151
|
1585 <entry editable="false">
|
pascal@151
|
1586 <default>/etc/ethers</default>
|
pascal@151
|
1587 <variable>ETHERS</variable>
|
pascal@151
|
1588 </entry>
|
pascal@151
|
1589 <button>
|
pascal@151
|
1590 <input file icon="accessories-text-editor"></input>
|
pascal@372
|
1591 <action>[ -s \$ETHERS ] || echo "#00:01:02:03:04:05 mystation" >\$ETHERS</action>
|
pascal@371
|
1592 <action type="lauch">leafpad \$ETHERS</action>
|
pascal@151
|
1593 </button>
|
pascal@151
|
1594 </hbox>
|
pascal@151
|
1595 <hbox>
|
pascal@151
|
1596 <text use-markup="true">
|
pascal@141
|
1597 <label>"<b>Options : </b>"</label>
|
pascal@141
|
1598 </text>
|
pascal@271
|
1599 <entry editable="true">
|
pascal@141
|
1600 <variable>ETHERWAKE_OPTS</variable>
|
pascal@371
|
1601 </entry>
|
pascal@371
|
1602 $(helpbutton ether-wake 80x15)
|
pascal@371
|
1603 <button>
|
pascal@371
|
1604 <label>Start</label>
|
pascal@371
|
1605 <input file icon="forward"></input>
|
pascal@371
|
1606 <action>ether-wake \$ETHERWAKE_OPTS</action>
|
pascal@371
|
1607 </button>
|
pascal@371
|
1608 </hbox>
|
pascal@371
|
1609 </frame>
|
pascal@371
|
1610 EOT
|
pascal@371
|
1611 }
|
pankso@33
|
1612
|
pascal@371
|
1613 data_main()
|
pascal@371
|
1614 {
|
pascal@371
|
1615 cat <<EOT
|
pascal@371
|
1616 #program tab name function
|
pascal@371
|
1617 ifconfig Connections tab_connections
|
pascal@371
|
1618 udhcpc DHCP tab_udhcpc
|
pascal@371
|
1619 ifconfig Static\ IP tab_fixed_ip
|
pascal@371
|
1620 pppoe PPPoE tab_pppoe
|
pascal@371
|
1621 pppd PPP tab_ppp
|
pascal@371
|
1622 true System\ wide tab_system
|
pascal@371
|
1623 true VPN tab_vpn
|
pascal@371
|
1624 true Servers tab_servers
|
pascal@371
|
1625 iptables Firewall tab_firewall
|
pascal@371
|
1626 knock Knock tab_knock
|
pascal@371
|
1627 ether-wake Etherwake tab_etherwake
|
pascal@371
|
1628 EOT
|
pascal@371
|
1629 }
|
pascal@371
|
1630
|
pascal@371
|
1631 tab_main()
|
pascal@371
|
1632 {
|
pascal@371
|
1633 use_tab data_main
|
pascal@371
|
1634 }
|
pascal@371
|
1635
|
pascal@371
|
1636 ######################################################
|
pascal@371
|
1637 #
|
pascal@371
|
1638 # Netbox GUI
|
pascal@371
|
1639 #
|
pascal@371
|
1640 ######################################################
|
pascal@371
|
1641
|
pascal@371
|
1642 # English/French help dialog.
|
pascal@371
|
1643 export HELP='
|
pascal@371
|
1644 <window title="Network status" icon-name="network-wire">
|
pascal@371
|
1645 <vbox>
|
pascal@371
|
1646 <text use-markup="true">
|
pascal@371
|
1647 <label>
|
pascal@371
|
1648 "
|
pascal@371
|
1649 <b>SliTaz - Netbox</b>"
|
pascal@371
|
1650 </label>
|
pascal@371
|
1651 </text>
|
pascal@371
|
1652 <frame English>
|
pascal@371
|
1653 <text wrap="true" width-chars="58">
|
pascal@371
|
1654 <label>
|
pascal@371
|
1655 "Netbox lets you manage network connections by getting a dynamic IP by
|
pascal@371
|
1656 DHCP or a static IP and setup servers. Netbox can start or stop
|
pascal@371
|
1657 networking, configure network interfaces or directly edit files."
|
pascal@371
|
1658 </label>
|
pascal@371
|
1659 </text>
|
pascal@371
|
1660 </frame>
|
pascal@371
|
1661 <frame Francais>
|
pascal@371
|
1662 <text wrap="true" width-chars="58">
|
pascal@371
|
1663 <label>
|
pascal@371
|
1664 "Netbox vous permet de gerer les connexions reseau avec une IP
|
pascal@371
|
1665 statique ou en obtenant une IP dynamique par DHCP, et de parametrer
|
pascal@371
|
1666 les serveurs. Netbox peut demarrer ou arreter le reseau, configurer
|
pascal@371
|
1667 les interfaces reseau ou editer directement les fichiers."
|
pascal@371
|
1668 </label>
|
pascal@371
|
1669 </text>
|
pascal@371
|
1670 </frame>
|
pascal@371
|
1671 </vbox>
|
pascal@371
|
1672 </window>
|
pascal@371
|
1673 '
|
pascal@371
|
1674
|
pascal@371
|
1675 # Interface status with ifconfig without arguments to show all
|
pascal@371
|
1676 # active connections.
|
pascal@371
|
1677 #
|
pascal@371
|
1678 export IFCONFIG="
|
pascal@371
|
1679 <window title=\"Network status\" icon-name=\"network-wire\">
|
pascal@371
|
1680 <vbox>
|
pascal@371
|
1681 $(tab_status)
|
pascal@371
|
1682 <hbox>
|
pascal@371
|
1683 <button>
|
pascal@371
|
1684 <input file icon=\"gtk-close\"></input>
|
pascal@371
|
1685 <action type=\"closewindow\">IFCONFIG</action>
|
pascal@371
|
1686 </button>
|
pascal@371
|
1687 </hbox>
|
pascal@371
|
1688 </vbox>
|
pascal@371
|
1689 </window>"
|
pascal@371
|
1690
|
pascal@371
|
1691 # The main dialog with notebook, start/stop buttons and all options.
|
pascal@371
|
1692 # Note that /etc/network.conf is seded when an interface is activated.
|
pascal@371
|
1693 #
|
pascal@371
|
1694 head='
|
pascal@371
|
1695 <window title="SliTaz Netbox Manager" icon-name="network-wired">
|
pascal@371
|
1696 <vbox>
|
pascal@371
|
1697
|
pascal@371
|
1698 <hbox>
|
pascal@371
|
1699 <text use-markup="true">
|
pascal@371
|
1700 <label>"<b>Network/Server Manager</b>"</label>
|
pascal@371
|
1701 </text>
|
pascal@371
|
1702 <pixmap>
|
pascal@371
|
1703 <input file>/usr/share/pixmaps/netbox.png</input>
|
pascal@371
|
1704 </pixmap>
|
pascal@371
|
1705 </hbox>
|
pascal@371
|
1706 '
|
pascal@371
|
1707 bottom='
|
pankso@297
|
1708 <hbox>
|
pankso@297
|
1709 <button>
|
pankso@297
|
1710 <label>Wireless manager</label>
|
pankso@297
|
1711 <input file icon="network-wireless"></input>
|
pankso@297
|
1712 <action>wifibox &</action>
|
pankso@297
|
1713 </button>
|
pankso@297
|
1714 <button>
|
pankso@297
|
1715 <label>Refresh list</label>
|
pankso@297
|
1716 <input file icon="reload"></input>
|
pankso@297
|
1717 <action>refresh:INTERFACE_LIST</action>
|
pankso@297
|
1718 </button>
|
pankso@297
|
1719 <button>
|
pankso@297
|
1720 <label>Full status</label>
|
pankso@297
|
1721 <input file icon="dialog-information"></input>
|
pankso@297
|
1722 <action type="launch">IFCONFIG</action>
|
pankso@297
|
1723 </button>
|
pankso@297
|
1724 <button help>
|
pankso@297
|
1725 <label>Help</label>
|
pankso@297
|
1726 <action type="launch">HELP</action>
|
pankso@297
|
1727 </button>
|
pankso@297
|
1728 <button>
|
pankso@297
|
1729 <label>Quit</label>
|
pankso@297
|
1730 <input file icon="exit"></input>
|
pankso@297
|
1731 <action type="exit">Exit</action>
|
pankso@297
|
1732 </button>
|
pankso@297
|
1733 </hbox>
|
pankso@194
|
1734
|
pankso@297
|
1735 </vbox>
|
pankso@38
|
1736 </window>
|
pankso@33
|
1737 '
|
pascal@371
|
1738
|
pascal@371
|
1739 NET_BOX="${head}$(tab_main)${bottom}"
|
pascal@126
|
1740
|
pascal@126
|
1741 export NET_BOX
|
pascal@126
|
1742
|
pascal@371
|
1743 # TODO: Modules(Network kernel modules)
|
pankso@33
|
1744
|
pankso@33
|
1745 # Only root can configure network.
|
pankso@33
|
1746 check_root
|
pankso@297
|
1747
|
pascal@177
|
1748 # Configure and connect if button Connect was pressed.
|
pascal@177
|
1749 if ! grep -qs ^name /etc/ppp/options ; then
|
pascal@177
|
1750 # Generate /etc/ppp/options
|
pascal@177
|
1751 cat > /etc/ppp/options << _EOT_
|
pascal@177
|
1752 plugin rp-pppoe.so
|
pascal@177
|
1753 name provider-ID
|
pascal@177
|
1754 noipdefault
|
pascal@177
|
1755 defaultroute
|
pascal@177
|
1756 mtu 1492
|
pascal@177
|
1757 mru 1492
|
pascal@177
|
1758 lock
|
pascal@177
|
1759 _EOT_
|
pascal@177
|
1760 # Generate /etc/ppp/pap-secrets
|
pascal@177
|
1761 cat > /etc/ppp/pap-secrets << _EOT_
|
pascal@177
|
1762 # Secrets for authentication using PAP
|
pascal@177
|
1763 # client server secret IP addresses
|
pascal@177
|
1764 _EOT_
|
pascal@177
|
1765 # Generate /etc/ppp/chap-secrets
|
pascal@177
|
1766 cat > /etc/ppp/chap-secrets << _EOT_
|
pascal@177
|
1767 # Secrets for authentication using CHAP
|
pascal@177
|
1768 # client server secret IP addresses
|
pascal@177
|
1769 _EOT_
|
pascal@177
|
1770 fi
|
pascal@374
|
1771 cat > toto <<EOT
|
pascal@374
|
1772 $NET_BOX
|
pascal@374
|
1773 EOT
|
pascal@259
|
1774 gtkdialog --center --program=NET_BOX | grep -a 'EXIT="restart"' && continue
|
pankso@33
|
1775 exit 0
|
pascal@259
|
1776 done
|