Веб-фреймворк
на чистом Си
Высокопроизводительный сервер для Linux: HTTP/1, HTTP/2 и HTTP/3 (QUIC), WebSocket, базы данных и ORM из коробки — без обратного прокси и рантайм-зависимостей
Склонируйте репозиторий, соберите проект с нужными драйверами баз данных и запустите сервер одной командой.
git clone https://github.com/fraxer/C-web-framework.git
cd C-web-framework/backend
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release \
-DINCLUDE_POSTGRESQL=yes \
-DINCLUDE_MYSQL=yes \
-DINCLUDE_REDIS=yes \
-DINCLUDE_SQLITE=yes
cmake --build . -j$(nproc)
./exec/cwfr -c /path/to/config.json{
"/": {
"GET": {
"file": "handlers/libindexpage.so",
"function": "index"
}
}
}#include "http.h"
void index(httpctx_t* ctx) {
ctx->response->send_data(
ctx->response,
"Hello world!"
);
}Обработчик — это просто функция — Каждый маршрут загружает обработчик из .so-библиотеки. Прочитайте запрос, сформируйте ответ — больше ничего настраивать не нужно.
Руководство по сборке →Полный набор инструментов для современных веб-сервисов — протоколы, базы данных, безопасность и утилиты из коробки.
Собственный стек QUIC (RFC 9000) поверх UDP: рукопожатие TLS 1.3 за один RTT, нет блокировки головы очереди, миграция соединений между сетями — телефон перешёл с Wi-Fi на LTE, соединение живо.
Мультиплексирование до 100 потоков, HPACK и защита от Rapid Reset.
Каналы реального времени с broadcasting и именованными группами.
Полный сервер и клиент: маршрутизация, виртуальные хосты, TLS.
Четыре драйвера за единой API с ORM и миграциями.
PostgreSQLMySQLRedisSQLiteАутентификация, сессии и RBAC без внешних сервисов.
Локальный FS и S3 плюс транзакционная почта с DKIM.
Шаблонизатор, i18n, JSON, JWT и планировщик задач.
Горячая перезагрузка обработчиков, логирование, HTTP-клиент, планировщик задач и другое — в документации.
Открыть документацию →Кода тестов больше, чем кода ядра. Каждый слой ловит то, что пропускают другие: unit-тесты фиксируют поведение, фаззеры забрасывают мусором каждый парсер, а интеграционные сценарии перезапускают, перезагружают и нагружают живой сервер.
108 104 проверки в 137 файлах, прогон ≈ 5 с под AddressSanitizer; HTTP/2 и HTTP/3 ещё и в отдельных раннерах.
Настоящий SQL против PostgreSQL, у каждого прогона своя схема; есть наборы для MySQL, Redis и SQLite.
HTTP/1–3, HPACK, QPACK, QUIC, WebSocket, JSON, JWT и шаблоны. В последнем аудите — ≈ 183 млн входов.
Жёсткая и мягкая перезагрузка, миграция QUIC, 0-RTT, IPv6, лимиты памяти и длительные прогоны.
Все проверки соответствия HTTP/2 и HTTP/3 пройдены; h2load дал 300 тыс. запросов без единой ошибки.
Ни одной ошибки памяти и ни одной гонки под нагрузкой в 400 тыс. запросов.
46 007 исполняемых строк, gcov. По убыванию покрытия тестами.
Фаззинг достаёт строки, до которых не дошёл ни один тест; вместе слои покрывают больше, чем каждый по отдельности.
Строки на Си, shell и Python, посчитанные одинаково для обеих сторон.
Как измерено — 1 октября 2026: сборка ядра с --coverage, unit- и БД-раннеры, затем каждая фазз-цель по 60 с. Все 24 стадии — от сборок под ASan и TSan до h3spec — запускает один скрипт ci.sh.
Тесты на GitHub →Высокопроизводительные API для мобильных и веб-приложений
Чаты, уведомления и live-обновления через WebSocket
Микросервисы и монолитные приложения
Маршрутизация и проксирование запросов между сервисами
Аутентификация, RBAC и CRUD-операции
Локальное и S3-совместимое облачное хранилище
Транзакционная отправка писем с DKIM
Многоязычный контент на базе gettext и плюрализма
Изучите введение, посмотрите примеры или откройте исходный код на GitHub.