Total Pageviews

Sunday, 7 April 2013

Mongoose - easy to use web server


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
  • Works on Windows, Mac, UNIX, iPhone, Android, and many other platforms
  • Support for CGI, SSL, SSI, Digest (MD5) authorization, Websocket, WEbDAV
  • Lua server pages (PHP-like functionality using Lua) with SQLite3, see page.lp
  • 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: Mongoose executable size is 64 kB on Linux 2.6 i386 system
  • 320 kilobytes Windows executable with all of the above (including SSL, Lua, Sqlite) and no dependencies
  • Simple and clean embedding API, mongoose.h. The source is in single mongoose.c file to make things easy.
  • HTTP client functionality for embedded usage, capable of sending arbitrary HTTP/HTTPS requests
  • Embedding examples: hello.cpost.cupload.cwebsocket.c
  • User Manual
Questions can be asked at http://groups.google.com/group/mongoose-users mailing list. Project's source code is hosted on GitHub,https://github.com/valenok/mongoose, please go there to file bugs and pull requests.

Keep Sergey happy

I am Sergey Lyubka, a software engineer from Galway, Ireland. I started working on Mongoose in 2004, since then continuously improving it, investing thousands of hours of work. My other project I give to the community for free is Super Light Regular Expression library.
If you feel grateful for the stuff I've done, you can buy me a book from my Amazon wishlist . Many thanks to all who already did so: T.Barmann, D.Hughes, J.C.Sloan, R.Romeo, L.E.Spencer, S.Kotay, R.M.Shorter, W.Mar, J.Wilander and 7 others. Appreciated guys, you keep my brains going! Cash is also welcome. Press a  button to donate. Donation progress: 335/1000 euro (thanks to O.M.Vilhunen, C.Radik, G.Woodcock, M.Szczepkowski, Eternal Lands Dev Team, T.Tollet, C.Tangerino, G.Karsai, A.Bourgett, C.Blakemore, D.Fonaryov, T.Andrle, O.IJsselmuiden, R.Womack, M.Tomlinson, A. Slåttå, L.Farrell, J.D.P.Ballestero)

Commercial Support

http://yaSSL.com provides commercial support for Mongoose on mobile, embedded and RTOS environments. Interested in porting to new platforms, feature addition, application integration, special builds? Talk to yaSSL. They are professional, cool folks, whom I met couple of years ago in Dublin on their way to FOSDEM conference. Maybe some time we'll do business together. Note that Windows and Mac builds of mongoose uses their SSL library. That makes it possible to have a super-compact 140kB executable with SSL, Lua server pages and all other features out-of-the box. To compare, OpenSSL libraries alone are ~1.5 MiB in size.