NginX Module to integrate [url removed, login to view] C-Libary - repost

Please refer to the attached PDF 51Degrees Nginx [url removed, login to view] which contains a formatted copy of this project brief.

Required Skills:

1. Nginx

2. C

Project Overview:

This project requires an Nginx Module to be developed which will use [url removed, login to view]’s C-Library ([url removed, login to view]) to determine information regarding a mobile device and then makes this available by defining Fast-CGI parameters. The source data file to use should be defined within the NginX configuration files as should a parameter which determines whether or not the extension should be loaded or not.

The module must run be designed to work on a Ubuntu 12.04 LTS server and Nginx 1.4.1


1. C-Library Lite Source Code - [url removed, login to view]

2. C-Library Premium Source Code – Attached to the Freelance Project as the [url removed, login to view]

3. Official Documentation - [url removed, login to view]

4. C Library Functions - [url removed, login to view]

5. Property Dictionary (the list of all properties) – [url removed, login to view]

6. Data Files: The “pattern” matching method does not require external data files, however the Trie matching method does. The Lite and Premium data files for the Pattern detection method is build into the source code.

a. Trie Lite Data - [url removed, login to view]

b. Trie Premium Data– Not Available

Project Brief:

1. The module must support all of the [url removed, login to view] Premium Data properties. Where the properties return a list / array of values, these should be joined together as a delimited string where | should be the delimiter to use.

2. The module should support both the “Pattern” and “Trie” detection methods (please see the [url removed, login to view] file within the [url removed, login to view] file).

3. The location of the data file used by the Trie detection method should be defined within the Nginx configuration settings

4. The “Detection Method” to use (pattern or trie) should be defined within the Nginx configuration settings

5. The device properties should be assigned to variables which can then be addressed within the NginX configuration files such as to assign them to as Fast CGI parameters. All Device Properties should be assigned to variables that start with the prefix of ‘fiftyonedegrees_’.

E.G the Device Property ‘BitsPerPixel’ (see [url removed, login to view]) should assigned to the Nginx variable $fiftyonedegrees_bitsperpixel which would then allow this variable to be assigned as a Fast-CGI parameter by adding the following line to the NginX Fast CGI Configuration File

fastcgi_param FIFTYONEDEGREES_BITSPERPIXEL $fiftyonedegrees_bitsperpixel;

NginX Configuration File Example

Below you will find an example of how we would expect to set the configuration settings for the module within an NginX configuration file.


# [url removed, login to view] Config


fiftyonedegrees on;

#fiftyonedegrees_detection_method pattern;

fiftyonedegrees_detection_method trie;

fiftyonedegrees_data /usr/share/51degrees/data/[url removed, login to view];

## Examples of how the Fast CGI parameters should be set

fastcgi_param FIFTYONEDEGREES_BITSPERPIXEL $fiftyonedegrees_bitsperpixel;

fastcgi_param FIFTYONEDEGREES_HARDWAREMODEL $fiftyonedegrees_hardwaremodel;

fastcgi_param FIFTYONEDEGREES_HARDWAREVENDOR $fiftyonedegrees_hardwarevendor;

What You Will Provide

You will provide full the full working source code for the module, documentation of the NginX Library, example Nginx settings, an installation and a bash script that will build both the 51Degrees C-library as well as the Nginx Module.

What We Will Provide

We will provide links to all 51Degree Documentation, links to the Lite data file and a zip archive containing the Premium C-library

Habilidades: Programação C, Linux, Nginx

Veja mais: nginx mobi, working overview freelance, where to start programming, where to freelance, where to find programming projects, where to find freelance work, where to find freelance projects, where to find freelance programming work, where to code for freelance, what is string matching, what is a trie, what does freelance, ubuntu programming, trie s, trie on, trie example, trie dictionary, trie data, trie code, trie c code, to work as a freelance, the trie, string prefix, string pattern matching, string pattern

Acerca do Empregador:
( 1 comentário ) London, United Kingdom

ID do Projeto: #5091706

Concedido a:


Hi. I have experience with nginx native modules (here, on freelancer, participated in ddos-filtering project). My test and development systems are ready to process.

$222 USD em 3 dias
(4 Comentários)

5 freelancers estão ofertando em média $422 para esse trabalho


A proposal has not yet been provided

$500 USD in 14 dias
(9 Comentários)

Hi, thanks for your trust. Now I am a bit busy now. I need more time to finish it. If your project is not so urgent , I can help you!

$255 USD in 15 dias
(3 Comentários)

Hello, I'm highly skilled Linux system developer. I have more that 12 years of developing high-available, multi-threaded, high-performance Linux server-side network applications. I'm a maintainer and active develope Mais

$800 USD in 7 dias
(1 Comentário)

Hi, I have in-depth knowledge with nginx modules and configurations. Configured a dozen of apps on Amazon EC2 with nginx. Your project seems interesting as well as challenging. Lets discuss. Looking forward to Mais

$333 USD in 25 dias
(0 Comentários)