Knife System

Publicado por Steve Torvalds (última atualização em 15/10/2016)

[ Hits: 6.050 ]

Homepage: luan0ap.github.io

Download knife

Download 1458935727.knife (versão 2)

Download 1460028692.knife (versão 3)

Download 1465256272.knife (versão 4)

Download 1470172400.knife (versão 5)

Download knifesystem.deb (versão 6)




Script criado por mim, feito para auxíliar em algumas tarefas e também para ajudar quem está começando. O script inclui diversas tarefas e funções, é um canivete suíço, nele você encontrará um pequeno firewall, poderá instalar e remover programas.

Caso queira conferir toda a documentação consulte meu github, lá você irá encontrar um script de instalação, e todas as funções descritas na doc.

Por favor em caso em dúvidas, sugestões ou erros não exite em me contatar.

https://github.com/anony000/knife_system

  



Versões atualizadas deste script

Versão 2 - Enviado por Steve Torvalds em 25/03/2016

Changelog: Nova versão do script (2.3), agora com a opção de instalar tema no conky, alguns pequenos bugs quanto a download de arquivos corrigidos, um novo firewall implantado, mais seguro e personalizável.

Download 1458935727.knife


Versão 3 - Enviado por Steve Torvalds em 07/04/2016

Changelog: Uma nova versão disponível para download, agora ela inclui interface gráfica em algumas opções, instala interface gráfica no Arch e muito mais. Caso queira conferir e estar sempre atualizado nas versões do script confira meu github em:

https://github.com/anony000/knife_system

Download 1460028692.knife


Versão 4 - Enviado por Steve Torvalds em 06/06/2016

Changelog: Galera venho aqui novamente divulgar o meu script. Agora, ele possuí um site próprio, por favor deixe o seu feedback pois só com ele vou poder saber onde melhorar o script. Uma breve descrição do script Knife System:

Script em bash, desenvolvido para auxíliar e ajudar você ao máximo, desde tarefas símples até tarefas mais complexas. ele provém de várias funções que podem ser úteis, seria como um canivete suiço.

Site do script: knifesystem.pe.hu

Atualmente em sua versão 2.8.

Download 1465256272.knife


Versão 5 - Enviado por Steve Torvalds em 02/08/2016

Changelog: Venho aqui novamente trazer meu script em bash para Debian e derivados agora em sua versão 3.0;
trazendo consigo novas funcionalidades, como bloquear web sites(um bom exemplo de uso é em empresas que desejam bloquear
acessos a determinados sites), e também opção de gerar senhas contendo números, caracteres especiais e strings.

Para quem ainda não conhece o script Knife System, aqui vai uma breve descrição:

Script em bash feito com o intuito de ajudar o máximo de pessoas, sejam elas iniciantes ou avançadas no "mundo" linux,
com inúmeras funções para o seu dia a dia.

Caso queira saber mais sobre as suas diversas funcionalidades, acesse:

http://knifesystem.pe.hu/sobre.html">http://knifesystem.pe.hu/sobre.html

Em caso de dúvidas, erros ou sugestões(que são muito úteis) entre em contato comigo, peço também para que curtam e compartilhem a página do Knife System, assim mais pessoas o conhecerão e serão ajudadas por ele.

Site/Download: http://knifesystem.pe.hu
Página: https://facebook.com/knifesystem
Contato: contato@knifesystem.pe.hu ou pelo site

Conto com a colaboração de vocês :)

Download 1470172400.knife


Versão 6 - Enviado por Steve Torvalds em 02/10/2016

Changelog: Boa tarde galera, venho aqui divulgar a mais nova versão do script Knife System 3.2, que agora traz consigo a funcionalidade de verificar a previsão do tempo para todo o Brasil e também procurar por erros na distro instalada e a partir de agora o script é um .deb, equivale a um executável no Windows. Não sabe o que é o Knife System? Ou que ele faz? Então darei uma breve explicação:

Script desenvolvido em bash com o intuito de ajudar o máximo de pessoas possíveis sejam elas iniciantes ou avançadas, e para isso ele dispões de diversas funções separadas por menus, para os iniciantes será uma mão na roda para resolver problemas complexos e para os avançados será como um meio mais rápido de fazer o que deseja. Imagine um canivete suíço com várias ferramentas a sua disposição, você pode não usar todas mas sempre uma ou outra você vai, então é isso o Knife System é o canivete suíço da Internet.

Vídeo demonstrativo: https://youtu.be/-7jDIdLGGao

Site/download: http://knifesystem.pe.hu

Página: https://facebook.com/knifesystem

GitHub: https://github.com/anony000/knife_system

Download knifesystem.deb


Esconder código-fonte

#!/bin/bash

############################### Informações #############################
# Autor: Anônimo000                                                     #
# Data: 05/02/2016                                                      #
# Descrição: Para inúmeras finalidades descritas no Readme.md           #
# Versão: 2.0                                                           #
# Data de modificação: 11/03/2016                                       #
# OS: Apenas para derivados do Debian.                                  #
#                                                                       #
# Sinta-se livre para mudar o código, e deixa-lo a seu gosto            #
# Não retire os devidos créditos                                        #
#########################################################################


###### versão 1.0 #########################
#                                         #
# Criação do menu, das funcões.           #
#                                         #
# Instalação dos programas.               #
#                                         #
# Automatização nas tarefas.              #
###########################################
#
####### versão 1.1 ########################
# Nova opção, instalação de temas.        #
#                                         #
# Erro de esquema das cores concertado.   #
###########################################
#
####### versão 1.2 ########################
# Nova opção, atualização da distribuição.#
###########################################
#
####### versão 1.3 ########################
# Nova opção, remover temas               #
###########################################
#
###### versão 1.4 #########################
# Remoção da lista de programas de insta- #
# lação e movido para um sub-menu.        #
#                                         #
# Nova opção, Lista de programas          #
#                                         #
# Efeitos no menu príncipal               #
###########################################
#
###### versão 1.5 #########################
# Nova opção, Firewall                    #
#                                         #
# Erro na instalação do Gnumeric          #
#                                         #
###########################################
#
##### versão 1.6 ##########################
# Firewall permanente adicionado          #
#                                         #
# Nova opção, GIT                         #
#                                         #
# Aperfeiçoado algumas funções            #
#                                         #
# Script mais discreto sem mostrar muitas mensagens
#                                         #
# Mensagens de log são geradas            #
###########################################
#
###### versão 1.7 #########################
# Aperfeçoamentos nas funções             #
###########################################
#
###### versão 1.8 #########################
# Barra de progresso implantada           #
#                                         #
# Pequenos bugs corrigidos                #
###########################################
#
####### versão 1.9 ########################
# Nova opção, Informações do PC           #
#                                         #
# Pode-se agora mostar o IP externo       #
###########################################
#
####### versão 2.0  #######################
# Melhorado a verificação de conexão      #
#                                         #
# Nmap adicionadoas opções de infos       #
#                                         #
# Concertado bug de obtenção de endereço IP
###########################################

verm="\033[1;31m"
verde="\033[1;32m"
amarelo=`echo "\033[1;33m"`
azul=`echo "\033[1;34m"`
branco=`echo "\033[0;37m"`
NORMAL=`echo "\033[m"`


