Small Libravatar implementation in C.
This implementation only serves existing avatars in the PNG format located in
/var/www/htdocs/avatars and does not provide any way to upload a file. This should be the responsability of a separate system.
To request an avatar the following steps should be done :
- Create a hash of a lowercased email address using md5 or sha1 ;
- Call the CGI with a HTTP request on the path
A few options are accepted as GET parameters :
- size: control the size of the image, must be between 1 and 512 with a default value of 80 ;
blankare supported ;
- rating: only kept for compatibility with Gravatar this option does nothing ;
The current version is not portable and only runs on OpenBSD.
- C compiler ;
- kcgi ;
Configure your http server of choice to receive this CGI. An example and minimalistic configuration file is provided in the
config/ folder for OpenBSD httpd(8).
# mkdir /var/www/htdocs/avatars/ # cp config/mm.png /var/www/htdocs/avatars/ # cp config/default.png /var/www/htdocs/avatars/ $ make # make install
Although the code is not portable yet the Makefile is and should work with GNU make.
Basic regression tests are provided in the
regress/ folder. They test this implementation and two others: the official Libravatar and ivatar.
All sources use the ISC license excepts
pngscale.c which use the MIT license. These files are sourced from the liboil project.