mirror of
https://github.com/cesanta/mongoose.git
synced 2024-12-27 15:01:03 +08:00
58 lines
2.6 KiB
Markdown
58 lines
2.6 KiB
Markdown
# Project Mission
|
|
|
|
Project mission is to provide simple, functional, embeddable web server to
|
|
make it easy for application and device developers to implement web interface
|
|
for their application and devices, and to offer a simple web development
|
|
environment.
|
|
|
|
# Overview
|
|
|
|
To accomplish it's mission, Mongoose keeps balance on functionality and
|
|
simplicity by carefully selected list of features:
|
|
|
|
- Liberal, commercial-friendly
|
|
[MIT license](http://en.wikipedia.org/wiki/MIT_License)
|
|
- Works on Windows, Mac, UNIX, iPhone, Android, and many other platforms
|
|
- Support for CGI, SSL, SSI, Digest (MD5) authorization, Websocket, WEbDAV
|
|
- Lua server pages with Sqlite, see
|
|
[page.lp](https://github.com/valenok/mongoose/blob/master/test/page.lp)
|
|
-- that provides ready to go, powerful web development platform in
|
|
one single-click-and-it-runs executable
|
|
- Resumed download, URL rewrite, IP-based ACL, Windows service
|
|
- Excluding files from serving by URI pattern (file blacklist)
|
|
- Download speed limit based on client subnet or URI pattern
|
|
- Small footprint: executable size is 50 kB on Linux 2.6 i386 system
|
|
- 130 kilobytes Windows executable with all of the above and no dependencies
|
|
- Simple and clean embedding API,
|
|
[mongoose.h](https://github.com/valenok/mongoose/blob/master/mongoose.h).
|
|
The source is in single
|
|
[mongoose.c](https://github.com/valenok/mongoose/blob/master/mongoose.c) file
|
|
to make things easy
|
|
- Embedding examples:
|
|
[hello.c](https://github.com/valenok/mongoose/blob/master/examples/hello.c),
|
|
[post.c](https://github.com/valenok/mongoose/blob/master/examples/post.c),
|
|
[upload.c](https://github.com/valenok/mongoose/blob/master/examples/upload.c),
|
|
[websocket.c](https://github.com/valenok/mongoose/blob/master/examples/websocket.c)
|
|
- HTTP client functionality for embedded usage, capable of
|
|
sending arbitrary HTTP/HTTPS requests
|
|
- [User Manual](https://github.com/valenok/mongoose/blob/master/UserManual.md)
|
|
|
|
Note that Windows and MacOS binaries have following 3rd party software
|
|
compiled in:
|
|
<a href="http://wolfssl.com">WolfSSL lightweight SSL library</a>,
|
|
<a href="http://sqlite.org">SQLite embedded database</a>,
|
|
<a href="http://lua.org">Lua embedded scripting engine</a>.
|
|
|
|
Questions can be asked at
|
|
[mongoose-users@google.com](http://groups.google.com/group/mongoose-users)
|
|
mailing list.
|
|
|
|
|
|
# Author
|
|
|
|
I am Sergey Lyubka, a software engineer from Galway, Ireland. I started
|
|
working on Mongoose in 2004, and since then continuously improve it,
|
|
investing thousands of hours of work. My other project I'm contributing to the
|
|
community for free is
|
|
[Super Light Regular Expression library](http://code.google.com/p/slre).
|