########################################################
#                menu principal                        #
########################################################
echo -e "${azul}Verificando sua conexão...${NORMAL}"
ping -c1 google.com > /dev/null
if [ $? = 0 ];then
echo -e "${verde}Conectado${NORMAL}"
myip=`curl -s https://wtfismyip.com/text`
echo ""
echo -e "${azul}Verificando se o pacote pv está instalado...${NORMAL}"
which pv > /dev/null ||echo -e ${verde}Instalando o PV... Aguarde...${NORMAL};apt-get -y install pv > /dev/null
sleep 1
echo ""
else
  myip=`echo -e "${verm}Não conectado${NORMAL}"`
  echo -e "${verm}Não conectado a internet${NORMAL}"
  sleep 1
  echo ""
  echo -e "${azul}Verificando se o pacote pv está instalado...${NORMAL}"
  sleep 1
  which pv > /dev/null || echo -e "${verm}Não instalado, por favor instale quando possível${NORMAL}"
  sleep 1
  echo ""
fi
echo -e "${azul}Checando sua distribuição...${NORMAL}"
sleep 1
if [ -e /etc/debian_version ]; then

function menu {
clear
echo -e $verm "====================================== ${NORMAL}"
sleep 0.1
echo -e $verde "            Knife System             ${NORMAL}"
sleep 0.1
echo -e $verm" ====================================== ${NORMAL}"
echo -e "${branco}                             versão 2.0"
echo ""
sleep 0.1
echo -e "${amarelo} A)${verm} Instalar programas${NORMAL}"
sleep 0.1
echo -e "${amarelo} B)${verm} Remover programas${NORMAL}"
sleep 0.1
echo -e "${amarelo} C)${verm} Reparar erros de dependências${NORMAL}"
sleep 0.1
echo -e "${amarelo} D)${verm} Procurar programas${NORMAL}"
sleep 0.1
echo -e "${amarelo} E)${verm} Procurar por arquivos${NORMAL}"
sleep 0.1
echo -e "${amarelo} F)${verm} Instalar temas${NORMAL}"
sleep 0.1
echo -e "${amarelo} G)${verm} Atualizar distribuição${NORMAL}"
sleep 0.1
echo -e "${amarelo} H)${verm} Remover temas${NORMAL}"
sleep 0.1
echo -e "${amarelo} I)${verm} Lista de programas${NORMAL}"
sleep 0.1
echo -e "${amarelo} J)${verm} Firewall${NORMAL}"
sleep 0.1
echo -e "${amarelo} K)${verm} GIT${NORMAL}"
sleep 0.1
echo -e "${amarelo} L)${verm} Informações PC${NORMAL}"

echo ""
echo -e "${azul}Q)${amarelo} Sair${NORMAL}"
echo -e $verde"Escolha uma das opções:"

read -n1 inst
}


########################################################
#               Funções do menu principal              #
########################################################

##### Instalar programas #####

function instal() {
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Instalar               ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e $amarelo"Digite o nome do programa a ser instalado:${NORMAL}"
   read inst
   echo -e "${azul}Instalando $inst. Por favor, aguarde...${NORMAL}"
   apt-get update  | pv -W > /dev/null
   apt-get -y install $inst  | pv -W > /dev/null
   echo ""
   echo -e "${verde}$int instalado com sucesso${NORMAL}"
}

###### Remover programas #####

function remov() {
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Remover               ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e $amarelo"Digite o nome do programa a ser removido:${NORMAL}"
   read rmove
   sleep 1
   echo -e "${azul}Removendo $rmove. Por favor, aguarde...${NORMAL}"
   apt-get -y remove --purge $rmove | pv -W > /tmp/KS_remove.log
   apt-get -y autoremove | pv -W > /tmp/KS_aremove.log
   echo ""
   echo -e "${verde}$rmove removido com sucesso${NORMAL}"
   sleep 2
}

###### Repara dependências #####

function repair() {
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Reparar                ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e "${amarelo}Reparando... aguarde...${NORMAL}"
   echo ""
   sleep 1
   apt-get -f install | pv -W > /tmp/KS_finstall.log
   apt-get -y autoremove | pv -W > /tmp/KS_autremove.log
   apt-get clean | pv -W > /tmp/KS_clean.log
   dpkg --configure -a | pv -W > /tmp/KS_configa.log
   echo -e "${verde}Dependências reparadas com sucesso${NORMAL}"
   sleep 2
}

###### Procurar programas #####

function achar() {
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Procurar               ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e $amarelo"Digite o nome do programa:${NORMAL}"
   read ach
   dpkg -l $ach
   sleep 5
   fazer

}

###### Procurar arquivos #####

function location() {
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Procurar               ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e $amarelo"Digite o nome do arquivo:${NORMAL}"
   read achha
   echo -e "${verm}Atualizando arquivos no sistema, dependendo do espaço ocupado no seu HD isso${NORMAL}"
   echo -e "${verm}poderá levar alguns minutos. Aguarde...${NORMAL}"
   echo ""
   updatedb
   locate $achha | grep $achha
   echo ""
   echo -e "${verde}Pressione ${amarelo}[ Q ] ${verde}para voltar${NORMAL}"
   read -n1 locatResp

   case $locatResp in

     Q | q)fazer;
           ;;

      *)reset;
        location;
    esac
}

##### Atualizar distro ######

function atual() {
   echo -e "${azul}Em alguns casos de atualização completa do sistema${NORMAL}"
   echo -e "${azul}podem ocorrer erros nas dependências, causando perda total do${NORMAL}"
   echo -e "${azul}sistema, levando á uma nova formatação.${NORMAL}"
   echo ""
   echo -e "${verde}Deseja realmente atualizar sua distribuição? [S/N]${NORMAL}"
   read -n1 atualit

   if [ $atualit == "n" ];then
      menu
   else
    clear
    echo -e $amarelo"****************************************"
    echo -e "${verde}        Atualizando sistema!${NORMAL}"
    echo -e $amarelo"****************************************"
    sleep 2
    echo ""
    echo -e "${azul}Atualizando seu sistema, isso pode demorar algun minutos${NORMAL}"
    apt-get -uy dist-upgrade | pv -W > /dev/null
    echo ""
    echo -e $verde"Atualização terminada"
    sleep 1
    menu
fi

}

##### Instalar temas ###########
#                              #
################################

