net: Se agrega descripción del script y función para verificar dependencias

This commit is contained in:
Tuxliban Torvalds 2022-11-28 01:49:43 -06:00
parent 49d87a7b05
commit 5df4d1215d
1 changed files with 31 additions and 18 deletions

View File

@ -1,18 +1,31 @@
#!/bin/sh
# Dependencias sdhcp, wpa_supplicant, dzen2, sudo, doas (opcional)
#
# Shell: POSIX compliant
# Autor: Tuxliban Torvalds <o-sanchez@linuxmail.org>
## Script para asignar ip dinámicamente usando sdhcp para establecer conexión a internet
## Dependencias sdhcp, wpa_supplicant, dzen2
if ! command -v sdhcp wpa_supplicant dzen2; then
printf '%b\n' "Dependencias no satisfechas. Dependencias necesarias:\n\tsdhcp, wpa_supplicant, dzen2"
fi
deps() {
if ! command -v sdhcp; then
printf '%b\n' "Dependencias no satisfecha:\n\tsdhcp\n"
exit 1
elif ! command wpa_supplicant; then
printf '%b' "Dependencia no satisfecha:\n\twpa_supplicant\n"
exit 1
elif ! command -v dzen2; then
printf '%b' "Dependencia no satisfecha:\n\tdzen2\n"
exit 1
fi
}
ayuda(){
cat << EOF
Script para asignar ip dinámicamente usando sdhcp para establecer conexión a internet.
Uso: $(basename "$0") [interface]
Ejemplo: $(basename "$0") eth0
Ejemplo: $(basename "$0") wlan0
Ejemplo:
$(basename "$0") eth0
$(basename "$0") wlan0
EOF
}
@ -33,34 +46,34 @@ msg() {
SUDO=$(admin)
deps
case $1 in
eth0)
read -r state < /sys/class/net/"$1"/operstate
if [ "$state" = "down" ]; then
"$SUDO" ip link set "$1" up
"$SUDO" sdhcp "$1"
printf '%s\n' "Ethernet activado" | msg
printf '%s\n' "Ethernet activado" | msg &
elif [ "$state" = "up" ]; then
"$SUDO" kill "$(pgrep --list-full sdhcp | awk '/eth0/ {print $1}')"
"$SUDO" ip link set eth0 down
printf '%s\n' "Ethernet desactivado" | msg
printf '%s\n' "Ethernet desactivado" | msg &
fi
;;
wlan0)
wlan0|wlan1)
read -r state < /sys/class/net/"$1"/operstate
if [ "$(pgrep wpa_supplicant)" ]; then
"$SUDO" pkill -f wpa_supplicant
"$SUDO" ip link set wlan0 down
"$SUDO" kill "$(pgrep --list-full sdhcp | awk '/wlan0/ {print $1}')"
printf '%s\n' "Wifi desactivado" | msg
"$SUDO" ip link set "$1" down
"$SUDO" kill "$(pgrep --list-full sdhcp | awk '/wlan/ {print $1}')"
printf '%s\n' "Wifi desactivado" | msg &
elif [ "$state" = "down" ]; then
echo Activando interfaz
"$SUDO" ip link set "$1" up
echo Iniciando wpa_supplicant...
"$SUDO" wpa_supplicant -B -D wext -c /etc/wpa_supplicant/wpa_supplicant-wlan0.conf -i "$1"
# "$SUDO" wpa_supplicant -B -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant-wlan0.conf -i "$1"
"$SUDO" wpa_supplicant -B -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant-wlan0.conf -i "$1"
echo Asignando ip dinámica...
printf '%s\n' "Activando wifi..." | msg
printf '%s\n' "Activando wifi..." | msg &
"$SUDO" sdhcp "$1"
fi
;;