2014-03-02 18:16:32 +01:00
|
|
|
About
|
|
|
|
-----
|
2015-05-13 09:59:02 +02:00
|
|
|
[![Build Status](https://travis-ci.org/jorisvink/kore.svg?branch=master)](https://travis-ci.org/jorisvink/kore)
|
|
|
|
|
2014-11-07 09:14:53 +01:00
|
|
|
Kore (https://kore.io) is an easy to use web application framework for
|
|
|
|
writing scalable web APIs in C. Its main goals are security, scalability
|
|
|
|
and allowing rapid development and deployment of such APIs.
|
2013-05-01 21:36:00 +02:00
|
|
|
|
2014-11-07 09:14:53 +01:00
|
|
|
Because of this Kore is an ideal candidate for building robust, scalable and secure web things.
|
2013-05-01 21:36:00 +02:00
|
|
|
|
2013-06-05 16:41:42 +02:00
|
|
|
Features
|
2014-03-02 18:16:32 +01:00
|
|
|
--------
|
|
|
|
* Supports SNI
|
2014-08-08 14:48:51 +02:00
|
|
|
* Supports SPDY/3.1
|
2014-03-02 18:16:32 +01:00
|
|
|
* Supports HTTP/1.1
|
2014-11-24 11:11:01 +01:00
|
|
|
* Websocket support
|
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
|
2014-04-17 11:16:37 +02:00
|
|
|
* Built-in asynchronous PostgreSQL support
|
2014-11-07 17:19:41 +01:00
|
|
|
* Default sane TLS ciphersuites (PFS in all major browsers)
|
|
|
|
* Load your web application as a precompiled dynamic library
|
2014-03-02 18:16:32 +01:00
|
|
|
* Modules can be reloaded on-the-fly, even while serving content
|
2014-11-07 17:19:41 +01:00
|
|
|
* Event driven (epoll/kqueue) architecture with per CPU core workers
|
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
|
|
|
|
|
2014-08-26 00:34:29 +02:00
|
|
|
See https://kore.io/doc/#requirements for more information.
|
2014-03-02 18:16:32 +01:00
|
|
|
|
2014-12-12 19:47:51 +01:00
|
|
|
Latest release
|
|
|
|
--------------
|
2015-05-21 15:48:53 +02:00
|
|
|
* [2015-05-21] version 1.2.3 - https://kore.io/release/kore-1.2.3-release.tgz
|
2014-12-12 19:47:51 +01:00
|
|
|
|
|
|
|
Old releases
|
|
|
|
------------
|
2015-05-21 15:48:53 +02:00
|
|
|
* [2015-04-09] version 1.2.2 - https://kore.io/release/kore-1.2.2-release.tgz
|
2015-04-27 10:51:37 +02:00
|
|
|
* [2014-12-12] version 1.2.1 - https://kore.io/release/kore-1.2.1-release.tgz
|
2014-12-12 19:48:31 +01:00
|
|
|
* [2014-08-25] version 1.2 - https://kore.io/release/kore-1.2-stable.tgz
|
|
|
|
* [2014-03-01] version 1.1 - https://kore.io/release/kore-1.1-stable.tgz
|
2014-03-02 18:16:32 +01:00
|
|
|
|
2014-07-03 22:40:12 +02:00
|
|
|
Building Kore
|
|
|
|
-------------
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
* libz
|
2014-10-14 16:16:06 +02:00
|
|
|
* openssl >= 1.0.1i
|
2014-07-03 22:40:12 +02:00
|
|
|
|
2015-04-27 10:51:37 +02:00
|
|
|
Requirements for background tasks (optional)
|
2014-07-03 22:40:12 +02:00
|
|
|
* pthreads
|
|
|
|
|
2015-04-27 10:51:37 +02:00
|
|
|
Requirements for pgsql (optional)
|
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)
|
2015-05-25 15:42:34 +02:00
|
|
|
* NOTLS=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
|
|
|
|
2014-08-03 21:44:14 +02:00
|
|
|
The examples contain a README file with instructions on how
|
|
|
|
to build or use them.
|
2014-07-03 22:40:12 +02:00
|
|
|
|
|
|
|
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
|
|
|
|
2013-06-05 16:41:42 +02:00
|
|
|
More information can be found on https://kore.io/
|