document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!/bin/bash
  2. PATH=/bin:/usr/bin:/sbin:/usr/sbin
  3. FILE=/tmp/`date +%s`
  4. PID=/tmp/setProxy.pid
  5. STATUS=/tmp/setProxy.stat
  6.  
  7. _description(){
  8. cat <<eof
  9. Autor:
  10.     Ricardo Brito do Nascimento
  11.  
  12. Email:
  13.     brito[at]incolume.com.br
  14.  
  15. Descrição:
  16.     execute este script com o comando \'source\';
  17.     para comprovar a execução do script, execute o comando \'export\';
  18. eof
  19.  
  20. }
  21. _help(){
  22. cat << eof
  23. ex:
  24.   $ source <script> [start,stop,status,restart--help,-h]
  25.          start) ativa o proxy;
  26.          stop) desativa o proxy;
  27.          status) indica se o script foi utilizado para configurar o proxy;
  28.      restart) executa um stop e logo após um start;
  29.          --help|-h) esta ajuda;
  30. eof
  31. }
  32. _setProxy(){
  33. 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`
  34.  
  35. echo IP identificado: $IP
  36.  
  37. NET=`awk -F. \'{print $1"."$2"."$3}\' <<< $IP`
  38. #echo $NET
  39.  
  40. if [ "$NET" == "192.168.56" ]; then
  41.    export http_proxy=http://192.168.56.14:8080
  42.    export https_proxy=http://192.168.56.14:8080
  43.    export ftp_proxy=http://192.168.56.14:8080
  44. elif [ "$NET" == "192.168.25" ]; then
  45.    http_proxy=http://192.168.25.1:8080
  46.    https_proxy=http://192.168.25.1:8080
  47.    ftp_proxy=http://192.168.25.1:8080
  48. else
  49.    export http_proxy=http://192.168.101.101:8080
  50.    export https_proxy=http://192.168.101.101:8080
  51.    export ftp_proxy=http://192.168.101.101:8080
  52. fi
  53.  
  54. no_proxy="192.168.56.150,localhost"
  55. echo "export http_proxy=$http_proxy && export https_proxy=$https_proxy && export ftp_proxy=$ftp_proxy && export no_proxy=$no_proxy" |tee $STATUS > $FILE
  56. }
  57.  
  58.  
  59. _erro(){
  60. cat << fim
  61. opção inválida, consulte o help, com as opções --help ou, -h.
  62. fim
  63. }
  64.  
  65. _start(){
  66. #echo $FILE
  67. _setProxy;
  68. #echo $FILE
  69. source $FILE;
  70. touch $PID
  71. echo Proxy bash ativado
  72. }
  73.  
  74. _stop(){
  75. echo "unset http_proxy https_proxy ftp_proxy no_proxy" > $FILE
  76. source $FILE
  77. [ -e $PID ] && rm -f $PID
  78. [ -e $STATUS ] && rm -f $STATUS
  79. echo Proxy bash inativado
  80. }
  81.  
  82. _status(){
  83. [ -e $PID ] && echo "Proxy bash ativo." || echo "Proxy bash inativo."
  84. [ -e $STATUS ] && cat $STATUS
  85. }
  86.  
  87. _restart(){
  88. _stop;
  89. _start;
  90. }
  91. case $1 in
  92.         start) _start;;
  93.         stop) _stop;;
  94.         status) _status;;
  95.         restart) _restart;;
  96.         -h|--help) _description;_help;;
  97.         \'\') echo \'Syntaxe:\'
  98.             _help;
  99.             echo;;
  100.         *) _erro ;;
  101. esac
  102.  
  103. [ -e $FILE ] && rm -f $FILE
');