このプロジェクトについて
Koreは、CまたはPythonでスケーラブルで並行なWebベースのプロセスを記述するためのWebアプリケーションプラットフォームです。「デフォルトで安全」というアプローチで設計されており、完全な特権分離と、seccomp、pledge、unveilなどのオペレーティングシステムのセキュリティ機能を使用します。このプロジェクトは、高保証の暗号デバイス、機械学習スタック、航空宇宙などの分野での使用を報告しており、組み込みプラットフォームから高性能サーバーまで適していると位置づけています。
プロジェクトが挙げる主な機能には、SNI、HTTP/1.1およびWebSocketのサポート、デフォルトでの特権分離、デフォルトで有効なTLS、オプションのバックグラウンドタスク、組み込みのパラメータ検証、オプションの非同期PostgreSQLサポート、オプションのPythonページハンドラ、秘密鍵と証明書のオンザフライでの再読み込み、特権分離を伴うACMEによる自動X509証明書、RSAおよびECDSA用に別プロセスに隔離された秘密鍵、前方秘匿性を備えたデフォルトのTLS暗号スイート、コンテンツを提供中でも可能なモジュールのオンザフライ再読み込み、OpenBSDではpledge、Linuxではseccompによってサンドボックス化されたワーカープロセス、CPUごとのワーカープロセスを備えたイベント駆動型epoll/kqueueアーキテクチャ、およびアプリケーションをプリコンパイル済み動的ライブラリまたは単一バイナリとしてビルドする機能が含まれます。
KoreはISCライセンスの下でライセンスされています。ドキュメントはdocs.kore.ioで入手できます。サポートされるプラットフォームはLinux、OpenBSD、FreeBSD、macOSで、アーキテクチャはx64、arm、aarch64のみです。
ビルドにはOpenSSL 1.1.1、LibreSSL 3.x、またはOpenSSL 3が必要です。オプション機能にはそれぞれ要件があります。非同期curlにはlibcurl 7.64.0以上、バックグラウンドタスクにはpthreads、PostgreSQLにはlibpq、PythonサポートにはPython 3.6以上、LuaサポートにはLua 5.4以上が必要です。通常のビルドはmakeとmake installで行います。オプションのビルドフレーバーは、makeを実行する前に環境変数で有効にします。LUA=1、ACME=1、CURL=1、TASKS=1、PGSQL=1、DEBUG=1、NOHTTP=1、NOOPT=1、JSONRPC=1、PYTHON=1、TLS_BACKEND=noneです。READMEは、一部のフレーバーは組み合わせることができず、コンパイルエラーが発生すると述べています。
サンプルアプリケーションはexamples/以下に提供されており、それぞれにビルドまたは使用方法を説明するREADMEがあります。リポジトリは読み取り専用ミラーと説明されています。コントリビューション情報はkore.ioメーリングリストを指しており、パッチはpatches@kore.io、質問はusers@kore.io、セキュリティ報告はsecurity@kore.io、スポンサーシップはsponsor@kore.ioです。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.