function tema() {
function instTema() {
    echo -e "${branco}Insira o nome do seu tema, já descompactado e levando em conta que${NORMAL}"
    echo -e "${branco}ele esteja na  mesma pasta que este script:${NORMAL}"
    read theme

    if [ -e $theme ];then
    clear
    mv -f $theme /usr/share/themes
    sleep 2
    echo -e "${verde}Tema adicionado com sucesso!${NORMAL}"
    sleep 1
    echo -e "${branco}O tema já está pronto para ser instalado, basta apenas${NORMAL}"
    echo -e "${branco}você ir nas configurações e muda-lo${NORMAL}"
    sleep 2
    clear
  else
    clear
    echo -e "${verm}Arquivo não encontrado!${NORMAL}"
    sleep 1
    clear
    instTema
  fi
  }

  ##### Cursor ######

 function cursor() {
    echo -e "${verde}Insira o nome do seu cursor, já descompactado e levando em conta que ele esteja em sua pasta HOME:${NORMAL}"
    read curso

   if [ -e .icons ];then
    clear
    mv $curso .icons
    sleep 2
    echo -e "${verde}Cursor adicionado com sucesso!${NORMAL}"
    sleep 1
    clear
    echo -e "${branco}O cursor já está pronto para ser instalado, basta apenas${NORMAL}"
    echo -e "${branco}você ir nas configurações e muda-lo${NORMAL}"
    sleep 2
    reset
  else
    echo -e "${verm}Diretório .icons não foi encontrado em HOME${NORMAL}"
    sleep 1
    echo -e "${azul}Criando diretório em sua home... "
    mkdir .icons
    sleep 2
    echo -e "${verde}Diretório criado, rode o comando novamente"
    sleep 2
    clear
    cursor

  fi
 }

 ##### Ícones #####

  function icone() {
    echo -e "${verde}Insira o nome do seu ícone, já descompactado e levando em conta que ele esteja em sua pasta HOME:${NORMAL}"
    read icon

    if [ -e $icon ];then
    clear
    mv -f $icon /usr/share/icons
    sleep 2
    echo -e "${verde}Ícone adicionado com sucesso!${NORMAL}"
    sleep 1
    clear
    echo -e "${branco}O ícone já está pronto para ser instalado, basta apenas${NORMAL}"
    echo -e "${branco}você ir nas configurações e muda-lo${NORMAL}"
    sleep 2
    reset
  else
    clear
    echo -e "${verm}Arquivo não encontrado!${NORMAL}"
    sleep 1
    clear
    icone
  fi
}

function tool() {
  clear
  echo -e "${azul}Instalando gnome-tweak-tool${NORMAL}"
  sleep 2
  apt-get -y install gnome-tweak-tool
  tema
}
  echo -e "${verde}O que deseja instalar?"
  echo ""

  echo -e "${amarelo}1) ${azul} Temas${NORMAL}"
  echo -e "${amarelo}2) ${azul} Cursor${NORMAL}"
  echo -e "${amarelo}3) ${azul} Ícones${NORMAL}"
  echo -e "${amarelo}4) ${azul} Gnome-Tweak-Tool${NORMAL}"
  echo ""
  echo
  echo -e "${azul}X) ${amarelo}Voltar ao menu principal${NORMAL}"
  read -n1 temeInsta

  while [ temeInsta != '' ]
  do
    case $temeInsta in

      1) reset;
         instTema;
         tema;
         ;;

         2) reset;
            cursor;
            tema;
            ;;

            3) reset;
               icone;
               tema;
               ;;

               4) reset;
                  tool;
                  tema;
                  ;;

                  x) fazer;
                     ;;

                     *)reset;
                       tema;
                       ;;
    esac
done
}

### Remover temas ######
#                      #
########################

function removeTemas() {
  function rmTema () {
    echo -e "${branco}Insira o nome do tema a se removido:${NORMAL}"
    echo ""
    read rmtheme

    if [ -e /usr/share/themes/$rmtheme ];then
      sleep 2
      rm -r /usr/share/themes/$rmtheme
      echo -e "${verde}Tema removido com sucesso!"
      sleep 1
      echo -e "${azul}Basta apenas você ir em aparência e muda-lo${NORMAL}"
      sleep 2
      clear
      removeTemas
    else
      echo -e "${verm}Tema não encontrado!"
      sleep 2
      clear
      rmTema
    fi
  }

##### Remover Cursor ######

  function rmCursor() {
    echo -e "${branco}Insira o nome do cursor a ser removido:${NORMAL}"
    echo ""
    read rmcurso

    if [ -e .icons/$rmcurso ];then
      sleep 2
      rm -r .icons/$rmcurso
      echo -e "${verde}Cursor removido com sucesso${NORMAL}"
      sleep 1
      echo -e "{branco}Basta apenas você ir em aparência e muda-lo${NORMAL}"
      sleep 2
      removeTemas
    else
      echo -e "${verm}Cursor não encontrado"
      sleep 2
      clear
      rmCursor
    fi
  }

###### Remover ícones ######

  function rmIcones() {
    echo -e "${branco}Insira o nome do ícone a ser removido:${NORMAL}"
    echo ""
    read rmicon

    if [ -e /usr/share/icons/$rmicon ];then
      sleep 2
      rm -r /usr/share/icons/$rmicon
      echo -e "${verde}Ícone removido com sucesso!${NORMAL}"
      sleep 1
      echo -e "${branco}Basta apenas você ir em aparência e muda-lo${NORMAL}"
      sleep 2
      clear
      removeTemas
    else
      echo -e "${verm}Ícone não encontrado!${NORMAL}"
      sleep 2
      clear
      rmIcones
    fi
  }

  ###### Menu de remoção de temas ######

  echo -e "${verde}O que deseja remover?"
  echo ""

  echo -e "${amarelo}1) ${azul} Temas${NORMAL}"
  echo -e "${amarelo}2) ${azul} Cursor${NORMAL}"
  echo -e "${amarelo}3) ${azul} Ícones${NORMAL}"
  echo ""
  echo -e "${azul}X) ${amarelo}Voltar ao menu principal${NORMAL}"
  read -n1 maintheme

  while [ maintheme != '' ]
  do
    case $maintheme in

      1) clear;
         rmTema;
         removeTemas;
         ;;

         2) clear;
            rmCursor;
            removeTemas;
            ;;

            3) clear;
               rmIcones;
               removeTemas;
               ;;

               x) fazer;
                  ;;

                  *) reset;
                     removeTemas;

 esac
done
}

###### Usando o GIT ####################
#      Opção ainda em fase beta        #
########################################

function github () {
  function gitClon () {
    echo -e "${azul}Clonar um repositorio remoto${NORMAL}"
    echo ""
    echo -e "${verde}Insira o link do repositório remoto:${NORMAL}"
    read cloResp

    echo -e "${azul}Clonando repositório...${NORMAL}"
    git clone $cloResp
    if [ $? == "0" ];then
      echo -e "${verde}Diretório clonado com sucesso!${NORMAL}"
      sleep 2
      github

    else
      echo -e "${verm}Não foi possível clonar diretório remoto${NORMAL}"
      sleep 1
      echo ""
      echo "Verifique o link do diretório remoto e tente novamente"
      echo "O link deve atender esse formato https://github.com/User/exemplo"
      echo ""
      sleep 2
      gitClon
    fi
  }

  function gitAdd () {
    echo -e "${azul}Adicionar um projeto a lista de prjetos pendentes${NORMAL}"
    echo -e "${azul}Isso não irá adicinar ao seu diretório remoto${NORMAL}"
    echo ""
    echo -e "${verde}Digite o caminho onde se encontra o projeto:${NORMAL}"
    read addResp

    if [ -e $addResp ];then
      reset
      echo -e "${amarelo}Adicionando projeto...${NORMAL}"
      sleep 2
      git add $gitAdd > /dev/null
      echo -e "${verde}Projeto adicionado com sucesso${NORMAL}"
      sleep 2
      github
    else
      reset
      echo -e "${verm}Diretório do projeto não encontrado${NORMAL}"
      sleep 2
      gitAdd
    fi
  }

  function gitLogin () {
    reset
    echo -e "${azul}Login para entrar no seu git${NORMAL}"
    echo -e "${azul}levando em conta que já tenha realizado git add do seu projeto${NORMAL}"
    sleep 3
    echo ""
    git push
    github
  }

  function gitStatus () {
    echo -e "${amarelo}Verificar status do seu git no momento${NORMAL}"
    sleep 2
    git status
    echo ""
    echo -e "${verde}Pressione ${amarelo}[ Q ]${verde} para sair${NORMAL}"
    read -n1 staResp

    case $staResp in
      Q | q)github;
             ;;

       *)gitStatus;
    esac
  }

  function gitCommit () {
    function confirm() {
     git commit
    }
     echo -e "${azul}Enviar definitivamente seu projeto ${NORMAL}"
     echo ""
     echo -e "${amarelo}1) ${verde}Verificar status${NORMAL}"
     echo -e "${amarelo}2) ${verde}Confirmar envio${NORMAL}"
     read comResp

     case $comResp in

       1)reset;
         gitStatus;
         ;;

         2)reset;
           confirm;
           ;;

           *)reset;
             gitCommit;
    esac

  }

  function gitIni () {
    echo -e "${azul}Criando diretório remoto vazio${NORMAL}"
    sleep 2
    git init
    echo -e "${verde}Diretório criado"
    sleep 1
    github
  }

  echo -e "${branco}Essa opção ainda está em fase de desenvolvimento e adaptações${NORMAL}"
  echo ""
  echo ""
  sleep 0.1
  echo -e "${azul}1) ${verm}Clonar repositório remoto${NORMAL}"
  sleep 0.1
  echo -e "${azul}2) ${verm}Adicionar projeto${NORMAL}"
  sleep 0.1
  echo -e "${azul}3) ${verm}Login${NORMAL}"
  sleep 0.1
  echo -e "${azul}4) ${verm}Enviar projeto remoto${NORMAL}"
  sleep 0.1
  echo -e "${azul}5) ${verm}Criar pasta${NORMAL}"
  sleep 0.1
  echo -e "${azul}6) ${verm}Status do git${NORMAL}"
  sleep 0.1
  echo ""
  echo -e "${verm}Q) ${azul}Voltar para o menu princípal${NORMAL}"
  read -n1 gitResp

  while [ gitResp != '' ];do
    case $gitResp in

      1)reset;
        gitClon;
        ;;

        2)reset;
          gitAdd;
          ;;

          3)reset;
            gitLogin;
            ;;

            4)reset;
              gitCommit;
              ;;

              5)reset;
                gitIni;
                ;;

                6)reset;
                  gitStatus;
                  ;;

                  Q | q)fazer;
                  ;;

                  *)github;

  esac
done
}


############# Firewall ##################

# Área destinada a usuários avançados que possuam conhecimentos para modificar
# esse pequeno firewall de acordo com suas necessidades
#

function firew() {
 startFire() {
   clear
   echo -e "${verm} ATENÇÃO!${NORMAL}"
   echo ""
   sleep 1
   echo -e ${amarelo}"Este é apenas um símples firewall criado por"
   echo -e ${amarelo}"Tácio de Jesus Andrade e editado por mim"
   echo ""
   echo -e ${amarelo}"Ele pode não funcionar em algumas máquinas"
   echo -e ${amarelo}"dependendo muito dos serviços que nela roda"
   echo ""
   echo -e ${amarelo}"Edite-o de acordo com suas necessidades"
   sleep 10
   clear
   ########################
    # Zera todas as Regras #
    ########################
      iptables -F

    ########################################
    # Bloqueia tudo, nada entra e nada sai #
    ########################################
      iptables -P INPUT DROP
      iptables -P FORWARD DROP
      iptables -P OUTPUT DROP

    ############################################################################
    # Impede ataques DoS a maquina limitando a quantidade de respostas do ping #
    ############################################################################
     iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    #################################
    # Bloqieia completamente o ping #
    #################################
      iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

    ##########################
    # Politicas de segurança #
    ##########################
      echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route # Impede falsear pacote
      echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects # Perigo de descobrimento de rotas de roteamento (desativar em roteador)
      echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Risco de DoS
      echo 1 > /proc/sys/net/ipv4/tcp_syncookies # Só inicia a conexão quando recebe a confirmação, diminuindo a banda gasta
      echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter # Faz o firewall responder apenas a placa de rede que recebeu o pacote
      iptables -A INPUT -m state --state INVALID -j DROP # Elimina os pacotes invalidos

    #################################
    # Libera conexoes estabelecidas #
    #################################
      iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      iptables -A FORWARD -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
      iptables -A OUTPUT -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
      iptables -A INPUT -i lo -j ACCEPT

      iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
      iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    ################################
    # Previne ataque de SYS Flood  #
    ################################
      iptables -t filter -N syn-chain
      iptables -t filter -A syn-chain -p tcp --syn -m limit --limit 2/s -j ACCEPT
      iptables -t filter -A syn-chain -j DROP

    echo ""
    echo -e "${verde}Firewall ativado com sucesso.${NORMAL}"
    sleep 2
    reset
    firew
}
 function stopFire() {
     clear
     echo -e "${verm} Parando firewall..."
     sleep 2
     # -----------------------------------------------------------------
     # Remove todas as regras existentes
     # -----------------------------------------------------------------
       iptables -F
       iptables -X
       iptables -t mangle -F
     # -----------------------------------------------------------------
     # Reseta as politicas padrões, aceitar tudo
     # -----------------------------------------------------------------
       iptables -P INPUT   ACCEPT
       iptables -P OUTPUT  ACCEPT
       iptables -P FORWARD ACCEPT

      echo 1 > /proc/sys/net/ipv4/conf/all/accept_source_route
      echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirects
      echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
      echo 0 > /proc/sys/net/ipv4/tcp_syncookies
      echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
     reset
     firew
 }

function permFire() {
 reset
 echo -e "${verde}Esse firewall será 'ativado' toda vez que o sistema for inicializado${NORMAL}"
 sleep 3
 echo  ""

 echo "
      iptables -F
      iptables -P INPUT DROP
      iptables -P FORWARD DROP
      iptables -P OUTPUT DROP
      iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
      iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
      echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
      echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
      echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
      echo 1 > /proc/sys/net/ipv4/tcp_syncookies
      echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
      iptables -A INPUT -m state --state INVALID -j DROP
      iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      iptables -A FORWARD -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
      iptables -A OUTPUT -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
      iptables -A INPUT -i lo -j ACCEPT
      iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
      iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      iptables -t filter -N syn-chain
      iptables -t filter -A syn-chain -p tcp --syn -m limit --limit 2/s -j ACCEPT
      iptables -t filter -A syn-chain -j DROP" > firewall.sh

      mv firewall.sh /etc/init.d
      ln -s /etc/init.d/firewall.sh /etc/rc3.d/S54firewall

  echo -e "${verde}Firewall ativado com sucesso${NORMAL}"
  sleep 2

  firew
}

function permStopFire() {
 reset
 echo -e "${azul}Parando firewall...${NORMAL}"
 sleep 2
 rm /etc/rc3.d/S54firewall
 rm /etc/init.d/firewall.sh
 echo -e "${verde}Firewall parado com sucesso${NORMAL}"
 sleep 2
 firew
}

 echo -e "${amarelo}1)${verde} Iniciar firewall${NORMAL}"
 echo -e "${amarelo}2)${verde} Iniciar firewall ${branco}(Permanente)${NORMAL}"
 echo -e "${amarelo}0)${verm} Parar firewall${NORMAL}"
 echo -e "${amarelo}9)${verm} Parar firewall ${branco}(Permanente)${NORMAL}"
 echo ""
 echo -e "${verde}X)${amarelo}Voltar ao menu princípal${NORMAL}"

 read -n1 respFire


 case $respFire in

  1) startFire;
     reset;
     ;;
    2) permFire;
       reset;
       ;;

   0) stopFire;
      reset
      ;;

   9) permStopFire;
      reset;
      ;;

    X | x) fazer;
           ;;

     *) reset;
        firew;

 esac
}

