KCGI - это библиотека CGI и FastCGI с открытым исходным кодом для веб -приложений C/C ++. Это минимально, безопасно, проверяется и вписывается в ваш программный стек BCHS.
Чтобы быть в курсе текущего стабильного выпуска KCGI , посетите https://kristaps.bsd.lv/kcgi. Веб -сайт также содержит каноническую установку, развертывание, примеры и документацию по использованию.
Вам понадобится компилятор C (GCC или Clang), Zlib ( Zlib или Zlib-Dev для некоторых менеджеров пакетов), а также BSD ( Bmake для некоторых менеджеров) для строительства.
В некоторых системах Linux вам могут понадобиться заголовки ядра Linux, установленные с использованием пакета Linux Headers или аналогичного.
Начните с клонирования или загрузки. Затем настройте с ./configure , компилируйте с помощью make (bsd make, чтобы он мог быть bmake в вашей системе), затем make install (или используйте sudo или doas , если применимо). Чтобы установить в альтернативном каталоге в /usr/local , установите переменную PREFIX при запуске configure .
./configure PREFIX= ~ /.local
make
make installРаспространенной идиомой для развертывания на Linux является использование LIBBSD, как указано в документации Oconfigure:
CFLAGS=$(pkg-config --cflags libbsd-overlay)
./configure LDFLAGS=$(pkg-config --libs libbsd-overlay)
make
make install
Полезно запускать установленные регрессионные тесты на источниках кровотечения. (Опять же, это использует BSD Make, так что это может быть bmake в вашей системе.) Вам понадобится установлен Libcurl ( curl-dev , libcurl-dev или libcurl4-openssl-dev с некоторыми менеджерами пакетов).
make regress Система содержит полный набор регрессии и также построен для работы с AFL. Чтобы запустить некоторые из связанных тестов, используйте двоичные файлы, скомпилированные в каталог afl . (Опять же, это использует BSD Make, так что это может быть bmake в вашей системе.)
make afl
cd afl
afl-fuzz -i in/urlencoded -o out -- ./afl-urlencodedВ репозитории публичного репозитория GitHub для KCGI используется автоматизированное тестирование при каждой регистрации для запуска регрессионных тестов. Эти автоматизированные тесты в основном направлены на Linux, механизм безопасности которого требует постоянного обслуживания. Проверяются следующие системы:
Развитие в основном на OpenBSD.
Они также работают еженедельно, чтобы внести изменения, когда новые функции операционной системы вступают в игру.
Все источники используют лицензию ISC (например, OpenBSD). Смотрите файл License.md для получения подробной информации.