
OPNsense GUI, API und System-Backend
Das OPNsense-Projekt lädt Entwickler ein, zum Code beizutragen. Für eigene Zwecke oder – noch besser – um mit uns die beste verfügbare Open-Source-Firewall zu erstellen.
Der Build-Prozess wurde so gestaltet, dass jeder problemlos Code erstellen und schreiben kann. Die Hauptgliederung der neuen Codebasis ist verfügbar unter:
https://docs.opnsense.org/development/architecture.html
Unser Ziel ist es, schrittweise zu einer neuen Codebasis zu gelangen, anstatt einen Big-Bang-Ansatz für etwas Neues zu verwenden.
Um funktionierende Software wie OPNsense zu erstellen, benötigen Sie die Quellen und die Werkzeuge, um sie zu bauen. Die Build-Werkzeuge für OPNsense sind frei verfügbar.
Hinweise zum Bau von OPNsense finden Sie im Tools-Repository:
https://github.com/opnsense/tools
Sie können auf viele Arten zum Projekt beitragen, z.B. durch Testen von Funktionen, Einreichen von Fehlerberichten oder das direkte Erstellen von Pull-Requests über GitHub. Jede Hilfe ist immer willkommen!
Weitere Informationen zum Mitwirken finden Sie auf CONTRIBUTING.md.
OPNsense ist und wird immer unter der 2-Klausel-BSD-Lizenz verfügbar sein:
https://opensource.org/licenses/BSD-2-Clause
Jeder Beitrag zum Projekt muss unter denselben Bedingungen lizenziert sein, um OPNsense wirklich frei und für alle zugänglich zu halten.
Das Repository bietet einige Ziele, die entweder in die Build-Prozesse von tools.git eingebunden sind oder auf schnelle Entwicklung abzielen.
Ein Paket des aktuellen Zustands des Repositorys kann mit diesem Ziel erstellt werden. Es erfordert möglicherweise die Installation mehrerer Pakete. Das Ziel wird im Fehlerfall versuchen zu helfen, z.B. wenn eine fehlende Datei von einem externen Ort abgerufen werden muss.
Es gibt mehrere OPTIONEN, um das Paket anzupassen, z.B.:
Optionen werden in folgender Form übergeben:
# make package CORE_NAME=my_new_name
Im Allgemeinen werden Optionen entweder auf sinnvolle Standardwerte gesetzt oder automatisch zur Laufzeit erkannt.
Update zieht die neuesten Commits des aktuellen Branches aus dem Upstream-Repository.
Upgrade führt den Paketbuild aus und ersetzt das aktuell installierte Paket im System.
Änderungen vom laufenden System für alle bekannten Dateien abrufen.
Führt mehrere Syntaxprüfungen im Repository durch. Dies wird empfohlen, bevor ein Pull-Request auf GitHub erstellt wird.
Führt die PSR12- und PEP8-Stilprüfungen auf MVC-PHP-Code bzw. Python-Code durch.
Für eine einfachere Entwicklung möchten Sie vielleicht eine OPNsense-VM verwenden und das Plugin os-debug installieren, das die notwendigen Werkzeuge bereitstellt.
Führt mehrere automatische Sanitizer auf der Codebasis aus.