
OPNsense GUI, API e backend di sistema
Il progetto OPNsense invita gli sviluppatori a iniziare a contribuire alla base di codice. Per i propri scopi o – ancora meglio – per unirsi a noi nel creare il miglior firewall open source disponibile.
Il processo di build è stato progettato per rendere facile a chiunque compilare e scrivere codice. La struttura principale della nuova base di codice è disponibile all'indirizzo:
https://docs.opnsense.org/development/architecture.html
Per creare software funzionante come OPNsense servono i sorgenti e gli strumenti per compilarlo. Gli strumenti di build per OPNsense sono liberamente disponibili.
Le note su come compilare OPNsense sono disponibili nel repository degli strumenti:
https://github.com/opnsense/tools
Puoi contribuire al progetto in molti modi, ad esempio testando le funzionalità, inviando segnalazioni di bug o creando pull request direttamente tramite GitHub. Qualsiasi aiuto è sempre molto gradito!
Puoi saperne di più su come contribuire in CONTRIBUTING.md.
OPNsense è e sarà sempre disponibile sotto la licenza BSD a 2 clausole:
https://opensource.org/licenses/BSD-2-Clause
Ogni contributo apportato al progetto deve essere concesso in licenza alle stesse condizioni per mantenere OPNsense davvero libero e accessibile a tutti.
Il repository offre un paio di target che si collegano ai processi di build di tools.git oppure sono pensati per uno sviluppo rapido.
Tramite questo target è possibile creare un pacchetto dello stato attuale del repository. Potrebbe richiedere l'installazione di diversi pacchetti. Il target proverà a fornire assistenza in caso di errore, ad esempio quando un file mancante deve essere recuperato da una posizione esterna.
Esistono diverse OPTIONS per personalizzare il pacchetto, ad esempio:
Le opzioni vengono passate nel seguente formato:
# make package CORE_NAME=my_new_name
In generale, le opzioni sono impostate su valori predefiniti ragionevoli oppure rilevate automaticamente in fase di esecuzione.
Recupera gli ultimi commit dal ramo corrente del repository upstream.
Esegue la build del pacchetto e sostituisce il pacchetto attualmente installato nel sistema.
Recupera le modifiche dal sistema in esecuzione per tutti i file noti.
Esegue diversi controlli di sintassi sul repository. È consigliato prima di inviare una pull request su GitHub.
Esegue i controlli di stile PSR12 e PEP8 rispettivamente sul codice PHP MVC e su Python.
Per uno sviluppo più agevole, potresti voler usare una VM OPNsense e installare
il plugin os-debug che fornirà gli strumenti necessari.
Esegue diversi sanitizer automatici sulla base di codice.