All Projects → Citymonstret → Kvantum

Citymonstret / Kvantum

Licence: Apache-2.0 license
An intellectual (HTTP/HTTPS) web server with support for server side templating (Crush, Apache Velocity and JTwig)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Kvantum

Beetlex
high performance dotnet core socket tcp communication components, support TLS, HTTP, HTTPS, WebSocket, RPC, Redis protocols, custom protocols and 1M connections problem solution
Stars: ✭ 802 (+4617.65%)
Mutual labels:  ssl, webserver, https, http-server
Microwebsrv2
The last Micro Web Server for IoTs (MicroPython) or large servers (CPython), that supports WebSockets, routes, template engine and with really optimized architecture (mem allocations, async I/Os). Ready for ESP32, STM32 on Pyboard, Pycom's chipsets (WiPy, LoPy, ...). Robust, efficient and documented!
Stars: ✭ 295 (+1635.29%)
Mutual labels:  ssl, template-engine, web-server, https
tipi
Tipi - the All-in-one Web Server for Ruby Apps
Stars: ✭ 214 (+1158.82%)
Mutual labels:  ssl, web-server, https, http-server
Fenix
A simple and visual static web server with collaboration features.
Stars: ✭ 1,559 (+9070.59%)
Mutual labels:  ssl, web-server, https, http-server
Qtwebapp
QtWebApp is a HTTP server like Java servlets, written in C++ with the Qt framework.
Stars: ✭ 50 (+194.12%)
Mutual labels:  template-engine, https, http-server
Caddy
Matthew Holt began developing Caddy in 2014 while studying computer science at Brigham Young University. (The name "Caddy" was chosen because this software helps with the tedious, mundane tasks of serving the Web, and is also a single place for multiple things to be organized together.) It soon became the first web server to use HTTPS automatically and by default, and now has hundreds of contributors and has served trillions of HTTPS requests.
Stars: ✭ 35,966 (+211464.71%)
Mutual labels:  web-server, https, http-server
Cheroot
Cheroot is the high-performance, pure-Python HTTP server used by CherryPy. Docs -->
Stars: ✭ 128 (+652.94%)
Mutual labels:  ssl, https, http-server
Octane
A web server modeled after express in Rust.
Stars: ✭ 136 (+700%)
Mutual labels:  webserver, https, http-server
Diamond
Diamond is a full-stack web-framework written in The D Programming Language using vibe.d
Stars: ✭ 173 (+917.65%)
Mutual labels:  template-engine, web-server, webserver
Jetty.project
Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
Stars: ✭ 3,260 (+19076.47%)
Mutual labels:  ssl, https, http-server
Cppserver
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 528 (+3005.88%)
Mutual labels:  ssl, https, http-server
Netcoreserver
Ultra fast and low latency asynchronous socket server & client C# .NET Core library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 799 (+4600%)
Mutual labels:  ssl, https, http-server
Binserve
A blazingly fast static web server with routing, templating, and security in a single binary you can set up with zero code. ⚡️🦀
Stars: ✭ 401 (+2258.82%)
Mutual labels:  web-server, webserver, http-server
stirfry
StirFry is a self contained and lightweight web framework for nodejs
Stars: ✭ 24 (+41.18%)
Mutual labels:  web-server, webserver, http-server
Criollo
A powerful Cocoa web framework and HTTP server for macOS, iOS and tvOS.
Stars: ✭ 229 (+1247.06%)
Mutual labels:  webserver, https, http-server
Merecat
Small and made-easy HTTP/HTTPS server based on Jef Poskanzer's thttpd
Stars: ✭ 69 (+305.88%)
Mutual labels:  ssl, https, http-server
phpkoa
PHP异步编程: 基于 PHP 实(chao)现(xi) NODEJS web框架 KOA。
Stars: ✭ 52 (+205.88%)
Mutual labels:  webserver, http-server, https-server
Libhv
🔥 比libevent、libuv更易用的国产网络库。A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket client/server.
Stars: ✭ 3,355 (+19635.29%)
Mutual labels:  webserver, https, http-server
Telegraph
Secure Web Server for iOS, tvOS and macOS
Stars: ✭ 474 (+2688.24%)
Mutual labels:  ssl, webserver, https
Nico
A HTTP2 web server for reverse proxy and single page application, automatically apply for ssl certificate, Zero-Configuration.
Stars: ✭ 43 (+152.94%)
Mutual labels:  ssl, webserver, http-server

