
OPNsense GUI, API e backend de sistemas
O projeto OPNsense convida os programadores a começarem a contribuir para a base de código. Para os seus próprios propósitos ou – ainda melhor – para se juntar a nós na criação do melhor firewall open source disponível.
O processo de compilação foi concebido para facilitar a qualquer pessoa a compilação e escrita de código. O esboço principal da nova base de código está disponível em:
https://docs.opnsense.org/development/architecture.html
O nosso objetivo é evoluir gradualmente para uma nova base de código em vez de usar uma abordagem "big bang" para algo novo.
Para criar software funcional como o OPNsense, precisa das fontes e das ferramentas para o compilar. As ferramentas de compilação para o OPNsense estão disponíveis gratuitamente.
Notas sobre como compilar o OPNsense podem ser encontradas no repositório de ferramentas:
https://github.com/opnsense/tools
Pode contribuir para o projeto de várias formas, por exemplo, testar funcionalidades, enviar relatórios de erros ou criar pull requests diretamente através do GitHub. Qualquer ajuda é sempre muito bem-vinda!
Pode saber mais sobre como contribuir em CONTRIBUTING.md.
O OPNsense está e estará sempre disponível sob a licença BSD de 2 cláusulas:
https://opensource.org/licenses/BSD-2-Clause
Cada contribuição feita ao projeto deve ser licenciada sob as mesmas condições para manter o OPNsense verdadeiramente gratuito e acessível para todos.
O repositório oferece alguns alvos que se inserem nos processos de compilação do tools.git ou que visam um desenvolvimento rápido.
Um pacote do estado atual do repositório pode ser criado usando este alvo. Pode ser necessário instalar vários pacotes. O alvo tentará ajudar em caso de falha, por exemplo, quando um ficheiro em falta precisa de ser obtido de uma localização externa.
Existem várias OPÇÕES para personalizar o pacote, por exemplo:
As opções são passadas da seguinte forma:
# make package CORE_NAME=my_new_name
Em geral, as opções estão definidas para valores padrão sensatos ou são automaticamente detetadas em tempo de execução.
A atualização irá buscar os commits mais recentes do ramo atual a partir do repositório upstream.
A atualização executará a compilação do pacote e substituirá o pacote atualmente instalado no sistema.
Obter alterações do sistema em execução para todos os ficheiros conhecidos.
Executar várias verificações de sintaxe no repositório. Isto é recomendado antes de submeter um pull request no GitHub.
Executar as verificações de estilo PSR12 e PEP8 no código PHP MVC e Python, respetivamente.
Para um desenvolvimento mais fácil, pode querer usar uma VM OPNsense e instalar
o plugin os-debug que fornecerá as ferramentas necessárias.
Executar vários sanitizadores automáticos na base de código.