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.
- 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.
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 peloserver2.js.
-
Clone o repositório:
git clone https://github.com/luyzim/R.O.M.A.git cd R.O.M.A -
Instale as dependências do Node.js:
npm install
Existem duas formas de usar o R.O.M.A.:
-
Inicie o servidor (modularizado):
node server2.js
Alternativamente, você pode iniciar o servidor monolítico:
node server.js
-
Abra o navegador e acesse
http://localhost:3104. -
Escolha o tipo de configuração (MKT ou Cisco), preencha o formulário e a configuração será gerada.
-
Execute o script
main.py:python main.py
-
O script solicitará as informações necessárias no terminal para gerar a configuração.
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.
Contribuições são bem-vindas! Se você tiver sugestões, melhorias ou correções de bugs, siga os passos abaixo:
- Faça um Fork do repositório.
- Crie uma Branch para sua feature (
git checkout -b feature/nova-feature). - Faça o Commit de suas mudanças (
git commit -m 'Adiciona nova feature'). - Faça o Push para a sua branch (
git push origin feature/nova-feature). - Abra um Pull Request.
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.