Magma é um conjunto de scripts que gerenciam a saída de dados do terminal do BRAS, facilitando a renomeação em massa dos nomes de usuários (alterar o "device name"). Ele lê um arquivo de texto informada pelo usuário e realiza as seguintes mudanças:
- Remove as linhas com o texto "PPPoE".
- Identifica os "ETH" com base nas posições nas colunas, delimitadas por espaços.
- Remove as informações referentes aos "ETH".
- Remove os IDs e IPs da lista.
- Corrige os MACs (XXXX-XXXX-XXXX > XX:XX:XX:XX:XX:XX).
- Salva essa lista em um arquivo de texto.
- Converte esse arquivo de saída em uma tabela visualizável (.xlsx).
O Magma depende de alguns pacotes APT do linux para poder funcionar corretamente, no geral, o magma depende de:
- Bash: O Bash é o interpretador de shell padrão na maioria dos sistemas Unix e Linux. Certifique-se de que o Bash esteja instalado e seja a shell padrão no seu sistema.
- Python: É necessário ter o Python instalado no sistema para executar o script.
- Bibliotecas Python: Instale as bibliotecas Python necessárias usando o pip. As bibliotecas usadas incluem o openpyxl, pandas e tqdm.
Em algumas distribuições pode ser necessario baixar o pacote python3-pip para instalar dependencias via pip
O Magma requer o git para ser baixado:
apt-get install git
Você tambem pode baixar o pacote compactado!
Primeiro, baixe o Magma usando o git:
git clone https://github.com/Gustavo404/magma/
Depois, acesse o diretório do magma:
cd magma/
Por fim, execute o instalador:
bash install.sh
Você precisará informar um arquivo de texto referente à saída do BRAS:
bash magma.sh dadosBras.txt
Após isso, o magma.sh escreverá as mudanças num novo arquivo de texto, e executará o magma.py, que fará a conversão de txt para xlsx.
Este script, install.sh
, é responsável por instalar as dependências necessárias para o projeto 'magma'. Ele realiza as seguintes tarefas:
-
Verifica se o script está sendo executado como root (superusuário) e fornece uma mensagem de erro se for o caso.
-
Atualiza o sistema e instala as dependências do sistema, como Python 3 e Python 3-pip, usando o gerenciador de pacotes
apt
. -
Verifica se a instalação das dependências do sistema foi bem-sucedida.
-
Instala as dependências do Python, como openpyxl, pandas e tqdm, usando o gerenciador de pacotes
pip
. -
Verifica se a instalação das dependências do Python foi bem-sucedida.
-
Exibe uma mensagem indicando que a instalação foi concluída com sucesso.
O script magma.sh
é o núcleo do projeto 'magma'. Ele lê um arquivo de texto contendo uma saída do terminal BRAS e realiza várias etapas de processamento. Aqui está uma visão geral das principais tarefas realizadas:
-
Define nomes de arquivos como variáveis para facilitar a referência posterior.
-
Exibe mensagens coloridas para fornecer informações visuais ao usuário.
-
Remove linhas contendo "PPPoE" do arquivo alvo.
-
Identifica o valor de "ETH" com base na posição das colunas e verifica com o usuário se a identificação está correta.
-
Remove informações relacionadas a "ETH" do arquivo.
-
Remove conteúdo das primeira e terceira colunas, que contêm IDs e IPs, delimitados por espaços.
-
Formata o formato do MAC de XXXX-XXXX-XXXX para XX:XX:XX:XX:XX:XX.
-
Salva a saída em um arquivo temporário.
-
Inicia o script Python
magma.py
para converter o arquivo temporário em um arquivo XLSX. -
Verifica se o arquivo XLSX foi criado com sucesso. Se sim, anuncia o sucesso e limpa os arquivos temporários.
O script magma.py
é responsável por converter o arquivo de texto resultante do processamento realizado pelo magma.sh
em um arquivo XLSX. Aqui estão as principais tarefas realizadas:
-
Importa as bibliotecas necessárias, incluindo
pandas
etqdm
. -
Define uma função
tarefa_demorada()
para simular uma tarefa demorada com uma barra de progresso. -
Lê o arquivo de texto
magma.txt
usando espaços como delimitadores e cria um DataFrame pandas. -
Aplica uma barra de progresso para simular o processo de conversão.
-
Converte o DataFrame para um arquivo XLSX chamado
magma.xlsx
.
Este script é usado pelo magma.sh
para realizar a etapa de conversão de formato. O uso do tqdm
cria uma animação de progresso para melhorar a experiência do usuário durante a conversão.
Esta é uma visão geral da funcionalidade dos três scripts que compõem o projeto 'magma'. Eles trabalham em conjunto para processar, formatar e converter dados de saída do BRAS em um formato XLSX mais legível.
Se quiser contribuir para a melhoria do projeto 'magma', sugestões, perguntas ou encontrar algum problema, estou aqui para ajudar.
Se você tiver sugestões ou ideias para melhorar o projeto 'magma', sinta-se à vontade para compartilhá-las. Você pode fazer isso das seguintes maneiras:
-
Pull Request (PR): Se você deseja contribuir diretamente com código, abra um Pull Request com suas alterações propostas. Analisaremos suas contribuições e trabalharemos juntos para incorporá-las ao projeto.
-
Issues: Use as Issues para sugerir melhorias ou novos recursos. Descreva detalhadamente sua ideia para que eu possa entender e discutir como implementá-la.
Encontrou um bug ou problema em 'magma'? Você pode relatar problemas das seguintes maneiras:
-
Issues: Abra uma Issue descrevendo o problema. Inclua informações relevantes, como o ambiente em que o erro ocorreu, etapas para reproduzi-lo e qualquer mensagem de erro que tenha recebido.
-
Site: Você também pode reportar bugs em gustavo404.com/sobre. Use os meios de contato para enviar detalhes sobre o problema encontrado.
Se você tiver alguma pergunta sobre como usar 'magma' ou precisar de suporte, Você pode fazer o seguinte:
-
Issues Existentes: Verifique se já existe uma Issue relacionada à sua pergunta. Talvez a resposta que você procura já esteja lá.
-
Novas Issues: Se sua pergunta não estiver coberta nas Issues existentes, sinta-se à vontade para criar uma nova Issue com sua pergunta. Ficarei feliz em responder e ajudar.
-
Contato pelo Site: Você também pode entrar em contato conosco através do site gustavo404.com/sobre. Utilize os meios de contato para enviar suas perguntas ou dúvidas.
Agradeço por sua contribuição, feedback e envolvimento na comunidade do projeto 'magma'.
O código-fonte do projeto 'magma' é disponibilizado sob os termos da Licença Pública Geral GNU versão 2.0 (GPL 2.0). Isso significa que você é livre para usar, modificar e distribuir o código de acordo com os termos da GPL 2.0. Certifique-se de ler e entender os detalhes da licença antes de utilizar o projeto.