2025-05-26 15:48:09 -06:00

84 lines
2.2 KiB
Bash

#!/bin/bash
source <(curl -sL https://gitea.com/drowkid01/scriptdk1/raw/branch/main/msg-bar/msg)
newDNS(){
del 3
back
in_opcion -nazu 'INGRESA TU HOST/IP DNS'
if [[ $opcion = '0' ]] || [[ $opcion = "" ]]; then
return
fi
opcion=$(echo "$opcion" | tr -d '[[:space:]]')
echo "nameserver $opcion" >> /etc/resolvconf/resolv.conf.d/head
resolvconf -u
del 4
print_center -verd 'Nuevo host/ip dns agregado!'
enter
}
delDNS(){
title 'REMOVER UN HOST/IP DNS'
i=0
for d in ${dns[@]}; do
let i++
[[ -z $d ]] && continue
echo " $(msg -verd "[$i]") $(msg -verm2 '>') $(msg -azu "$d")"
done
back
opcion=$(selection_fun $i)
[[ $opcion = 0 ]] && return
linea=$(grep -n -E "${dns[$opcion]}" /etc/resolvconf/resolv.conf.d/head|awk '{print $1}'|cut -d ':' -f1)
sed -i "${linea}d" /etc/resolvconf/resolv.conf.d/head
#sed -i "/nameserver ${dns[$opcion]}/d" /etc/resolvconf/resolv.conf.d/head
resolvconf -u
print_center -ama 'Host/Ip dns removido!'
enter
}
menuDNS(){
unset dns
resolv=$(cat /etc/resolvconf/resolv.conf.d/head|grep -v '#'|grep nameserver|cut -d ' ' -f2)
title 'CONFIGURACION DE IP DNS'
print_center -verm2 'funcion beta, por fallos reportar a @Rufu99'
msg -bar3
print_center -ama ' lista de ip dns activas'
msg -bar3
i=1
while read line; do
#echo " $(msg -verd "[$i]") $(msg -verm2 ">") $(msg -azu "$line")"
echo " $(msg -verd "NameServer") $(msg -verm2 ">") $(msg -azu "$line")"
dns[$i]="$line"
let i++
done <<< $(echo "$resolv")
msg -bar3
echo -ne " $(msg -verd "[0]") $(msg -verm2 ">")"
echo " $(msg -bra "\033[1;41mVOLVER") $(msg -verd "[1]") $(msg -verm2 ">") $(msg -verd "AGREGAR DNS") $(msg -verd "[2]") $(msg -verm2 ">") $(msg -verm2 "QUITAR DNS")"
msg -bar3
opcion=$(selection_fun 2)
case $opcion in
1)newDNS;;
2)delDNS;;
0) return 1;;
esac
}
install_resolv(){
if [[ $(which resolvconf) = "" ]]; then
title -ama 'AVISO!!!!'
print_center -ama 'Esta funcion requiere del paquete resolvconf'
msg -bar3
in_opcion 'Quieres instalar resolvconf [s/n]'
case $opcion in
s|S)apt install resolvconf -y;;
n|N)return 1;;
*)return 1;;
esac
fi
}
while [[ $? -eq 0 ]]; do
install_resolv
[[ $? -eq 0 ]] && menuDNS
done