Instalador de Hotspot Linux Debian (SysV)
Publicado por MARX FABYAN CARVALHO DO MONTE (última atualização em 29/05/2025)
[ Hits: 97 ]
Homepage: marxfcmonte
O script cria três programas, um para restaurar quando, por algum motivo,
o hotspot deixar de responder, o outro parar o serviço hotspot e por fim um para mudar o nome da rede Wi-Fi e senha. Cria atalhos para a Área de trabalho e no menu Linux.
Além disso, deixa a inicialização automática do hotspot quando o sistema inicializa. (SysV)
Realiza toda a instalação de forma automática, solicitando apenas o SSID e a Senha para SSID.
#!/bin/bash echo " Desenvolvido por Marx F. C. Monte Instalador de Hotspot v 1.8.1 (2025) Para a Distribuição Debian 12 e derivados (antiX 23)\ " if [ "$USER" != "root" ]; then echo -e "Use comando 'sudo' ou comando 'su' antes de inicializar o programa.\n" exit 1 fi conexoes=$(ifconfig -a | grep broadcast -c) if [ "$conexoes" -lt 2 ]; then echo -e "\nDeve haver pelo menos 2 interfaces ativas (Ethernet e Wi-Fi)...\n Instalação finalizada...\n" exit 1 fi echo -e "\nInstalação sendo iniciada...\n" interfaces=( $(ifconfig -a | grep broadcast -B 1 | cut -d ":" -f1 -s | sed 's/ //g') ) ethe=${interfaces[0]} wifi=${interfaces[1]} sleep 5 clear rede=$(dialog --inputbox "Nome da rede Wi-Fi (SSID)" 10 45 --stdout) senha=$(dialog --inputbox "Senha da rede Wi-Fi" 10 45 --stdout) clear service dnsmasq stop sed -i 's#^DAEMON_CONF=.*#DAEMON_CONF=/etc/hostapd/hostapd.conf#' /etc/init.d/hostapd cat <<EOF > /etc/dnsmasq.conf log-facility=/var/log/dnsmasq.log interface=$wifi dhcp-range=192.168.137.10,192.168.137.250,12h dhcp-option=3,192.168.137.1 dhcp-option=6,192.168.137.1 log-queries EOF service dnsmasq start service hostapd stop ifconfig $wifi up ifconfig $wifi 192.168.137.1/24 iptables -t nat -F iptables -F iptables -t nat -A POSTROUTING -o $ethe -j MASQUERADE iptables -A FORWARD -i $wifi -o $ethe -j ACCEPT echo '1' > /proc/sys/net/ipv4/ip_forward chown $SUDO_USER:$SUDO_USER /etc/hostapd/hostapd.conf cat <<EOF > /etc/hostapd/hostapd.conf interface=$wifi driver=nl80211 channel=1 ssid=$rede wpa=2 wpa_passphrase=$senha wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP # Altera as chaves transmitidas/multidifundidas após esse número de segundos. wpa_group_rekey=600 # Troca a chave mestra após esse número de segundos. A chave mestra é usada como base. wpa_gmk_rekey=86400 EOF cat <<EOF > /usr/share/Hotspot/StartHotspot.sh #!/bin/bash service hostapd stop service dnsmasq stop sed -i 's#^DAEMON_CONF=.*#DAEMON_CONF=/etc/hostapd/hostapd.conf#' /etc/init.d/hostapd ifconfig $wifi up ifconfig $wifi 192.168.137.1/24 iptables -t nat -F iptables -F iptables -t nat -A POSTROUTING -o $ethe -j MASQUERADE iptables -A FORWARD -i $wifi -o $ethe -j ACCEPT echo '1' > /proc/sys/net/ipv4/ip_forward service hostapd start service dnsmasq start exit 0 EOF fim=EOF cat <<EOF > /usr/share/Hotspot/HotspotLogin.sh #!/bin/bash senha=\$(dialog --title "AUTORIZAÇÃO" --passwordbox "Digite a senha (SUDO):" 8 40 --stdout) if [[ -z "\$senha" ]]; then dialog --title "ERRO" --infobox "A senha (SUDO) não foi digitada." 3 40 exit 1 fi clear echo \$senha|sudo -S -p "" service hostapd stop sudo service dnsmasq stop sudo sed -i 's#^DAEMON_CONF=.*#DAEMON_CONF=/etc/hostapd/hostapd.conf#' /etc/init.d/hostapd sudo ifconfig $wifi up sudo ifconfig $wifi 192.168.137.1/24 sudo iptables -t nat -F sudo iptables -F sudo iptables -t nat -A POSTROUTING -o $ethe -j MASQUERADE sudo iptables -A FORWARD -i $wifi -o $ethe -j ACCEPT sudo echo '1' > /proc/sys/net/ipv4/ip_forward clear rede=\$(dialog --inputbox "Nome da rede Wi-Fi (SSID)" 10 45 --stdout) clear senha=\$(dialog --inputbox "Senha da rede Wi-Fi" 10 45 --stdout) clear sudo cat <<$fim > /etc/hostapd/hostapd.conf interface=$wifi driver=nl80211 channel=1 ssid=\$rede wpa=2 wpa_passphrase=\$senha wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP # Altera as chaves transmitidas/multidifundidas após esse número de segundos. wpa_group_rekey=600 # Troca a chave mestra após esse número de segundos. A chave mestra é usada como base. wpa_gmk_rekey=86400 $fim sudo service hostapd start sudo service dnsmasq start exit 0 EOF cat <<EOF > /usr/share/Hotspot/RStarHotspot.sh #!/bin/bash service hostapd stop service dnsmasq stop sed -i 's#^DAEMON_CONF=.*#DAEMON_CONF=/etc/hostapd/hostapd.conf#' /etc/init.d/hostapd ifconfig $wifi up ifconfig $wifi 192.168.137.1/24 iptables -t nat -F iptables -F iptables -t nat -A POSTROUTING -o $ethe -j MASQUERADE iptables -A FORWARD -i $wifi -o $ethe -j ACCEPT echo '1' > /proc/sys/net/ipv4/ip_forward service hostapd start service dnsmasq start service hostapd stop service dnsmasq stop sed -i 's#^DAEMON_CONF=.*#DAEMON_CONF=/etc/hostapd/hostapd.conf#' /etc/init.d/hostapd ifconfig $wifi up ifconfig $wifi 192.168.137.1/24 iptables -t nat -F iptables -F iptables -t nat -A POSTROUTING -o $ethe -j MASQUERADE iptables -A FORWARD -i $wifi -o $ethe -j ACCEPT echo '1' > /proc/sys/net/ipv4/ip_forward service hostapd start service dnsmasq start echo "Hotspot reiniciando..." > /usr/share/Hotspot/hotspot.conf cat /usr/share/Hotspot/hotspot.conf sleep 5 echo "Hotspot reiniciado..." > /usr/share/Hotspot/hotspot.conf cat /usr/share/Hotspot/hotspot.conf sleep 5 service hostapd start service dnsmasq start exit 0 EOF cat <<EOF > /usr/share/Hotspot/StopHotspot.sh #!/bin/bash service hostapd stop service dnsmasq stop exit 0 EOF cp /usr/share/applications/RStarHotspot.desktop /home/$SUDO_USER/Desktop cp /usr/share/applications/StopHotspot.desktop /home/$SUDO_USER/Desktop cp /usr/share/applications/HotspotLogin.desktop /home/$SUDO_USER/Desktop chmod +x /usr/share/Hotspot/*.sh /usr/share/applications/RStarHotspot.desktop /usr/share/applications/StopHotspot.desktop chmod 775 /home/$SUDO_USER/Desktop/RStarHotspot.desktop /home/$SUDO_USER/Desktop/StopHotspot.desktop /home/$SUDO_USER/Desktop/HotspotLogin.desktop chown $SUDO_USER:$SUDO_USER /home/$SUDO_USER/Desktop/*.desktop cat <<EOF > /etc/init.d/hotstop #!/bin/sh ### BEGIN INIT INFO # Provides: hotspot # Required-Start: $remote_fs # Required-Stop: $remote_fs # Should-Start: $network # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Access point and authentication server for Wi-Fi and Ethernet # Description: Access point and authentication server for Wi-Fi and Ethernet # Userspace IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator ### END INIT INFO . /lib/lsb/init-functions case "\$1" in start) sleep 3 /usr/share/Hotspot/StartHotspot.sh echo "Hotspot\e[32;1m iniciado\e[0m..." > /usr/share/Hotspot/hotspot.conf ;; stop) /usr/share/Hotspot/StopHotspot.sh echo "Hotspot\e[31;1m parado\e[0m..." > /usr/share/Hotspot/hotspot.conf ;; restart) /usr/share/Hotspot/RStarHotspot.sh echo "Hotspot\e[32;1m reiniciado\e[0m..." > /usr/share/Hotspot/hotspot.conf ;; status) cat /usr/share/Hotspot/hotspot.conf ;; esac exit 0 EOF chmod +x /etc/init.d/hotstop update-rc.d hotstop defaults update-rc.d hostapd defaults update-rc.d dnsmasq defaults update-rc.d tlp defaults cat /etc/sudoers | grep -q "$SUDO_USER ALL=NOPASSWD: /etc/init.d/hotstop" if [ "$?" = "1" ]; then echo "As configurações serão atualizadas..." sed '/^$/d' /etc/sudoers > /tmp/temp.txt && mv /tmp/temp.txt /etc/sudoers echo "$SUDO_USER ALL=NOPASSWD: /etc/init.d/hotstop" >> /etc/sudoers else echo "As configurações estão atualizadas..." fi service hostapd start echo "Testanto o serviço Hotspot..." service hotstop start service hotstop status exit 0
Converte diretório, subdiretório e arquivos de Maiúscula -> minúscula.
Verificar conexão com Internet
ORACLE 10.2g - Fazendo Restore
Nenhum comentário foi encontrado.
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
[AJUDA] Problemas ao atualizar BIOS da Gigabyte B550M K rev. 1.1 — “RO... (2)
Impossível ativar audio 5.1 (1)
Erro na atualização dos pacotes (1)
Problema com Conexão Outlook via Firewall (OpenSUSE) com Internet Fibr... (3)