home · contact · privacy
Slightly improve networking script.
[config] / bin / network.sh
1 #!/bin/sh
2
3 eth_interface=enp0s25
4 wifi_interface=wls1
5
6 ensure_wifi_on() {
7   if [ ! "$(wifi)" = "wifi      = on" ]; then
8     #wifi on
9     ip link set "$wifi_interface" up
10   fi
11 }
12
13 if ! echo "${1}"; then
14   echo 'No command given.'
15   print_usage
16   exit 1
17 elif [ "${1}" = 'eth_connect' ]; then
18   ip link set "$eth_interface" up 
19   dhclient "$eth_interface"
20
21 elif [ "${1}" = 'eth_disconnect' ]; then
22   ip link set "$eth_interface" down
23
24 elif [ "${1}" = 'wifi_scan' ]; then
25   ensure_wifi_on
26   ip link set "$wifi_interface" up
27   iw dev "$wifi_interface" scan | grep SSID
28
29 elif [ "${1}" = 'wifi_connect_open' ]; then
30   ensure_wifi_on
31   iw dev "$wifi_interface" connect "${2}"
32   #dhclient "$wifi_interface" 
33
34 elif [ "${1}" = 'wifi_connect_wep_ascii' ]; then
35   ensure_wifi_on
36   iw dev "$wifi_interface" connect "${2}" key 0:"${3}"
37   #dhclient "$wifi_interface" 
38
39 elif [ "${1}" = 'wifi_connect_wep_hex' ]; then
40   ensure_wifi_on
41   iw dev "$wifi_interface" connect "${2}" key d:0:"${3}"
42   #dhclient "$wifi_interface" 
43
44 elif [ "${1}" = 'wifi_connect_wpa' ]; then
45   ensure_wifi_on
46   wpa_passphrase "${2}" "${3}" > /tmp/wpa_supplicant.conf
47   wpa_supplicant -B -i "$wifi_interface" -c /tmp/wpa_supplicant.conf
48   dhclient "$wifi_interface" 
49
50 elif [ "${1}" = 'wifi_disconnect' ]; then
51   ip link set "$wifi_interface" down
52
53 else
54   echo 'Available commands:'
55   echo '  eth_connect'
56   echo '  eth_disconnect'
57   echo '  wifi_scan'
58   echo '  wifi_connect_open SSID'
59   echo '  wifi_connect_wep_ascii SSID KEY'
60   echo '  wifi_connect_wep_hex SSID KEY'
61   echo '  wifi_connect_wpa SSID KEY'
62   echo '  wifi_disconnect'
63 fi