Home

stewy edited this page Jul 10, 2013 · 31 revisions

Platforms

KLone and OpenWRT KLone on Linux KLone on FreeBSD 6.2
How to integrate you KLone web application into the OpenWrt build environment. How to build a KLone app on Linux (should work on any distro) How to build a KLone app on (a rather old) FreeBSD
KLone on NetBSD 4.0 KLone on Windows (MinGW) KLone on Windows (Cygwin)
How to build a KLone app on NetBSD How to build a KLone app on Windows using the MinGW environment How to build a KLone app on Windows using Cygwin
KLone on QNX (Linux host) KLone on QNX (Windows host) KLone and ELDK
How to cross-build KLone for QNX/td> How to build KLone on Windows with QNX dev tools How to cross build KLone using the Embedded Linux Development Kit
KLone on TQM860 board KLone on uClinux
How to run KLone on TQM860 board How to cross build KLone for Linux on Microcontroller and MMU-less devices

HowTos

HTTP/S tour

How to integrate a PKI based on X.509 certificates into KLone (see also https example klapp)

User-provided hooks

How to provide callback functions that get called on particular events (server startup, new requests, etc.)

Using KLone as a normal server

How to setup KLone to serve static files and PHP scripts

File uploads

Simple demo to show how to handle file uploads

Debugging

Useful tips for debugging KLone applications

Login with KLone

How to add a login to Klone applications (see also simple-auth example klapp)

Basic access authentication

How to use the basic access authentication defined in HTTP protocol (download : basic_authentication.zip )

Misc

KLone IRL

Real life examples of software based on KLone

Wishlist

Features you’d like to see in future releases of KLone

Examples

The following is a list of ready-to-be-build examples you can use to bootstrap your project (taking special care because they are only intendended as proof of concept) or to browse through real code to learn by example.

To test each example unpack the klone-app archive in a empty directory and run make.

Minimal ( download )

Minimal KLone-app project

Minimal with support lib ( download )

Minimal KLone-app project with a support library that exports functions called by .kl1 pages

KLapp with intermixed C and C++ code ( download )

Basic KLone-app with .kl1 (C) and .klx (C++) dynamic pages linked to sample C and C++ libraries.

Simple Authentication ( download )

Very simple site with authentication based on session variables and embedded htpasswd-like file

Crypto ( download ) NEW !

Demo webapp to stress test KLone crypto functions (HTTPS, encrypted+embedded file system, and Secure Cookie Sessions) using CyaSSL or OpenSSL toolkits.

Bridge to RFC 3161 ( download )

Minimal TimeStamping client (needs OpenSSL >= 0.9.7)

HTML + Assembly ( download )

Mix HTML with x86 inline assembly: a web interface to the original Bender firmware ! :)

FOX demo ( download )

PIN-toggle AJAX demo for the FoxBoard

FOX vhdl ( download )

Web based tool to program the FPGA of the FOX-VHDL and access its internal registers from the web

PXA-regs GUI ( download )

Web-based implementation of the popular pxaregs tool that lets you read and write to PXA255/270 registers

Simple MVC with Adobe Flex ( download )

KLone provides the Model, while Flex brings the View and Controller components.

Msgchan - Server Push Mode ( download )

This sample applications shows how KLone can be extended to push data from server to client.

Ajax Shopping Cart Example ( download ) NEW !

A shopping cart example which combines usage of Javascript, CSS and AJAX request (note: might need manual refresh).

By Mickael Auger.

Regex-based URL dispatcher based on Kilt module (>= KLone 2.2.0) ( download )

Enabling the Kilt module KLone replies to HTTP requests based on regular expression dispatching table.

Sample LAMP system: Acmezon Book Rating System ( download )

Give your web application a performance boost: Linux + Apache + MySQL + PHP ⇒ Linux + KLone + PostgreSQL + KL1 Mac: should work as is Debian/Ubuntu: postgres depends on libreadline-dev, libz-dev

Note for Cygwin users: to avoid a namespace clash when compiling add the following line to the file ./your-klapp-name/Makefile : CFLAGS += -D__addr_t_defined