An objective-c wrapper for embedding the mongoose http web server in iPhone apps
C Objective-C



MongooseDaemon is an objective C wrapper around the embedable mongoose http server for iPhone development. It is offered under a BSD style license.

MongooseDaemon is ideal for both embedded http services as well as simply debugging your iPhone applications file structure.

Mongoose is a lightweight embedable http server written by Sergey Lyubka and offered under a BSD style license. More information on mongoose can be found at the project's site here:

NOTE: The mongoose.h and mongoose.c are taken directly from mongoose-2.6 and are unmodified. They are simply forked in this package for convenience and stability.


Clone the mongoose directory and add it to your X-Code project.

Then you can start it within one of you classes to provide http access to your iPhone application.

For example, to start MongooseDaemon when your application starts on port 8080:

Add the following to MyAppDelegate.h:

#import "MongooseDaemon.h"
@class MongooseDaemon

@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
  MongooseDaemon    *mongooseDaemon;

And add the following to MyAppDelegate.m:

@implementation LightyAppDelegate
- (void)applicationDidFinishLaunching:(UIApplication *)application {
mongooseDaemon = [[MongooseDaemon alloc] init];
[mongooseDaemon startMongooseDaemon:@"8080"];

- (void)dealloc {
  [mongooseDaemon stopMongooseDaemon];
  [mongooseDaemon release];

And that's it…an embeded http server with only about 9 lines of code!


1) Add a helper method to return the server's URL for convience

2) Add support for some of mongoose's rich feature set.

3) Investigate if there is anyway to server files over endge/3g instead of just WiFi.

Copyright © 2008 Rama McIntosh Released under the BSD license found in the file LICENSE