########## Informações do hardware e etc.... #################
function infos() {
  function rede() {
    iwco=`iwconfig`
    ifco=`ifconfig`
    dns=`cat /etc/resolv.conf`
    rot=`route`
    echo -e "${amarelo}Informações sobre a sua rede${NORMAL}"
    echo ""
    sleep 2
    echo -e "${amarelo}Equivale ao iwconfig:${NORMAL}"
    sleep 1
    echo -e "${azul} $iwco ${NORMAL}"
    echo ""
    echo -e "${amarelo}Equivale ao ifconfig:${NORMAL}"
    echo -e "${verde} $ifco ${NORMAL}"
    sleep 1
    echo ""
    echo -e "${amarelo}Informções do DNS:${NORMAL}"
    sleep 1
    echo -e "${verm} $dns ${NORMAL}"
    echo ""
    echo -e "${amarelo}ROUTE${NORMAL}"
    sleep 1
    echo -e "${azul} $rot ${NORMAL}"
    echo ""
    echo -e "${branco}Pressione [Q] para voltar${NORMAL}"
    read -n1 redeResp
    case $redeResp in
      Q | q)reset;
            infos;
            ;;
     *)echo -e "${verm}Opção inválida${NORMAL}";
       sleep 2;
       rede;
      ;;
    esac
  }

  function hard() {
    cpui=`cat /proc/cpuinfo`
    memi=`cat /proc/meminfo`
    fre=`free -m`
    echo -e "${amarelo}Informações da CPU e memória(HD)"
    echo ""
    echo -e "${amarelo}CPU:${NORMAL}"
    sleep 1
    echo -e "${verde} $cpui ${NORMAL}"
    echo ""
    echo -e "${amarelo}RAM:${NORMAL}"
    sleep 1
    echo -e "${azul} $memi ${NORMAL}"
    echo ""
    echo -e "${azul} $fre ${NORMAL}"
    echo ""
    echo -e "${branco}Pressione [Q] para voltar${NORMAL}"
    read -n1 hardResp
    case $hardResp in
      Q | q)reset;
            infos;
            ;;
     *)echo -e "${verm}Opção inválida${NORMAL}";
       sleep 2;
       hard;
      ;;
    esac
  }

  function arqui() {
    echo -e "${amarelo}Arquitetura da sua máquina(x86_64 ou i386)${NORMAL}"
    echo ""
    archi=`arch`
    echo -e "${azul}A arquiteura da sua máquina é: ${verm}$archi${NORMAL}"
    echo ""
    echo -e "${branco}Pressione [Q] para voltar${NORMAL}"
    read -n1 arquiResp
    case $arquiResp in
      Q | q)reset;
            infos;
            ;;
     *)reset;
       echo -e "${verm}Opção inválida${NORMAL}";
       sleep 2;
       arqui;
      ;;
    esac
  }
  function ker() {
    unn=`uname -n`
    unr=`uname -r`
    unv=`uname -v`
    echo -e "${amarelo}Informações sobre o kernel${NORMAL}"
    echo ""
    echo -e ${verm} $unn ${azul}$unr ${verde}$unv ${NORMAL}
    echo ""
    echo -e "${branco}Pressione [Q] para voltar${NORMAL}"
    read -n1 kerResp
    case $kerResp in
      Q | q)reset;
            infos;
            ;;
     *)reset;
       echo -e "${verm}Opção inválida${NORMAL}";
       sleep 2;
       ker;
      ;;
    esac
  }

  function ports() {
    function pergNmap() {
      echo -e "${verm}Nmap não instalado${NORMAL}"
      sleep 1
      echo -e "${verde}Deseja instalar o Nmap? [N/S]${NORMAL}"
      read -n1 nmapResp
      case $nmapResp in
        S | s)echo "";
            echo -e "${azul}Instalando Nmap.... Aguarde...${NORMAL}";
            echo "";
            apt-get -y install nmap | pv;
            reset;
            infos;
             ;;

        N | n)reset;
              infos;
              ;;

      esac

    }
    echo -e "${amarelo}Informações sobre os serviços e portas rodando${NORMAL}"
    echo -e "${branco}Necessita o Nmap instalado${NORMAL}"
    echo ""
    which nmap > /dev/null
    if [ $? = 0 ];then
    nmap -sV localhost
    echo ""
    echo -e "${verde}Voltar [Q]${NORMAL}"
    read -n1 voltResp
    case $voltResp in
      Q | Q)fazer;
    esac
  else
    reset;pergNmap
  fi
  }

  echo -e "${amarelo}Obter informaçõe do seu computador ou notebook:${NORMAL}"
  echo -e "${branco}Seu IP(externo): $myip"
  echo ""
  echo -e "${verm}1) ${verde}Informações de rede${NORMAL}"
  sleep 0.1
  echo -e "${verm}2) ${verde}Informações do sistema(HD, RAM)${NORMAL}"
  sleep 0.1
  echo -e "${verm}3) ${verde}Informações do kernel${NORMAL}"
  sleep 0.1
  echo -e "${verm}4) ${verde}Arquitetura do processador${NORMAL}"
  sleep 0.1
  echo -e "${verm}5) ${verde}Serviços e portas${branco}(Nmap)${NORMAL}"
  echo ""
  echo -e "${verde}Q) ${verm}Voltar ao menú princípal${NORMAL}"
  read -n1 respInfo
  case $respInfo in
    1) reset;
       rede;
       ;;

       2)reset;
         hard;
         ;;

         3)reset;
           ker;
           ;;

           4)reset;
             arqui;
             ;;

             5)reset;
               ports;
               ;;

             Q | q)fazer;
                   ;;

                   *)reset;
                     infos;
    esac
}

########### Instalação de programas ###################

