forked from tastytea/libravatarserv
94 lines
2.6 KiB
Markdown
94 lines
2.6 KiB
Markdown
**libravatarserv** is a simple [libravatar](https://www.libravatar.org/) server.
|
|
It is intended to be used as a
|
|
[CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface) program.
|
|
|
|
Libravatar is a free service and an open specification for hosting profile
|
|
images tied to email or OpenID addresses.
|
|
|
|
## Features
|
|
|
|
* Avatar delivery based on email addresses
|
|
* Default avatar for unknown addresses
|
|
* MD5 hashes
|
|
* SHA256 hashes
|
|
* Variable image size (`s`)
|
|
|
|
### Not supported
|
|
|
|
* Avatar delivery based on OpenID
|
|
* Default URL for missing images (`d`)
|
|
|
|
## Usage
|
|
|
|
Install nginx and
|
|
[fcgiwrap](https://www.nginx.com/resources/wiki/start/topics/examples/fcgiwrap/),
|
|
copy the [example config](https://schlomp.space/tastytea/libravatarserv/src/branch/master/doc/nginx-example.conf) to the nginx configuration directory and edit it
|
|
according to your needs. Other webservers and cgi spawners will also work, of
|
|
course.
|
|
|
|
Add the following DNS records to your nameserver:
|
|
```PLAIN
|
|
_avatars._tcp.example.com. IN SRV 0 0 80 avatars.example.com
|
|
_avatars-sec._tcp.example.com. IN SRV 0 0 443 avatars.example.com
|
|
```
|
|
`_avatars._tcp.example.com` is for HTTP, `_avatars-sec._tcp.example.com` is for
|
|
HTTPS.
|
|
|
|
libravatarserv looks in each of `${XDG_DATA_DIRS}` for a directory named
|
|
`libravatarserv`. You can force a different directory by setting the environment
|
|
variable `${AVATAR_DIR}`.
|
|
|
|
The image files are named like your email address, no file extension. If you
|
|
want to deliver a default image for unknown email addresses, name it `default`.
|
|
|
|
Test your setup on https://www.libravatar.org/tools/check/.
|
|
|
|
### Example
|
|
|
|
The avatar directory could look like this:
|
|
```PLAIN
|
|
/usr/share/libravatarserv
|
|
├── [ 32K] default
|
|
├── [ 759] user@example.com
|
|
└── [ 16] user+newsletter@example.com -> user@example.com
|
|
```
|
|
|
|
## Install
|
|
|
|
### Dependencies
|
|
|
|
* C++ compiler (tested: [gcc](https://gcc.gnu.org/) 7,
|
|
[clang](https://llvm.org/) 6)
|
|
* [cmake](https://cmake.org/) (at least 3.2)
|
|
* [crypto++](https://cryptopp.com) (tested: 7.0)
|
|
* [imagemagick](https://www.imagemagick.org/) (tested: 7.0)
|
|
* [libxdg-basedir](http://repo.or.cz/w/libxdg-basedir.git) (tested: 1.2)
|
|
|
|
### Compile
|
|
|
|
```SH
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
make
|
|
make install
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Contributions are always welcome. You can submit them as pull requests or via
|
|
email to `tastytea`@`tastytea.de`.
|
|
|
|
## Contact
|
|
|
|
See https://tastytea.de/
|
|
|
|
## License & Copyright
|
|
|
|
```PLAIN
|
|
Copyright © 2018 tastytea <tastytea@tastytea.de>.
|
|
License GPLv3: GNU GPL version 3 <https://www.gnu.org/licenses/gpl-3.0.html>.
|
|
This program comes with ABSOLUTELY NO WARRANTY. This is free software,
|
|
and you are welcome to redistribute it under certain conditions.
|
|
```
|