Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- PATH=/bin:/usr/bin:/sbin:/usr/sbin
- FILE=/tmp/`date +%s`
- PID=/tmp/setProxy.pid
- STATUS=/tmp/setProxy.stat
- _description(){
- cat <<eof
- Autor:
- Ricardo Brito do Nascimento
- Email:
- brito[at]incolume.com.br
- Descrição:
- execute este script com o comando 'source';
- para comprovar a execução do script, execute o comando 'export';
- eof
- }
- _help(){
- cat << eof
- ex:
- $ source <script> [start,stop,status,restart--help,-h]
- start) ativa o proxy;
- stop) desativa o proxy;
- status) indica se o script foi utilizado para configurar o proxy;
- restart) executa um stop e logo após um start;
- --help|-h) esta ajuda;
- eof
- }
- _setProxy(){
- IP=`ifconfig |grep inet|grep -Eo '([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}'|egrep -v ^127|egrep -v ^255|head -1`
- echo IP identificado: $IP
- NET=`awk -F. '{print $1"."$2"."$3}' <<< $IP`
- #echo $NET
- if [ "$NET" == "192.168.56" ]; then
- export http_proxy=http://192.168.56.14:8080
- export https_proxy=http://192.168.56.14:8080
- export ftp_proxy=http://192.168.56.14:8080
- elif [ "$NET" == "192.168.25" ]; then
- http_proxy=http://192.168.25.1:8080
- https_proxy=http://192.168.25.1:8080
- ftp_proxy=http://192.168.25.1:8080
- else
- export http_proxy=http://192.168.101.101:8080
- export https_proxy=http://192.168.101.101:8080
- export ftp_proxy=http://192.168.101.101:8080
- fi
- no_proxy="192.168.56.150,localhost"
- echo "export http_proxy=$http_proxy && export https_proxy=$https_proxy && export ftp_proxy=$ftp_proxy && export no_proxy=$no_proxy" |tee $STATUS > $FILE
- }
- _erro(){
- cat << fim
- opção inválida, consulte o help, com as opções --help ou, -h.
- fim
- }
- _start(){
- #echo $FILE
- _setProxy;
- #echo $FILE
- source $FILE;
- touch $PID
- echo Proxy bash ativado
- }
- _stop(){
- echo "unset http_proxy https_proxy ftp_proxy no_proxy" > $FILE
- source $FILE
- [ -e $PID ] && rm -f $PID
- [ -e $STATUS ] && rm -f $STATUS
- echo Proxy bash inativado
- }
- _status(){
- [ -e $PID ] && echo "Proxy bash ativo." || echo "Proxy bash inativo."
- [ -e $STATUS ] && cat $STATUS
- }
- _restart(){
- _stop;
- _start;
- }
- case $1 in
- start) _start;;
- stop) _stop;;
- status) _status;;
- restart) _restart;;
- -h|--help) _description;_help;;
- '') echo 'Syntaxe:'
- _help;
- echo;;
- *) _erro ;;
- esac
- [ -e $FILE ] && rm -f $FILE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement