| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- #!/bin/bash
- #27/01/2021
- clear
- clear
- declare -A cor=( [0]="\033[1;37m" [1]="\033[1;34m" [2]="\033[1;31m" [3]="\033[1;33m" [4]="\033[1;32m" )
- SCPdir="/etc/VPS-MX" && [[ ! -d ${SCPdir} ]] && exit 1
- SCPusr="${SCPdir}/controlador" && [[ ! -d ${SCPusr} ]] && mkdir ${SCPusr}
- SCPfrm="${SCPdir}/herramientas" && [[ ! -d ${SCPfrm} ]] && mkdir ${SCPfrm}
- SCPinst="${SCPdir}/protocolos" && [[ ! -d ${SCPfrm} ]] && mkdir ${SCPfrm}
- port () {
- local portas
- local portas_var=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN")
- i=0
- while read port; do
- var1=$(echo $port | awk '{print $1}') && var2=$(echo $port | awk '{print $9}' | awk -F ":" '{print $2}')
- [[ "$(echo -e ${portas}|grep -w "$var1 $var2")" ]] || {
- portas+="$var1 $var2 $portas"
- echo "$var1 $var2"
- let i++
- }
- done <<< "$portas_var"
- }
- verify_port () {
- local SERVICE="$1"
- local PORTENTRY="$2"
- [[ ! $(echo -e $(port|grep -v ${SERVICE})|grep -w "$PORTENTRY") ]] && return 0 || return 1
- }
- edit_squid () {
- msg -ama "$(fun_trans "REDEFINIR PUERTOS SQUID")"
- msg -bar
- if [[ -e /etc/squid/squid.conf ]]; then
- local CONF="/etc/squid/squid.conf"
- elif [[ -e /etc/squid3/squid.conf ]]; then
- local CONF="/etc/squid3/squid.conf"
- fi
- NEWCONF="$(cat ${CONF}|grep -v "http_port")"
- msg -ne "$(fun_trans "Nuevos Puertos"): "
- read -p "" newports
- for PTS in `echo ${newports}`; do
- verify_port squid "${PTS}" && echo -e "\033[1;33mPort $PTS \033[1;32mOK" || {
- echo -e "\033[1;33mPort $PTS \033[1;31mFAIL"
- return 1
- }
- done
- rm ${CONF}
- while read varline; do
- echo -e "${varline}" >> ${CONF}
- if [[ "${varline}" = "#portas" ]]; then
- for NPT in $(echo ${newports}); do
- echo -e "http_port ${NPT}" >> ${CONF}
- done
- fi
- done <<< "${NEWCONF}"
- msg -azu "$(fun_trans "AGUARDE")"
- service squid restart &>/dev/null
- service squid3 restart &>/dev/null
- sleep 1s
- msg -bar
- msg -azu "$(fun_trans "PUERTOS REDEFINIDOS")"
- msg -bar
- }
- edit_apache () {
- msg -azu "$(fun_trans "REDEFINIR PUERTOS APACHE")"
- msg -bar
- local CONF="/etc/apache2/ports.conf"
- local NEWCONF="$(cat ${CONF})"
- msg -ne "$(fun_trans "Nuevos Puertos"): "
- read -p "" newports
- for PTS in `echo ${newports}`; do
- verify_port apache "${PTS}" && echo -e "\033[1;33mPort $PTS \033[1;32mOK" || {
- echo -e "\033[1;33mPort $PTS \033[1;31mFAIL"
- return 1
- }
- done
- rm ${CONF}
- while read varline; do
- if [[ $(echo ${varline}|grep -w "Listen") ]]; then
- if [[ -z ${END} ]]; then
- echo -e "Listen ${newports}" >> ${CONF}
- END="True"
- else
- echo -e "${varline}" >> ${CONF}
- fi
- else
- echo -e "${varline}" >> ${CONF}
- fi
- done <<< "${NEWCONF}"
- msg -azu "$(fun_trans "AGUARDE")"
- service apache2 restart &>/dev/null
- sleep 1s
- msg -bar
- msg -azu "$(fun_trans "PUERTOS REDEFINIDOS")"
- msg -bar
- }
- edit_openvpn () {
- msg -azu "$(fun_trans "REDEFINIR PUERTOS OPENVPN")"
- msg -bar
- local CONF="/etc/openvpn/server.conf"
- local CONF2="/etc/openvpn/client-common.txt"
- local NEWCONF="$(cat ${CONF}|grep -v [Pp]ort)"
- local NEWCONF2="$(cat ${CONF2})"
- msg -ne "$(fun_trans "Nuevos puertos"): "
- read -p "" newports
- for PTS in `echo ${newports}`; do
- verify_port openvpn "${PTS}" && echo -e "\033[1;33mPort $PTS \033[1;32mOK" || {
- echo -e "\033[1;33mPort $PTS \033[1;31mFAIL"
- return 1
- }
- done
- rm ${CONF}
- while read varline; do
- echo -e "${varline}" >> ${CONF}
- if [[ ${varline} = "proto tcp" ]]; then
- echo -e "port ${newports}" >> ${CONF}
- fi
- done <<< "${NEWCONF}"
- rm ${CONF2}
- while read varline; do
- if [[ $(echo ${varline}|grep -v "remote-random"|grep "remote") ]]; then
- echo -e "$(echo ${varline}|cut -d' ' -f1,2) ${newports} $(echo ${varline}|cut -d' ' -f4)" >> ${CONF2}
- else
- echo -e "${varline}" >> ${CONF2}
- fi
- done <<< "${NEWCONF2}"
- msg -azu "$(fun_trans "AGUARDE")"
- service openvpn restart &>/dev/null
- /etc/init.d/openvpn restart &>/dev/null
- sleep 1s
- msg -bar
- msg -azu "$(fun_trans "PUERTOS REDEFINIDOS")"
- msg -bar
- }
- edit_dropbear () {
- msg -bar
- msg -azu "$(fun_trans "REDEFINIR PUERTOS DROPBEAR")"
- msg -bar
- local CONF="/etc/default/dropbear"
- local NEWCONF="$(cat ${CONF}|grep -v "DROPBEAR_EXTRA_ARGS")"
- msg -ne "$(fun_trans "Nuevos Puertos"): "
- read -p "" newports
- for PTS in `echo ${newports}`; do
- verify_port dropbear "${PTS}" && echo -e "\033[1;33mPort $PTS \033[1;32mOK" || {
- echo -e "\033[1;33mPort $PTS \033[1;31mFAIL"
- return 1
- }
- done
- rm ${CONF}
- while read varline; do
- echo -e "${varline}" >> ${CONF}
- if [[ ${varline} = "NO_START=0" ]]; then
- echo -e 'DROPBEAR_EXTRA_ARGS="VAR"' >> ${CONF}
- for NPT in $(echo ${newports}); do
- sed -i "s/VAR/-p ${NPT} VAR/g" ${CONF}
- done
- sed -i "s/VAR//g" ${CONF}
- fi
- done <<< "${NEWCONF}"
- msg -azu "$(fun_trans "AGUARDE")"
- service dropbear restart &>/dev/null
- sleep 1s
- msg -bar
- msg -azu "$(fun_trans "PUERTOS REDEFINIDOS")"
- msg -bar
- }
- edit_openssh () {
- msg -azu "$(fun_trans "REDEFINIR PUERTOS OPENSSH")"
- msg -bar
- local CONF="/etc/ssh/sshd_config"
- local NEWCONF="$(cat ${CONF}|grep -v [Pp]ort)"
- msg -ne "$(fun_trans "Nuevos Puertos"): "
- read -p "" newports
- for PTS in `echo ${newports}`; do
- verify_port sshd "${PTS}" && echo -e "\033[1;33mPort $PTS \033[1;32mOK" || {
- echo -e "\033[1;33mPort $PTS \033[1;31mFAIL"
- return 1
- }
- done
- rm ${CONF}
- for NPT in $(echo ${newports}); do
- echo -e "Port ${NPT}" >> ${CONF}
- done
- while read varline; do
- echo -e "${varline}" >> ${CONF}
- done <<< "${NEWCONF}"
- msg -azu "$(fun_trans "AGUARDE")"
- service ssh restart &>/dev/null
- service sshd restart &>/dev/null
- sleep 1s
- msg -bar
- msg -azu "$(fun_trans "PUERTOS REDEFINIDOS")"
- msg -bar
- }
- main_fun () {
- msg -bar2
- msg -tit ""
- msg -ama " EDITAR PUERTOS ACTIVOS "
- msg -bar
- lacasita
- msg -bar2
- unset newports
- i=0
- while read line; do
- let i++
- case $line in
- squid|squid3)squid=$i;;
- apache|apache2)apache=$i;;
- openvpn)openvpn=$i;;
- dropbear)dropbear=$i;;
- sshd)ssh=$i;;
- esac
- done <<< "$(port|cut -d' ' -f1|sort -u)"
- for((a=1; a<=$i; a++)); do
- [[ $squid = $a ]] && echo -ne "\033[1;32m [$squid] > " && msg -azu "$(fun_trans "REDEFINIR PUERTOS SQUID")"
- [[ $apache = $a ]] && echo -ne "\033[1;32m [$apache] > " && msg -azu "$(fun_trans "REDEFINIR PUERTOS APACHE")"
- [[ $openvpn = $a ]] && echo -ne "\033[1;32m [$openvpn] > " && msg -azu "$(fun_trans "REDEFINIR PUERTOS OPENVPN")"
- [[ $dropbear = $a ]] && echo -ne "\033[1;32m [$dropbear] > " && msg -azu "$(fun_trans "REDEFINIR PUERTOS DROPBEAR")"
- [[ $ssh = $a ]] && echo -ne "\033[1;32m [$ssh] > " && msg -azu "$(fun_trans "REDEFINIR PUERTOS SSH")"
- done
- echo -ne "$(msg -bar)\n\033[1;32m [0] > " && msg -azu "\e[97m\033[1;41m VOLVER \033[1;37m"
- msg -bar
- while true; do
- echo -ne "\033[1;37m$(fun_trans "Seleccione"): " && read selection
- tput cuu1 && tput dl1
- [[ ! -z $squid ]] && [[ $squid = $selection ]] && edit_squid && break
- [[ ! -z $apache ]] && [[ $apache = $selection ]] && edit_apache && break
- [[ ! -z $openvpn ]] && [[ $openvpn = $selection ]] && edit_openvpn && break
- [[ ! -z $dropbear ]] && [[ $dropbear = $selection ]] && edit_dropbear && break
- [[ ! -z $ssh ]] && [[ $ssh = $selection ]] && edit_openssh && break
- [[ "0" = $selection ]] && break
- done
- #exit 0
- }
- main_fun
|