Discussion:
[shell-script] Client GUI VPN Gate [shell/yad]
maik.alberto@hotmail.com [shell-script]
2017-08-30 12:14:08 UTC
Permalink
Bom dia Senhores!

Enfim dei uma olhada no yad pra aprender um pouco, criei com shell e yad um client para o VPN GATE, nessa caminhada consultei materiais do Raimundo Alves Portela e Júlio Cezar Neves entre outros da gringa. A caminhada não para.Compartilhando...

https://github.com/m41k/clivgate https://github.com/m41k/clivgate

source:

#!/bin/bash

#---------------------------------------#
# Created by: Maik Alberto #
# ***@hotmail.com #
# github.com/m41k #
#---------------------------------------#

on(){
rm -f /tmp/servers 2> /dev/null
wget www.vpngate.net/api/iphone/ -O /tmp/servers 2>&1 |
yad --progress \
--title="CliVGate" \
--width=200 \
--window-icon='network-vpn' \
--image='edit-find-symbolic' \
--text="<b>Loading server list...</b>" \
--progress-text="wait please" \
--no-buttons \
--pulsate \
--auto-close \
--auto-kill

LISTA=( `tail -n +3 /tmp/servers | cut -s -d "," -f2,7 | while read LINHA; do echo "$LINHA"; done `)

SEASE=$(yad --entry --width=200 --title="CliVGATE" \
--window-icon='network-vpn' \
--text="<b>Select a server:</b>" \
--entry-text \
${LISTA[@]} \
--button="Connect" )
SERVER=( `echo $SEASE | cut -d"," -f1` )

cat /tmp/servers | grep $SERVER | cut -d"," -f15 | base64 -d > /tmp/cfov 2> /dev/null

openvpn --config /tmp/cfov &
tray
}

off(){
yad --width=200 --title="CliVGATE" \
--window-icon='network-vpn' \
--text-align='center' \
--text="<small>Created by: github.com/m41k</small>" \
--buttons-layout='center' \
--button="Disconnect"
if [ $? -eq 0 ]; then
killall openvpn &
fi
}

tray(){
yad --width=200 --notification \
--image='network-vpn' \
--text "CliVGATE"
off
}

ifconfig | grep tun
if [ $? -eq 0 ]; then
off
fi

case $1 in
off)off
;;
tray)tray
;;
on)on
;;
esac
'Julio C. Neves' julio.neves@gmail.com [shell-script]
2017-08-30 15:07:33 UTC
Permalink
Fala Maik,
é demais esse yad, não é?

Duas observações, mesmo sem ter tentado entender a lógica do script.


- Troque:

ifconfig | grep tun
if [ $? -eq 0 ]; then
off
fi
Por:
if ifconfig | grep tun; then
off
fi


- Não precisa fazer passagem de parâmetro. Logo na entrada do prg abra
uma caixa de diálogo pedindo o parâmetro. Tipo:

Parm=$(yad --entry --text "Informe o parâmetro" --button gtk-ok --button
gtk-cancel)


Em Setembro/Outubro darei um treinamento de 40 horas no RJ e em BSB
sobre Programação em Shell, com imersão em Expressões Regulares e
dicas de YAD. Para mais detalhes acesse goo.gl/JkWmBx

Em Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.
<https://www.4linux.com.br/curso/programacao-em-shell-script>



Abcs,
Julio

*Damos treinamento em sua empresa por **um preço, *
*no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*

​​
Nosso time de instrutores *in company* é formado somente por
​
​
autores
​ ​
​
de
*Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by ***@hotmail.com [shell-script]
Bom dia Senhores!
Enfim dei uma olhada no yad pra aprender um pouco, criei com shell e yad
um client para o VPN GATE, nessa caminhada consultei materiais do Raimundo
Alves Portela e Júlio Cezar Neves entre outros da gringa. A caminhada não
para.Compartilhando...
https://github.com/m41k/clivgate
#!/bin/bash
#---------------------------------------#
# Created by: Maik Alberto #
# github.com/m41k #
#---------------------------------------#
on(){
rm -f /tmp/servers 2> /dev/null
wget www.vpngate.net/api/iphone/ -O /tmp/servers 2>&1 |
yad --progress \
--title="CliVGate" \
--width=200 \
--window-icon='network-vpn' \
--image='edit-find-symbolic' \
--text="<b>Loading server list...</b>" \
--progress-text="wait please" \
--no-buttons \
--pulsate \
--auto-close \
--auto-kill
LISTA=( `tail -n +3 /tmp/servers | cut -s -d "," -f2,7 | while read LINHA; do echo "$LINHA"; done `)
SEASE=$(yad --entry --width=200 --title="CliVGATE" \
--window-icon='network-vpn' \
--text="<b>Select a server:</b>" \
--entry-text \
--button="Connect" )
SERVER=( `echo $SEASE | cut -d"," -f1` )
cat /tmp/servers | grep $SERVER | cut -d"," -f15 | base64 -d > /tmp/cfov 2> /dev/null
openvpn --config /tmp/cfov &
tray
}
off(){
yad --width=200 --title="CliVGATE" \
--window-icon='network-vpn' \
--text-align='center' \
--text="<small>Created by: github.com/m41k</small>" \
--buttons-layout='center' \
--button="Disconnect"
if [ $? -eq 0 ]; then
killall openvpn &
fi
}
tray(){
yad --width=200 --notification \
--image='network-vpn' \
--text "CliVGATE"
off
}
ifconfig | grep tun
if [ $? -eq 0 ]; then
off
fi
case $1 in
off)off
;;
tray)tray
;;
on)on
;;
esac
maik alberto maik.alberto@hotmail.com [shell-script]
2017-08-31 13:01:22 UTC
Permalink
Opa!