Kvantum

Kvantum

NOTE: The project is currently still in development. Beware - Things will break.

Kvantum is a OSS project maintained by Alexander Söderberg. Kvantum is a web server and web framework written in Java. For support, submit a new issue or email [email protected]

Progress

You can see the current progress here along with W.I.P and TODO's.

Project Stats

Travis CI: Build Status

Description

Kvantum is a web server and framework written in Java, on top of the Netty application framework. Kvantum is written with two main goals in mind: a) to be able to run as a standalone web server, with no extra programming needed, and b) to offer an extensive API, allowing developers to extend Kvantum to fit their needs exactly. The user can choose to either run Kvantum on its own, to create Kvantum extensions (addons) or to ship their application with Kvantum embedded in it.

Kvantum is written for HTTP/HTTPS 1.1 and aims to implement the entire protocol. The web server is written to be non-blocking, and to greatly favour caching over I/O operations.

The Kvantum framework includes many specially written components, that will drastically reduce end user boilerplate code. This includes (but is not limited to): account management, database connections (MySQL, SQLite, MongoDB), template engines (Apache Velocity, JTwig, Crush), REST utilities, search service utilities, etc.

Kvantum can be used as a standalone server for static content, natively serving:

  • HTML
  • CSS
  • JavaScript
  • (Downloading of...) PDF, TXT & ZIP
  • Images (PNG, ICO, SVG)
  • Webjars resources as static files
  • ... and the system can also be extended programmatically, both by extending the application itself, by scripts and by plugins.

Examples

Code examples can be found at this link. There are also some sample projects (may not be up to date): Forum, KvantumBlog, Foton and KvantumBukkit.

Prerequisites

Kvantum only requires Java 10 (or later versions) to be installed on your system.

How to run

Note: These are the instructions to run Kvantum as a standalone web server. If you instead want to use the framework, please refer to the wiki

The easiest way to run Kvantum as a standalone web server is to use a pre-compiled Implementation jar file. These can be found in releases. Simply download the jar file into a directory, and then run it using:

(older versions):

java -jar /path/to/Implementation-all.jar

(newer versions):

java -jar /path/to/Standalone-all.jar

However, if you'd rather call the main method directly, then it is located in KvantumMain

Wiki/Information

More information can be found in our wiki

Development

Code Style

If you are planning to commit any changes to the project, it would be highly appreciated if you were to follow the project code style conventions. To make this easier we have provided settings that can be imported into your IDE.

Eclipse: Window > Preferences > Java > Code Style > Formatter Press Import and select ...path/to/project/code_style.xml

IntelliJ: File > Settings > Editor > Code Style. Next to "Scheme" there is a cog wheel, press that and then Import Scheme > Eclipse XML Profile and then select ..path/to/project/code_style.xml

Maven

<!-- CURRENTLY DOWN! NEW REPOSITORY COMING SOON -->

<repositories>
    <repository>
        <id>Incendo</id>
        <url>https://incendo.org/mvn/repository/maven-releases/</url>
    </repository>
</repositories>

<dependency>
    <groupId>xyz.kvantum</groupId>
    <artifactId>Implementation</artifactId>
    <version>1.3</version>
</dependency>

Building from scratch

On *nix:

$ git clone git://github.com/IntellectualSites/Kvantum.git
$ cd Kvantum
$ chmod a+x ./gradlew
$ ./gradlew :build

Windows:

$ git clone git://github.com/IntellectualSites/Kvantum.git
$ cd Kvantum
$ ./gradlew.bat :build
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].