ISC License

项目介绍

jorisvink/kore 是一个托管在 GitHub 上的开源项目,主要使用 C 编写,采用 ISC License 许可证,目前获得 3.8k 个 Star、321 次 Fork。

仓库全名
jorisvink/kore
开源许可证
ISC License
Star 数
3.8k
Fork 数
321

README 摘要

About Kore (https://kore.io) is a web application platform for writing scalable, concurrent web based processes in C or Python. It is built with a "secure by default" approach. It is fully privilege separated while using strong security features at the operating system level such as seccomp, pledge, unveil and more. Today Kore is used in a variety of applications ranging from high assurance cryptographic devices,…

完整内容见 GitHub 原始 README 或本页 。

常见问题

kore 用什么语言开发?

主要使用 C 编写,采用 ISC License 许可证,目前有 3.8k 个 Star。

kore 可以免费商用吗?

仓库采用 ISC License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 kore 的源码?

可以直接克隆仓库:git clone https://github.com/jorisvink/kore.git;安装与运行步骤见仓库 README。

kore 最近还在维护吗?

仓库最近一次更新为 3月29日,当前没有未关闭的 Issue;Star 数为 3.8k,可作为社区活跃度的参考。

简要分析

热度分
8294
价值分
2774
活跃状态
活跃

语言占比

C
Makefile
Shell

Release

README

About

Kore (https://kore.io) is a web application platform for writing scalable, concurrent web based processes in C or Python.

It is built with a “secure by default” approach. It is fully privilege separated while using strong security features at the operating system level such as seccomp, pledge, unveil and more.

Today Kore is used in a variety of applications ranging from high assurance cryptographic devices, machine-learning stacks and even in the aerospace industry.

From embedded platforms all the way to high performance servers. Kore scales.

Key Features

  • Supports SNI
  • Supports HTTP/1.1
  • Websocket support
  • Privseps by default
  • TLS enabled by default
  • Optional background tasks
  • Built-in parameter validation
  • Optional asynchronous PostgreSQL support
  • Optional support for page handlers in Python
  • Reload private keys and certificates on-the-fly
  • Automatic X509 certificates via ACME (with privsep)
  • Private keys isolated in separate process (RSA and ECDSA)
  • Default sane TLS ciphersuites (PFS in all major browsers)
  • Modules can be reloaded on-the-fly, even while serving content
  • Worker processes sandboxed on OpenBSD (pledge) and Linux (seccomp)
  • Event driven (epoll/kqueue) architecture with per CPU worker processes
  • Build your web application as a precompiled dynamic library or single binary

And lots more.

License

  • Kore is licensed under the ISC license

Documentation

Read the documentation

Platforms supported

  • Linux
  • OpenBSD
  • FreeBSD
  • MacOS

Kore only supports x64, arm and aarch64 architectures.

Building Kore

Clone this repository or get the latest release at https://kore.io/releases/4.2.3.

Requirements

  • openssl 1.1.1, libressl 3.x or openssl 3.

Requirement for asynchronous curl (optional)

  • libcurl (7.64.0 or higher)

Requirements for background tasks (optional)

  • pthreads

Requirements for pgsql (optional)

  • libpq

Requirements for python (optional)

  • Python 3.6+

Requirements for lua support (optional)

  • Lua 5.4+

Normal compilation and installation:

$ cd kore
$ make
# make install

If you would like to build a specific flavor, you can enable those by setting a shell environment variable before running make.

  • LUA=1 (compiles in LUA support)
  • ACME=1 (compiles in ACME support)
  • CURL=1 (compiles in asynchronous curl support)
  • TASKS=1 (compiles in task support)
  • PGSQL=1 (compiles in pgsql support)
  • DEBUG=1 (enables use of -d for debug)
  • NOHTTP=1 (compiles Kore without HTTP support)
  • NOOPT=1 (disable compiler optimizations)
  • JSONRPC=1 (compiles in JSONRPC support)
  • PYTHON=1 (compiles in the Python support)
  • TLS_BACKEND=none (compiles Kore without any TLS backend)

Note that certain build flavors cannot be mixed together and you will just be met with compilation errors.

Example applications

You can find example applications under examples/.

The examples contain a README file with instructions on how to build or use them.

Mailing lists

[email protected] - Send patches here, preferably inline.

[email protected] - Questions regarding kore.

If you want to signup to those mailing lists send an empty email to [email protected]

Other mailboxes (these are not mailing lists):

[email protected] - Mail this email if you think you found a security problem.

[email protected] - If your company would like to sponsor part of Kore development.

More information can be found on https://kore.io/

评论

暂无评论