home · contact · privacy
cfaf39f827e605df90a58bb23f3a097610b061e5
[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 print_usage() {
14   echo 'Available commands:'
15   echo '  eth_connect'
16   echo '  eth_disconnect'
17   echo '  wifi_scan'
18   echo '  wifi_connect_open SSID'
19   echo '  wifi_set_wpa SSID KEY'
20   echo '  wifi_connect_wep_ascii SSID KEY'
21   echo '  wifi_connect_wep_hex SSID KEY'
22   echo '  wifi_connect_wpa SSID KEY'
23   echo '  wifi_disconnect'
24 }
25
26 if ! echo "${1}"; then
27   echo 'No command given.'
28   print_usage
29   exit 1
30 elif [ "${1}" = 'eth_connect' ]; then
31   ip link set "$eth_interface" up 
32   dhclient "$eth_interface"
33
34 elif [ "${1}" = 'eth_disconnect' ]; then
35   ip link set "$eth_interface" down
36
37 elif [ "${1}" = 'wifi_scan' ]; then
38   ensure_wifi_on
39   ip link set "$wifi_interface" up
40   iw dev "$wifi_interface" scan | grep SSID
41
42 elif [ "${1}" = 'wifi_connect_open' ]; then
43   ensure_wifi_on
44   iw dev "$wifi_interface" connect "${2}"
45   #dhclient "$wifi_interface" 
46
47 elif [ "${1}" = 'wifi_connect_wep_ascii' ]; then
48   ensure_wifi_on
49   iw dev "$wifi_interface" connect "${2}" key 0:"${3}"
50   #dhclient "$wifi_interface" 
51
52 elif [ "${1}" = 'wifi_connect_wep_hex' ]; then
53   ensure_wifi_on
54   iw dev "$wifi_interface" connect "${2}" key d:0:"${3}"
55   #dhclient "$wifi_interface" 
56
57 elif [ "${1}" = 'wifi_connect_wpa' ]; then
58   ensure_wifi_on
59   wpa_passphrase "${2}" "${3}" > /tmp/wpa_supplicant.conf
60   wpa_supplicant -B -i "$wifi_interface" -c /tmp/wpa_supplicant.conf
61   dhclient "$wifi_interface" 
62
63 elif [ "${1}" = 'wifi_disconnect' ]; then
64   ip link set "$wifi_interface" down
65
66 else
67   echo 'Unknown command.'
68   print_usage
69   exit 1
70 fi