Go to file
Joris Vink 3741e8ca3f Merge pull request #20 from jturner/openbsd-fix
Add required header for proper OpenBSD checking
2014-10-01 21:59:22 +02:00
conf Move the default pid file to kore.pid instead of /var/run/kore.pid 2014-08-05 13:10:34 +02:00
examples Set idle_timer.length in ktunnel to a high number. 2014-09-29 14:47:01 +02:00
includes Add kore_pgsql_getlength() which will return length of a column. 2014-09-28 23:03:49 +02:00
src Add required header for proper OpenBSD checking 2014-10-01 13:08:38 -04:00
.gitignore Ignore DSYM on osx 2014-04-12 18:49:32 +02:00
LICENSE Keep on hackin' Keep on hackin' 2014-04-24 11:18:40 +02:00
Makefile When compiling with PGSQL, note the include dir for "kore build" 2014-08-03 17:33:40 +02:00
README.md bump to 1.2-current and link to tarball 2014-08-26 00:34:29 +02:00

README.md

About

Kore (https://kore.io) is an ultra fast web server / framework for web 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.

Kore is an ideal candidate for developing robust, fast and safe web applications.

Features

  • Supports SNI
  • Supports SPDY/3.1
  • Supports HTTP/1.1
  • Lightweight background tasks
  • Built-in parameter validation
  • Only HTTPS connections allowed
  • Multiple modules can be loaded at once
  • Built-in asynchronous PostgreSQL support
  • Load your web application as a precompiled C library
  • Modules can be reloaded on-the-fly, even while serving content
  • Event driven (epoll/kqueue) architecture with per CPU core worker processes

License

  • Kore is licensed under the ISC license

Platforms supported

  • Linux
  • OpenBSD
  • FreeBSD
  • OSX

See https://kore.io/doc/#requirements for more information.

Releases

Building Kore

Requirements

  • libz
  • openssl >= 1.0.1g

Requirements for background tasks

  • pthreads

Requirements for pgsql

  • 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)
  • BENCHMARK=1 (compiles Kore without OpenSSL)
  • KORE_PEDANTIC_MALLOC=1 (zero all allocated memory)

Example libraries

You can find example libraries under examples/.

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

I apologize for unclear examples or documentation, I am working on improving those.

Bugs, contributions and more

If you run into any bugs, have suggestions or patches please contact me at joris@coders.se.

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