Zwifi - Conectar em rede Wi-Fi via terminal

Publicado por Fernando T. Da Silva (última atualização em 11/01/2016)

[ Hits: 4.999 ]

Homepage: http://meumundotux.blogspot.com.br/

Download zwifi-v3-perfil.tgz




Simples script em zenity para conectar em rede WI-FI com protocolo WPA/WPA2 usando o wpa_supplicant com suporte
a perfil de cada rede conectada ao utilizar um notebook, podendo ser utilizado em qualquer window manager sem precisar de ferramentas gráficas como Wicd, NetworkManager e outros similares.

Para instalar faça:

$ sudo tar -xzvf zwifi-v3-perfil.tgz -C /

Nota: após configuração da rede ou o acesso a mesma aguarde alguns segundos a exibição da janela de retorno com o resultado, se for exibido o seu IP local da conexão realizada, a mesma foi feita com sucesso.

Mais informações no arquivo: /usr/doc/wifi/zwifi-leia.txt

  



Esconder código-fonte

Código fonte do arquivo principal

# zwifi versão 3 dezembro de 2015 por nandosilva.
# simples script em zenity pra conectar a várias redes wireless com um notebook, onde você terá salvo o perfil
# de cada uma, pra posterior conexão sem precisar configurar de novo ao usar windows managens minimalista sem precisar do
# networkmanager, wicd e outros configuradores de rede pra isto.
# Necessário usar o sudo ou gksu para este script na frente do nome do mesmo no seu atalho do menu de programas.
# O pacote  wpa_supplicant e zenity devem está instalado no seu sistema.
#
while true; do
  choice="$(zenity --width=400 --height=310 --list --column "Acesso wifi" --title="Wireless" \
  "Procurar redes" \
  "Configurar rede" \
  "Acessar uma rede configurada" \
  "Desconectar" \
  "Sobre" \
  "Sair")"

  case "${choice}" in

 "Procurar redes" ) 
sudo /sbin/ifconfig wlan0 up
sudo /sbin/iwlist wlan0 scan >> /tmp/local
zenity --title "Redes Wifi" --text-info --filename=/tmp/local --width=1000 --height=850
rm /tmp/local

;;  
      "Configurar rede" )
zenity --info --title "Perfil" --text "Criar perfil"
perfil=$(zenity --title="Perfil" --entry --text="Digite um nome curto unico para o perfil sem espaços \n ou pontos. Exemplo: myredelacasa")
mkdir /etc/wifi
touch /etc/wifi/"$perfil"
ssid=$(zenity --title="Zwifi" --width=400 --height=120 --entry --text="Digite o ssid:") 
senha=$(zenity --title="Zwifi" --entry --hide-text --text="Digite a senha, mínimo de 8 caracteres: ")
/usr/sbin/wpa_passphrase "$ssid" $senha > /etc/wifi/"$perfil"
sed '3d' /etc/wifi/"$perfil" > /etc/wifi/tmp ; mv /etc/wifi/tmp /etc/wifi/"$perfil"
/usr/sbin/wpa_supplicant -i wlan0 -c /etc/wifi/"$perfil" -B -d -D wext
/sbin/dhcpcd wlan0
ifconfig wlan0 >> /tmp/local
ping -c 2 www.google.com  >> /tmp/local
zenity --title "Zwifi" --text-info --filename=/tmp/local --width=900 --height=500
rm /tmp/local

;;

"Acessar uma rede configurada" )
input=`zenity --file-selection --filename /etc/wifi/ --title "Selecione um arquivo de Perfil"`
  if [ $? = 1 ];
   then zenity --error --title "Perfil" --text "Acesso cancelado" & exit
  fi
/usr/sbin/wpa_supplicant -i wlan0 -c "$input" -B -d -D wext
/sbin/dhcpcd wlan0
ifconfig wlan0 >> /tmp/local
zenity --title "Zwifi" --text-info --filename=/tmp/local --width=800 --height=400
rm /tmp/local

;;  
     "Desconectar" )

zenity --title="Aviso" --info --text="Para desconectar da rede wifi atual e acessar outra rede, na janela de terminal a seguir execute o comando wifioff, após feche a janela de terminal para retornar ao zwifi."
xterm -fn 9x18 -title "wifi terminal"

;;  

 "Sobre" )
zenity --info --text "Zwifi\n\n Versão 3 - janeiro de 2016 \n Autor: nandosilva \n \nAcessar redes wireles com suporte a perfil utilizando  o wpa_supplicant. \n\nLicença: GPLv3.\n\nRequer: wpa_supplicant, zenity, gksu e xterm."

;;

        *)
            break
          ;;
        esac
  
done


Scripts recomendados

SSH - Detecta ataque por brute force e bloqueia o IP do atacante.

Sorteio do Amigo Secreto

Jogo da velha

Shell Script básico para gerenciar usuários e bancos no MySQL ou MariaDB

Backup em HD Externa com Rsync


  

Comentários
[1] Comentário enviado por fabio em 11/01/2016 - 09:31h

Muito bom! Favoritado.

[2] Comentário enviado por Minions em 04/06/2024 - 01:12h


Salve

Tem distros que o nome da placa de rede wlan0 fica mudando no reboot.

Tem algo que identifica o nome correto da placa de rede e joga em uma variável?

Obrigado

[3] Comentário enviado por nandosilva em 09/06/2024 - 21:14h

Isto é um bug da sua distro que fica trocando o nome da placa de rede wifi, tem maneira de fixar este nome, mas não sei de cabeça, mas aqui no VOL já
vir um artigo ou no forum de como fixar o nome da sua placa de rede wfi ou mesmo cabeada que fica mudando toda vez que você liga o pc, de uma pesquisada aqui.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts