kore/README.md

90 lines
2.2 KiB
Markdown
Raw Normal View History

2014-03-02 18:16:32 +01:00
About
-----
2014-07-30 09:43:29 +02:00
Kore (https://kore.io) is an ultra fast web server / framework for web
2014-07-30 09:12:59 +02:00
applications developed in C. It provides a set of API functions you can
use to build a dynamic library which is loaded into Kore directly.
2013-05-01 21:36:00 +02:00
2014-03-02 18:16:32 +01:00
Kore is an ideal candidate for developing robust, fast and safe web applications.
2013-05-01 21:36:00 +02:00
Features
2014-03-02 18:16:32 +01:00
--------
* Supports SNI
* Supports SPDY/3
* Supports HTTP/1.1
2014-06-30 10:11:45 +02:00
* Lightweight background tasks
2014-03-02 18:16:32 +01:00
* Built-in parameter validation
* Only HTTPS connections allowed
* Multiple modules can be loaded at once
* Built-in asynchronous PostgreSQL support
2014-03-02 18:16:32 +01:00
* Load your web application as a precompiled C library
* Event driven architecture with per CPU core worker processes
* Modules can be reloaded on-the-fly, even while serving content
2013-06-05 14:10:29 +02:00
2013-06-24 12:05:22 +02:00
License
2014-03-02 18:16:32 +01:00
-------
* Kore is licensed under the ISC license
2013-06-24 12:05:22 +02:00
2013-07-28 19:25:46 +02:00
Platforms supported
2014-03-02 18:16:32 +01:00
-------------------
* Linux
* OpenBSD
* FreeBSD
* OSX
See https://kore.io/doc/#section1.1 for more information.
Releases
--------
2014-07-30 09:14:36 +02:00
* [2014-08-25] Version 1.2 will be released
2014-03-02 18:16:32 +01:00
* [2014-03-01] Version 1.1 - https://kore.io/release/kore-1.1-stable.tgz
2014-07-03 22:40:12 +02:00
Building Kore
-------------
Requirements
* libz
* openssl >= 1.0.1g
2014-07-03 22:40:55 +02:00
Requirements for background tasks
2014-07-03 22:40:12 +02:00
* pthreads
2014-07-03 22:40:55 +02:00
Requirements for pgsql
2014-07-03 22:40:12 +02:00
* libpq
Normal compilation and installation:
```
# git clone https://github.com/jorisvink/kore.git
# 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_**.
* TASKS=1 (compiles in task support)
* PGSQL=1 (compiles in pgsql support)
* DEBUG=1 (enables use of -d for debug)
2014-08-01 10:30:29 +02:00
* BENCHMARK=1 (compiles Kore without OpenSSL)
2014-07-03 22:40:12 +02:00
* KORE_PEDANTIC_MALLOC=1 (zero all allocated memory)
Example libraries
-----------------
2014-08-03 21:38:07 +02:00
You can find example libraries under **_examples/_**.
2014-07-03 22:40:12 +02:00
The examples should be compiled using the supplied **build.sh** scripts
and assume you have installed the header files using make install.
I apologize for unclear examples or documentation, I am working on
2014-07-03 22:41:56 +02:00
improving those.
2014-07-03 22:40:12 +02:00
2014-03-02 18:16:32 +01:00
Bugs, contributions and more
----------------------------
2013-06-21 00:07:35 +02:00
2014-03-02 18:16:32 +01:00
If you run into any bugs, have suggestions or patches please
contact me at joris@coders.se.
2013-06-05 14:10:29 +02:00
More information can be found on https://kore.io/