jfesler edited this page Nov 11, 2014 · 4 revisions

Most of the logic for falling-sky is in the client-side JavaScript code. The web server clear has a role to play in delivering that code to the end user.

A critical part of the falling-sky code is on the server side instead of the client. The client requests a simple task from the server - to report the IP address of the client, in a JSONP compatible response.

This web service call is done several times for each end user; so performance of this is important. This is implemented as an Apache module, written in C. This module tripples the performance as compared to running a PHP equivalent. Since is not commercially funded (either via advertising or via sponsors), this performance gain is important.

This module also, on request, will identify the ISP involved for a given request. This is used by the site to show the user which network they are connected to; as well as to help with detecting IPv6 tunnel providers.

Downloading mod_ip

See DownloadOptions for a full list of options.


This shows both grabbing the source using rsync, and the actual build.

   rsync -av "" . --delete
   cd ./mod_ip
   make install  


Something like this should be in your web server config; it should have been placed there automatically with make install. The apache build system would have taken care of that for you. Some platforms, however, do not (such as ubuntu), so you'll need to double check.

LoadModule mod_ip_module      libexec/apache22/


Keep following the full set of installation instructions; but if you want a sneak peek, you can see how we configure mod_ip by reading InstallApacheVirtualHost.