function programas() {

function internet() {
   echo "Esse processo pode levar alguns minutos dependendo da sua conexão"
   echo "com a internet. Não imterrompa o processo de instalação"
   echo "Alguns programas não poderão ser instalados, se eles não estiverem nos repositório"
   echo ""
   echo "Deseja continuar [S/N]?"
   read -n1 resp
   if [ $resp = "s" ];then
   reset
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Internet               ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e "${azul}Aguarde até o fim da instalação${NORMAL}"
   sleep 5
   apt-get update | pv -W > /dev/null
   apt-get -y install chromium | pv -W > /dev/null #navegador
   apt-get -y install firefox | pv -W > /dev/null #navegador
   apt-get -y install hexchat | pv -W > /dev/null #chat IRC
   apt-get -y install skype | pv -W > /dev/null #Bate-papo(vídeo chamada)
   apt-get -y install adobe-flashplugin | pv -W > /dev/null #flash
   apt-get -y install openjdk-8-jre | pv -W > /dev/null #Java
   apt-get -y install proxychains | pv -W > /dev/null #proxy de rede
   apt-get -y install qbittorrent | pv -W > /dev/null #Cliente torrent
   apt-get -y install thunderbird | pv -W > /dev/null #Cliente de Email
   apt-get -y install filezilla | pv -W > /dev/null #Transferência de arquivo viab FTP
   apt-get -y install nmap zenma | pv -W > /dev/nullp #Scaner de rede
   echo ""
   echo -e "${verde}Instalção concluída${NORMAL}"
   sleep 1

   else
     menu
fi

}

function escritorio() {
   echo "Esse processo pode levar alguns minutos dependendo da sua conexão"
   echo "com a internet. Não imterrompa o processo de instalação"
   echo "Alguns programas não poderão ser instalados, se eles não estiverem nos repositório"
   echo ""
   echo "Deseja continuar [S/N]?"
   read -n1 resp
   if [ $resp = "s" ];then
   reset
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Escritório              ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e "${azul}Aguarde até o fim da instalação${NORMAL}"
   sleep 5
   apt-get update | pv -W > /dev/null
   apt-get -y install libreoffice | pv -W > /dev/null #Office
   apt-get -y install abiword | pv -W > /dev/null
   apt-get -y install evince | pv -W > /dev/null
   apt-get -y install scribus | pv -W > /dev/null
   apt-get -y install gnumeric | pv -W > /dev/null
   apt-get -y install vim | pv -W > /dev/null
   echo ""
   echo -e "${verde}Instalação concluída${NORMAL}"
   sleep 1
   else
     menu
fi
}

function graficos() {
   echo "Esse processo pode levar alguns minutos dependendo da sua conexão"
   echo "com a internet. Não imterrompa o processo de instalação"
   echo "Alguns programas não poderão ser instalados, se eles não estiverem nos repositório"
   echo ""
   echo "Deseja continuar [S/N]?"
   read -n1 resp
   if [ $resp = "s" ];then
     reset
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Gráficos               ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e "${azul}Aguarde até o fim da instalação${NORMAL}"
   sleep 5
   apt-get update | pv -W > /dev/null
   apt-get -y install gimp gimp-data-extras | pv -W > /dev/null #Editor de imagens
   apt-get -y install inkscape | pv -W > /dev/null #Criação de imagens vetoriais
   apt-get -y install blender | pv -W > /dev/null #Edição 3D
   apt-get -y install kolourpaint4 | pv -W > /dev/null
   apt-get -y install umbrello | pv -W > /dev/null
   apt-get -y install pencil | pv -W > /dev/null
   apt-get -y install logisim | pv -W > /dev/null
   apt-get -y install dia | pv -W > /dev/null
   echo ""
   echo -e "${verde}Instalação concluída${NORMAL}"
   sleep 1
   else
     menu
fi
}

function jogos() {
   echo "Esse processo pode levar alguns minutos dependendo da sua conexão"
   echo "com a internet. Não imterrompa o processo de instalação"
   echo "Alguns programas não poderão ser instalados, se eles não estiverem nos repositório"
   echo ""
   echo "Deseja continuar [S/N]?"
   read -n1 resp
   if [ $resp = "s" ];then
     reset
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Jogos                  ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e "${azul}Aguarde até o fim da instalação${NORMAL}"
   sleep 5
   apt-get update | pv -W > /dev/null
   apt-get -y install minetest | pv -W > /dev/null #Estilo minecraft
   apt-get -y install warzone2100 | pv -W > /dev/null
   apt-get -y install wine | pv -W > /dev/null
   apt-get -y install playonlinux | pv -W > /dev/null #Rodar programas do Windows
   apt-get -y install openarena | pv -W > /dev/null
   apt-get -y install flightgear | pv -W > /dev/null
   apt-get -y install supertux | pv -W > /dev/null
   echo ""
   echo -e "${verde}Instalação concluída${NORMAL}"
   sleep 1
   else
     menu
fi
}

function midia() {
   echo "Esse processo pode levar alguns minutos dependendo da sua conexão"
   echo "com a internet. Não imterrompa o processo de instalação"
   echo "Alguns programas não poderão ser instalados, se eles não estiverem nos repositório"
   echo ""
   echo "Deseja continuar [S/N]?"
   read -n1 resp
   if [ $resp = "s" ];then
     reset
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}mídia                  ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e "${azul}Aguarde até o fim da instalação${NORMAL}"
   sleep 5
   apt-get update | pv -W > /dev/null
   apt-get -y install brasero | pv -W > /dev/null #Gravador de disco
   apt-get -y install vlc | pv -W > /dev/null #Reprodutor de vídeo
   apt-get -y install rhythmbox | pv -W > /dev/null #Reprodutor de áudio
   apt-get -y install openshot | pv -W > /dev/null #Edição de vídeo
   apt-get -y install cinerrela | pv -W > /dev/null #Edição de vídeo
   apt-get -y install kdenlive | pv -W > /dev/null #Edição de vídeo
   apt-get -y install virtualbox-qt | pv -W > /dev/null #Máquina virtual
   apt-get -y install audacity | pv -W > /dev/null #Editor de áudio
   apt-get -y install cheese | pv -W > /dev/null #Webcam
   echo ""
   echo -e "${verde}Instalação concluída${NORMAL}"
   sleep 1
   else
     menu
fi
}

function dev() {
   echo "Esse processo pode levar alguns minutos dependendo da sua conexão"
   echo "com a internet. Não imterrompa o processo de instalação"
   echo "Alguns programas não poderão ser instalados, se eles não estiverem no repositório"
   echo ""
   echo "Deseja continuar [S/N]?"
   read -n1 resp
   if [ $resp = "s" ];then
     reset
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Desenvolvimento        ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e "${azul}Aguarde até o fim da instalação${NORMAL}"
   sleep 5
   apt-get update | pv -W > /dev/null
   apt-get -y install atom | pv -W > /dev/null
   apt-get -y install openjdk-8-jre | pv -W > /dev/null
   apt-get -y install portugol-studio | pv -W > /dev/null
   apt-get -y install eclipse | pv -W > /dev/null
   apt-get -y install qtcreator | pv -W > /dev/null
   apt-get -y install netbeans | pv -W > /dev/null
   apt-get -y install geany | pv -W > /dev/null
   apt-get -y install bluefish | pv -W > /dev/null
   apt-get -y install python | pv -W > /dev/null
   apt-get -y install perl | pv -W > /dev/null
   apt-get -y install ipython | pv -W > /dev/null
   apt-get -y install pycompile | pv -W > /dev/null
   apt-get -y install mysql-workbench | pv -W > /dev/null
   apt-get -y install pgadmin3 | pv -W > /dev/null
   apt-get -y install lazarus | pv -W > /dev/null
   apt-get -y install vim | pv -W > /dev/null
   echo ""
   echo -e "${verde}Instalação concluída${NORMAL}"
   sleep 1
else
   menu
fi

}

