Skip to content

luyzim/R.O.M.A.

Repository files navigation

R.O.M.A. - Gerador de Configuração de Roteadores

Descrição

O R.O.M.A. é uma ferramenta para automatizar a criação de configurações de roteadores para novas unidades/lojas. Ele oferece tanto uma interface de linha de comando (CLI) quanto uma interface web para gerar as configurações a partir de templates.

O projeto utiliza uma combinação de Python para a lógica de geração de configuração e Node.js (com Express) para a interface web.

Funcionalidades

  • Geração de configurações para roteadores Mikrotik (MKT) e Cisco.
  • Cálculo e derivação de endereços IP.
  • Interface web para preenchimento de dados.
  • Interface de linha de comando para uso interativo.
  • API RESTful para integração com outros sistemas.

Estrutura do Projeto

  • main.py: Script principal para uso via linha de comando (interativo).
  • mainApi.py: Script Python que recebe dados em JSON e gera a configuração. É chamado pelo servidor Node.js.
  • server.js: Servidor web em Node.js/Express monolítico.
  • server2.js: Servidor web em Node.js/Express modularizado, utilizando rotas.
  • data/: Contém os templates de configuração (.txt).
  • public/: Contém os arquivos da interface web (HTML, JS).
  • routes/: Contém as rotas da API do Express, utilizadas pelo server2.js.

Instalação

  1. Clone o repositório:

    git clone https://github.com/luyzim/R.O.M.A.git
    cd R.O.M.A
  2. Instale as dependências do Node.js:

    npm install

Como Usar

Existem duas formas de usar o R.O.M.A.:

1. Interface Web

  1. Inicie o servidor (modularizado):

    node server2.js

    Alternativamente, você pode iniciar o servidor monolítico:

    node server.js
  2. Abra o navegador e acesse http://localhost:3104.

  3. Escolha o tipo de configuração (MKT ou Cisco), preencha o formulário e a configuração será gerada.

2. Linha de Comando (Interativo)

  1. Execute o script main.py:

    python main.py
  2. O script solicitará as informações necessárias no terminal para gerar a configuração.

API Endpoints

A API é servida pelo server2.js e possui os seguintes endpoints:

  • GET /api/templates: Retorna a lista de templates de configuração disponíveis.
  • POST /run/mkt: Gera a configuração para um roteador Mikrotik. O corpo da requisição deve conter os dados em JSON.
  • POST /run/cisco: Gera a configuração para um roteador Cisco. O corpo da requisição deve conter os dados em JSON.
  • GET /status: Retorna o status do servidor.

Como Contribuir

Contribuições são bem-vindas! Se você tiver sugestões, melhorias ou correções de bugs, siga os passos abaixo:

  1. Faça um Fork do repositório.
  2. Crie uma Branch para sua feature (git checkout -b feature/nova-feature).
  3. Faça o Commit de suas mudanças (git commit -m 'Adiciona nova feature').
  4. Faça o Push para a sua branch (git push origin feature/nova-feature).
  5. Abra um Pull Request.

Licença

Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

Criador de Scripts de BKP para configuração de equipamentos MKT e CISCO. com pagina html home para seleção de templates a serem editados.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors