
OPNsense GUI, API и системный бэкенд
Проект OPNsense приглашает разработчиков начать вносить вклад в кодовую базу. Для своих собственных целей или — что ещё лучше — присоединиться к нам в создании лучшего open source межсетевого экрана.
Процесс сборки спроектирован так, чтобы любому было легко собирать и писать код. Общая схема новой кодовой базы доступна по адресу:
https://docs.opnsense.org/development/architecture.html
Наша цель — постепенно перейти к новой кодовой базе, а не использовать подход «большого взрыва» при создании чего-то нового.
Для создания работающего программного обеспечения, такого как OPNsense, нужны исходники и инструменты для его сборки. Инструменты сборки OPNsense доступны бесплатно.
Заметки о том, как собрать OPNsense, можно найти в репозитории инструментов:
https://github.com/opnsense/tools
Вы можете внести свой вклад в проект множеством способов, например тестируя функциональность, отправляя отчёты об ошибках или создавая pull request'ы напрямую через GitHub. Любая помощь всегда очень приветствуется!
Подробнее о внесении вклада вы можете узнать в CONTRIBUTING.md.
OPNsense распространяется и всегда будет распространяться под лицензией 2-Clause BSD:
https://opensource.org/licenses/BSD-2-Clause
Каждый вклад в проект должен лицензироваться на тех же условиях, чтобы OPNsense оставался по-настоящему свободным и доступным для всех.
Репозиторий предоставляет несколько целей, которые либо связаны с процессами сборки tools.git, либо рассчитаны на быструю разработку.
С помощью этой цели можно создать пакет из текущего состояния репозитория. Для этого может потребоваться установка нескольких пакетов. В случае сбоя цель попытается помочь, например, когда отсутствующий файл необходимо получить из внешнего источника.
Существует несколько OPTIONS для настройки пакета, например:
Параметры передаются в следующем виде:
# make package CORE_NAME=my_new_name
В целом параметры либо имеют разумные значения по умолчанию, либо автоматически определяются во время выполнения.
Цель update получит последние коммиты из текущей ветки вышестоящего репозитория.
Цель upgrade запустит сборку пакета и заменит установленный в системе пакет.
Получает изменения из работающей системы для всех известных файлов.
Выполняет несколько синтаксических проверок репозитория. Это рекомендуется сделать перед отправкой pull request на GitHub.
Выполняет проверки стиля PSR12 и PEP8 для PHP-кода MVC и Python соответственно.
Для более удобной разработки вы можете использовать виртуальную машину OPNsense и установить плагин os-debug, который предоставит необходимые инструменты.
Запускает несколько автоматических санитайзеров в кодовой базе.