function formatacao() {
  function skype() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Skype                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando Skype...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install skype | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function vlc() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               VLC                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando VLC...${NORMAL}"
    sleep 2
    apt-get -y update  | pv -W > /dev/null
    apt-get -y install vlc | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function rhythmbox() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Rhythmbox                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando Rhythmbox...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install rhythmbox | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function wine() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Emulador                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando emuladores(Wine, PlayOnLinux)...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install wine | pv -W > /dev/null
    apt-get -y install playonlinux | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function brasero() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Brasero                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando brasero...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install brasero | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function gimp() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Gimp                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando gimp...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install gimp gimp-data-extras | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function torrent() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               QBitTorrent                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando qbittorrent...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install qbittorrent | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function office() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               LibreOffice                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando suíte LibreOffice...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install libreoffice | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function flash-plugin() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Flash                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando adobe-flash-player...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install adobe-flashplugin | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function paint() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Paint                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando KolourPaint...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install kolourpaint4 | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function pluma() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Pluma                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando Pluma(editor de texto)...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install pluma | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function chrome() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Chrome                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando chromium...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install chromium | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function firefox() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Firefox                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando firefox...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install firefox | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalção concluída${NORMAL}"
    sleep 1
  }

  function cheese() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Chesse                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instalando cheese(WebCam)...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install cheese | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação cuncluída${NORMAL}"
    sleep 1
  }

  function java() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               Java                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Instaladno Open-JDK...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install openjdk-8-jre | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  function all() {
    echo -e "${verde}###########################################"
    echo -e "${amarelo}               TODOS                     "
    echo -e "${verde}###########################################"
    echo ""
    echo -e "${azul}Aguarde até o fim da instalação...${NORMAL}"
    sleep 2
    apt-get -y update | pv -W > /dev/null
    apt-get -y install kolourpaint4 | pv -W > /dev/null
    apt-get -y install adobe-flashplugin | pv -W > /dev/null
    apt-get -y install libreoffice | pv -W > /dev/null
    apt-get -y install qbittorrent | pv -W > /dev/null
    apt-get -y install skype | pv -W > /dev/null
    apt-get -y install openjdk-8-jre | pv -W > /dev/null
    apt-get -y install vlc | pv -W > /dev/null
    apt-get -y install rhythmbox | pv -W > /dev/null
    apt-get -y install wine | pv -W > /dev/null
    apt-get -y install playonlinux | pv -W > /dev/null
    apt-get -y install brasero | pv -W > /dev/null
    apt-get -y install gimp gimp-data-extras | pv -W > /dev/null
    apt-get -y install pluma | pv -W > /dev/null
    apt-get -y install chromium | pv -W > /dev/null
    apt-get -y install firefox | pv -W > /dev/null
    apt-get -y install cheese | pv -W > /dev/null
    echo ""
    echo -e "${verde}Instalação concluída${NORMAL}"
    sleep 1
  }

  ########### Menu da função #############

  echo -e "${azul}Escolha uma das opções abaixo a serem instaladas:${NORMAL}"
  echo ""
  echo -e "${amarelo}A) ${verm}Skype${NORMAL}"
  echo -e "${amarelo}B) ${verm}VLC${NORMAL}"
  echo -e "${amarelo}C) ${verm}Rhythmbox${NORMAL}"
  echo -e "${amarelo}D) ${verm}Emulação de games${NORMAL}"
  echo -e "${amarelo}E) ${verm}Brasero${NORMAL}"
  echo -e "${amarelo}F) ${verm}Gimp${NORMAL}"
  echo -e "${amarelo}G) ${verm}qbittorrent${NORMAL}"
  echo -e "${amarelo}H) ${verm}LibreOffice${NORMAL}"
  echo -e "${amarelo}I) ${verm}flash-plugin${NORMAL}"
  echo -e "${amarelo}J) ${verm}Paint${NORMAL}"
  echo -e "${amarelo}K) ${verm}Pluma${NORMAL}"
  echo -e "${amarelo}L) ${verm}Chromium${NORMAL}"
  echo -e "${amarelo}M) ${verm}Firefox${NORMAL}"
  echo -e "${amarelo}N) ${verm}Cheese${NORMAL}"
  echo -e "${amarelo}O) ${verm}Open-JDK${NORMAL}"
  echo -e "${amarelo}P) ${verm}Todos${NORMAL}"
  echo ""
  echo -e "${azul}0) ${verde}Voltar ao menu principal${NORMAL}"



  read -n1 format

  while [ $format != '' ]
  do
    case $format in
      a)reset;
        skype;
        clear;
        formatacao;
        ;;

      b)reset;
        vlc;
        clear
        formatacao;
        ;;

        c)reset;
          rhythmbox;
          clear
          formatacao;
          ;;

          d)reset;
            wine;
            clear;
            formatacao;
            ;;

            e)reset;
              brasero;
              clear;
              formatacao;
              ;;

              f)reset;
                gimp;
                clear;
                formatacao;
                ;;

                g)reset;
                  torrent;
                  clear;
                  formatacao;
                  ;;

                  h)reset;
                    office;
                    clear
                    formatacao;
                    ;;

                    i)reset;
                      flash-plugin;
                      clear;
                      formatacao;
                      ;;

                      j)reset;
                        paint;
                        clear;
                        formatacao;
                        ;;

                        k)reset;
                          pluma;
                          clear;
                          formatacao;
                          ;;

                          l)reset;
                            chrome;
                            clear;
                            formatacao;
                            ;;

                            m)reset;
                              firefox;
                              clear;
                              formatacao;
                              ;;

                              n)reset;
                                cheese;
                                clear
                                formatacao;
                                ;;

                                o)reset;
                                  java;
                                  clear;
                                  formatacao;
                                  ;;

                                p)reset;
                                  all;
                                  clear
                                  formatacao;
                                  ;;

                                 0)reset;
                                   fazer;
                                    ;;

                                    *)reset;
                                      formatacao;
                                      ;;

esac
done

}

