Este projeto surgiu da nossa necessidade de gerenciar diversas conexões VPN em nosso sistema de consultoria. Com ele, você pode:
- Gerenciar, coordenar e aplicar políticas em todas as VPNs dos seus clientes.
- Controlar o acesso dos usuários a cada VPN através de uma interface web intuitiva.
- Orquestrar a seleção de clientes para cada usuário, permitindo que eles alternem entre VPNs facilmente.
- Gerenciar redes, incluindo a criação, modificação e exclusão de regras de membros e firewalls.
- Marcar rotas para direcionar o tráfego da rede de cada cliente para o usuário desejado.
- Marcar rotas específicas para determinados clientes.
- Adicionar gerenciamento de rotas mais específicas.
- Adicionar suporte ao WireGuard.
Para executar este projeto, você precisará adicionar as seguintes variáveis de ambiente ao seu arquivo .env:
AUTH_SECRET=token utilizado para criptografia do JWT
L2TP-PRESHARED-KEY= chave pré-compartilhada configurada no MikroTik
DATABASE_URL= URL de conexão do Postgres. Exemplo: postgresql://username:password@localhost:5432/database?schema=public
Clone o repositório:
git clone https://github.com/ppnetworkbr/vpn-managerAcesse a pasta do projeto:
cd vpn-managerInstale as dependências:
npm install --forceExecute as migrações de banco de dados:
npx prisma migrate deployInicie o serviço
npm run startCliente: React, Next.js, MUI, Auth.js.
Servidor: Node, Next.js, Prisma, Auth.js, ssh2.
Banco de Dados: Postgres.
Documentação em processo de escrita.
