diff --git a/varios/net b/varios/net index 38996f0..aaff3e8 100755 --- a/varios/net +++ b/varios/net @@ -1,18 +1,31 @@ #!/bin/sh +# Dependencias sdhcp, wpa_supplicant, dzen2, sudo, doas (opcional) +# +# Shell: POSIX compliant +# Autor: Tuxliban Torvalds -## 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 ;;