function completo() {
   echo "Esse processo pode levar alguns minutos dependendo da sua conexão"
   echo "com a internet. Não imterrompa o processo de instalação"
   echo "Alguns programas não poderão ser instalados, se eles não estiverem nos repositório"
   echo ""
   echo "Deseja continuar [S/N]?"
   read -n1 resp
   if [ $resp = "s" ];then
   echo -e $verm"#############################################${NORMAL}"
   echo -e "                   ${verde}Full                   ${NORMAL}"
   echo -e $verm"#############################################${NORMAL}"
   echo ""
   echo -e "${azul}Instalando programas isso pode levar algun minutos${NORMAL}"
   echo -e "${azul}Por favor, aguarde...${NORMAL}"
   sleep 5
   apt-get update | pv -W > /dev/null
   apt-get -y install chromium | pv -W > /dev/null #navegador
   apt-get -y install firefox | pv -W > /dev/null #navegador
   apt-get -y install hexchat | pv -W > /dev/null #chat IRC
   apt-get -y install skype | pv -W > /dev/null #Bate-papo(vídeo chamada)
   apt-get -y install adobe-flashplugin | pv -W > /dev/null #flash
   apt-get -y install openjdk-8-jre | pv -W > /dev/null #Java
   apt-get -y install proxychains | pv -W > /dev/null #proxy de rede
   apt-get -y install qbittorrent | pv -W > /dev/null #Cliente torrent
   apt-get -y install thunderbird | pv -W > /dev/null #Cliente de Email
   apt-get -y install filezilla | pv -W > /dev/null #Transferência de arquivo viab FTP
   apt-get -y install nmap zenmap | pv -W > /dev/null #Scaner de rede
   apt-get -y install libreoffice | pv -W > /dev/null #Office
   apt-get -y install abiword | pv -W > /dev/null
   apt-get -y install evince | pv -W > /dev/null
   apt-get -y install scribus | pv -W > /dev/null
   apt-get -y install gnumeric | pv -W > /dev/null
   apt-get -y install vim | pv -W > /dev/null
   apt-get -y install gimp gimp-data-extras | pv -W > /dev/null #Editor de imagens
   apt-get -y install inkscape | pv -W > /dev/null #Criação de imagens vetoriais
   apt-get -y install blender | pv -W > /dev/null #Edição 3D
   apt-get -y install kolourpaint4 | pv -W > /dev/null
   apt-get -y install umbrello | pv -W > /dev/null
   apt-get -y install pencil | pv -W > /dev/null
   apt-get -y install logisim | pv -W > /dev/null
   apt-get -y install dia | pv -W > /dev/null
   apt-get -y install minetest | pv -W > /dev/null #Estilo minecraft
   apt-get -y install warzone2100 | pv -W > /dev/null
   apt-get -y install wine | pv -W > /dev/null
   apt-get -y install playonlinux | pv -W > /dev/null #Rodar programas do Windows
   apt-get -y install openarena | pv -W > /dev/null
   apt-get -y install flightgear | pv -W > /dev/null
   apt-get -y install brasero | pv -W > /dev/null #Gravador de disco
   apt-get -y install vlc | pv -W > /dev/null #Reprodutor de vídeo
   apt-get -y install rhythmbox | pv -W > /dev/null #Reprodutor de áudio
   apt-get -y install openshot | pv -W > /dev/null #Edição de vídeo
   apt-get -y install cinerrela | pv -W > /dev/null #Edição de vídeo
   apt-get -y install kdenlive | pv -W > /dev/null #Edição de vídeo
   apt-get -y install virtualbox-qt | pv -W > /dev/null #Máquina virtual
   apt-get -y install audacity | pv -W > /dev/null #Editor de áudio
   apt-get -y install cheese | pv -W > /dev/null #Webcam
   apt-get -y install atom | pv -W > /dev/null
   apt-get -y install openjdk-8-jre | pv -W > /dev/null
   apt-get -y install portugol-studio | pv -W > /dev/null
   apt-get -y install eclipse | pv -W > /dev/null
   apt-get -y install qtcreator | pv -W > /dev/null
   apt-get -y install netbeans | pv -W > /dev/null
   apt-get -y install geany | pv -W > /dev/null
   apt-get -y install bluefish | pv -W > /dev/null
   apt-get -y install python | pv -W > /dev/null
   apt-get -y install perl | pv -W > /dev/null
   apt-get -y install ipython | pv -W > /dev/null
   apt-get -y install pycompile | pv -W > /dev/null
   apt-get -y install mysql-workbench | pv -W > /dev/null
   apt-get -y install pgadmin3 | pv -W > /dev/null
   apt-get -y install lazarus | pv -W > /dev/null
   apt-get -y install vim | pv -W > /dev/null
   apt-get -y install skype | pv -W > /dev/null
   apt-get -y install openjdk-8-jre | pv -W > /dev/null
   apt-get -y install vlc | pv -W > /dev/null
   apt-get -y install rhythmbox | pv -W >

Scripts recomendados

Deletando evicted pods no Kubernetes

Realizar backup automático no HD externo

rc.htblimit

Calcular sub-rede, listar e salvar MACs e IPs da rede local

Script de Firewall


  

Comentários
[1] Comentário enviado por removido em 24/03/2016 - 20:30h

É um belo trabalho.
Mas não seria melhor declarar abertamente o propósito?
E que funciona para sistemas dpkg?

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[2] Comentário enviado por anonimo000 em 25/03/2016 - 10:31h


[1] Comentário enviado por listeiro_037 em 24/03/2016 - 20:30h

É um belo trabalho.
Mas não seria melhor declarar abertamente o propósito?
E que funciona para sistemas dpkg?

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Obrigado pela sugestão estarei adaptando o código :)

[3] Comentário enviado por removido em 31/03/2016 - 23:57h

Mais duas coisas:

1. Você pode adaptar o script para identificar se o sistema trabalha com dpkg ou rpm e talvez até pacman e outra coisa mais de modo que ele seja mais universal.

2. Existe uma série de apt-get em sequência. Você pode criar um array com o nome dos pacotes assim

pacotes=(gcc binutils squid curl gdc gfortran ruby2.1)

colocando os pacotes em ordem alfabética se possível e depois rodar um for em cima do array e colocar um único apt-get que funcionará a cada rodada.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[4] Comentário enviado por anonimo000 em 01/04/2016 - 10:41h


[3] Comentário enviado por listeiro_037 em 31/03/2016 - 23:57h

Mais duas coisas:

1. Você pode adaptar o script para identificar se o sistema trabalha com dpkg ou rpm e talvez até pacman e outra coisa mais de modo que ele seja mais universal.

2. Existe uma série de apt-get em sequência. Você pode criar um array com o nome dos pacotes assim

pacotes=(gcc binutils squid curl gdc gfortran ruby2.1)

colocando os pacotes em ordem alfabética se possível e depois rodar um for em cima do array e colocar um único apt-get que funcionará a cada rodada.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Fiz uma nova versão já, retirei todos os apt-get, não achei mais útil deixa-lo. Pensei até em faze-lo para outras plataformas mas isso exigira tempo, para testes e código, como minha distro usa dpkg fica mais fácil para testar.

[5] Comentário enviado por gutierredesouza em 22/09/2016 - 15:41h

Como faço para desinstalar o script?

[6] Comentário enviado por gutierredesouza em 22/09/2016 - 17:51h

O criador desse script não colocou nenhuma forma de o mesmo ser desinstalado do sistema.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts