home · contact · privacy
Improve websites server setup.
[config] / bin / wicd-wrapper.sh
1 #!/bin/sh
2
3 check_wifi_id_set() {
4   if ! echo "${1}" | egrep -q '^[0-9]+$'; then
5     echo 'Wifi identifier must be integer.'
6     exit 1
7   fi
8 }
9
10 ensure_wifi_on() {
11   if [ ! "$(wifi)" = "wifi      = on" ]; then
12     sudo wifi on
13   fi
14 }
15
16 print_usage() {
17   echo 'Available commands:'
18   echo '  eth_connect'
19   echo '  eth_disconnect'
20   echo '  wifi_scan'
21   echo '  wifi_info WIFI_ID'
22   echo '  wifi_set_wpa WIFI_ID KEY'
23   echo '  wifi_connect WIFI_ID'
24   echo '  wifi_disconnect'
25 }
26
27 if ! echo "${1}"; then
28   echo 'No command given.'
29   print_usage
30   exit 1
31 elif [ "${1}" = 'eth_connect' ]; then
32   wicd-cli --wired --connect
33
34 elif [ "${1}" = 'eth_disconnect' ]; then
35   wicd-cli --wired --disconnect
36
37 elif [ "${1}" = 'wifi_scan' ]; then
38   ensure_wifi_on
39   wicd-cli --wireless --scan
40   wicd-cli --wireless --list-networks
41
42 elif [ "${1}" = 'wifi_info' ]; then
43   check_wifi_id_set "${2}"
44   wicd-cli --wireless --network="${2}" --network-details
45
46 elif [ "${1}" = 'wifi_set_wpa' ]; then
47   check_wifi_id_set "${2}"
48   if ! echo "${3}" ; then
49     echo 'No key set.'
50     exit 1
51   fi
52   wicd-cli --wireless --network="${2}" --network-property=enctype --set-to=wpa
53   wicd-cli --wireless --network="${2}" --network-property=key --set-to="${3}"
54
55 elif [ "${1}" = 'wifi_connect' ]; then
56   ensure_wifi_on
57   check_wifi_id_set "${2}"
58   wicd-cli --wireless --network="${2}" --connect
59
60 elif [ "${1}" = 'wifi_disconnect' ]; then
61   wicd-cli --wireless --disconnect
62
63 else
64   echo 'Unknown command.'
65   print_usage
66   exit 1
67 fi