Obrigado pelas dicas.


Rapidamente explicando o funcionamento do script: ele baixa a listagem dos servidores disponíveis do VPNGATE, abre uma tela com opção de escolha do servidor, faz conexão através do openvpn, ou seja, automatiza a conexão vpn.

Fiz pensando em alternativa ao TOR.


Apliquei a alteração do if;


Sobre a utilização dos parâmetros, como trata de ambiente gráfico, no github disponibilizei até um install(baseado no debian), onde faz as instalações do yad e openvpn(dependências), e cria um atalho no Desktop. Esse atalho já faz a execução do script com o parâmetro, os demais parâmetros são usados nas funções, fica todo focado para parte gráfica mesmo.


________________________________
De: shell-***@yahoogrupos.com.br <shell-***@yahoogrupos.com.br> em nome de 'Julio C. Neves' ***@gmail.com [shell-script] <shell-***@yahoogrupos.com.br>
Enviado: quarta-feira, 30 de agosto de 2017 12:07
Para: shell-***@yahoogrupos.com.br
Assunto: Re: [shell-script] Client GUI VPN Gate [shell/yad]



Fala Maik,
é demais esse yad, não é?

Duas observações, mesmo sem ter tentado entender a lógica do script.


* Troque:

ifconfig | grep tun
if [ $? -eq 0 ]; then
off
fi
Por:
if ifconfig | grep tun; then
off
fi

* Não precisa fazer passagem de parâmetro. Logo na entrada do prg abra uma caixa de diálogo pedindo o parâmetro. Tipo:

Parm=$(yad --entry --text "Informe o parâmetro" --button gtk-ok --button gtk-cancel)

Em Setembro/Outubro darei um treinamento de 40 horas no RJ e em BSB
sobre Programação em Shell, com imersão em Expressões Regulares e
dicas de YAD. Para mais detalhes acesse goo.gl/JkWmBx<https://goo.gl/JkWmBx>
[https://lh5.googleusercontent.com/Z9wDeNXqIRJkjEIfKzcUDIL0hitiHs1WyFN6_5fREnInsI0XPdEvHi47LsanIgtdAC8=w1200-h630-p]<https://goo.gl/JkWmBx>

Treinamento Presencial - Dominando o Shell Script com Julio Neves<https://goo.gl/JkWmBx>
goo.gl
Parabéns, você se interessou por nosso curso presencial Dominando o Shell Script com Julio Neves. Por favor preencha seus dados pra fazer sua pré-inscrição


Em Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.<https://www.4linux.com.br/curso/programacao-em-shell-script>

[https://drive.google.com/uc?id=0B6Rg1uyhMVcbT0Q3RUhUOUlSdlE&export=download]

Abcs,
Julio

Damos treinamento em sua empresa por um preço,
no mínimo, 50% mais barato que qualquer curso,
com certificado e nota fiscal.

Nosso time de instrutores in company é formado somente por
autores
de Best Sellers
laureados sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico


2017-08-30 9:14 GMT-03:00 ***@hotmail.com<mailto:***@hotmail.com> [shell-script] <shell-***@yahoogrupos.com.br<mailto:shell-***@yahoogrupos.com.br>>:


Bom dia Senhores!

Enfim dei uma olhada no yad pra aprender um pouco, criei com shell e yad um client para o VPN GATE, nessa caminhada consultei materiais do Raimundo Alves Portela e Júlio Cezar Neves entre outros da gringa. A caminhada não para.Compartilhando...

https://github.com/m41k/clivgate

source:


#!/bin/bash

#---------------------------------------#
# Created by: Maik Alberto #
# ***@hotmail.com<mailto:***@hotmail.com> #
# github.com/m41k<http://github.com/m41k> #
#---------------------------------------#

on(){
rm -f /tmp/servers 2> /dev/null
wget www.vpngate.net/api/iphone/<http://www.vpngate.net/api/iphone/> -O /tmp/servers 2>&1 |
yad --progress \
--title="CliVGate" \
--width=200 \
--window-icon='network-vpn' \
--image='edit-find-symbolic' \
--text="<b>Loading server list...</b>" \
--progress-text="wait please" \
--no-buttons \
--pulsate \
--auto-close \
--auto-kill

LISTA=( `tail -n +3 /tmp/servers | cut -s -d "," -f2,7 | while read LINHA; do echo "$LINHA"; done `)

SEASE=$(yad --entry --width=200 --title="CliVGATE" \
--window-icon='network-vpn' \
--text="<b>Select a server:</b>" \
--entry-text \
${LISTA[@]} \
--button="Connect" )
SERVER=( `echo $SEASE | cut -d"," -f1` )

cat /tmp/servers | grep $SERVER | cut -d"," -f15 | base64 -d > /tmp/cfov 2> /dev/null

openvpn --config /tmp/cfov &
tray
}

off(){
yad --width=200 --title="CliVGATE" \
--window-icon='network-vpn' \
--text-align='center' \
--text="<small>Created by: github.com/m41k<http://github.com/m41k></small>" \
--buttons-layout='center' \
--button="Disconnect"
if [ $? -eq 0 ]; then
killall openvpn &
fi
}

tray(){
yad --width=200 --notification \
--image='network-vpn' \
--text "CliVGATE"
off
}

ifconfig | grep tun
if [ $? -eq 0 ]; then
off
fi

case $1 in
off)off
;;
tray)tray
;;
on)on
;;
esac

Loading...