{"id":16164150,"url":"https://github.com/tleguern/libravatar.cgi","last_synced_at":"2025-03-18T22:31:22.918Z","repository":{"id":141735109,"uuid":"133696723","full_name":"tleguern/libravatar.cgi","owner":"tleguern","description":"Libravatar server implementation in C","archived":false,"fork":false,"pushed_at":"2022-02-16T06:47:26.000Z","size":110,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T12:45:37.650Z","etag":null,"topics":["libravatar"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tleguern.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-16T16:46:06.000Z","updated_at":"2025-02-11T22:43:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"e3e0bf88-1a82-48b9-be58-2c982bd5c4b6","html_url":"https://github.com/tleguern/libravatar.cgi","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleguern%2Flibravatar.cgi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleguern%2Flibravatar.cgi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleguern%2Flibravatar.cgi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tleguern%2Flibravatar.cgi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tleguern","download_url":"https://codeload.github.com/tleguern/libravatar.cgi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955002,"owners_count":20374367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["libravatar"],"created_at":"2024-10-10T02:45:29.729Z","updated_at":"2025-03-18T22:31:22.913Z","avatar_url":"https://github.com/tleguern.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Libravatar.cgi\n\nSmall Libravatar implementation in C.\n\nWarning: This software is not compatible with rust zealots.\n\n## Contents\n\n1. [Synopsis](#synopsis)\n2. [Install](#install)\n3. [Tests](#tests)\n4. [Contributing](#contributing)\n5. [License](#license)\n\n## Synopsis\n\nlibravatar.cgi is an open source CGI written in C implementing the [Libravatar](https://www.libravatar.org/) protocol. Its goal is to be minimal, secure and [BCHS](https://learnbchs.org/).\n\nThis 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.\n\nTo request an avatar the following steps should be done :\n\n* Create a hash of a lowercased email address using md5 or sha256 ;\n* Call the CGI with a HTTP request on the path `/avatar/$hash`.\n\nA few options are accepted as GET parameters :\n\n* `size`: control the size of the image, must be between 1 and 512 with a default value of 80 ;\n* `default`: `404`, `mm` and `blank` are supported ;\n* `rating`: only kept for compatibility with Gravatar this option does nothing ;\n* `forcedefault`: `y` or `n`.\n\nThe current version is only tested on OpenBSD but builds without errors on FreeBSD and Alpine.\n\n## Install\n\n### Requires\n\n* C compiler ;\n* [kcgi](https://kristaps.bsd.lv/kcgi) ;\n* libpng.\n\n#### For testing\n\n* curl ;\n* sharness ;\n* [pnginfo](https://github.com/Aversiste/pnginfo) (optional).\n\n### Build\n\nConfigure 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).\n\n```\n# mkdir /var/www/htdocs/avatars/\n# cp config/default.png /var/www/htdocs/avatars/\n$ ./configure\n$ make\n# make install\n```\n\n## Tests\n\nRegression 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.\n\n## Contributing\n\nEither send [send GitHub pull requests](https://github.com/Aversiste/libravatar.cgi) or [send patches on SourceHut](https://lists.sr.ht/~tleguern/libravatar-dev).\n\n## License\n\nAll 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](https://github.com/ender672/liboil) project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftleguern%2Flibravatar.cgi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftleguern%2Flibravatar.cgi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftleguern%2Flibravatar.cgi/lists"}