tleguern / libravatar.cgi

Libravatar server implementation in C
6 stars 2 forks source link
libravatar

Libravatar.cgi

Small Libravatar implementation in C.

Warning: This software is not compatible with rust zealots.

Contents

  1. Synopsis
  2. Install
  3. Tests
  4. Contributing
  5. License

Synopsis

libravatar.cgi is an open source CGI written in C implementing the Libravatar protocol. Its goal is to be minimal, secure and BCHS.

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 :

A few options are accepted as GET parameters :

The current version is only tested on OpenBSD but builds without errors on FreeBSD and Alpine.

Install

Requires

For testing

Build

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/default.png /var/www/htdocs/avatars/
$ ./configure
$ make
# make install

Tests

Regression tests are provided in the regress/ folder. They test this implementation and two others: the old Libravatar from Francois Marier and ivatar from Oliver Falk.

Contributing

Either send send GitHub pull requests or send patches on SourceHut.

License

All sources use the ISC license excepts oil_libpng.{c,h}, and oil_resample.{c,h} which use the MIT license. These files are sourced from the liboil project.