Simple implementation of an identicon service.
The application takes two optional arguments to specify the location of the config file and the port the application is listening. The following example shows the default values used if no arguments used.
$ idicon -c /etc/idicon/config.toml -p 8000
HTTP GET
is used to request an identicon image.
curl http://localhost:8000/avatar/23463b99b62a72f26ed677cc556c44e8?s=100&c=v2
Instead of requesting identicons for MD5 hashes of usernames or mail addresses, it is possible to use plain username and mail address. This will result in the same generated identicon.
Use request query parameter s
or size
to request images with specified size.
Default value is 80px.
The size is limited to a maximum value of 512px.
Query parameter c
will set color scheme.
Available values are v1
, v2
and gh
.
The latter resembles the color scheme used by GitHub.
The request query parameter d
can be used to request GitHub like patterns by setting the value to github
.
Using query param ct
with value svg
or using request header Accept: image/svg+xml
will generate SVG identicon.
Configuration is available by using a config file or by using environment variables.
If config file /etc/identicon/config.toml
exists, its configuration will be used on application start.
Use application argument -c
to use another file.
$ identicon -c ./config.toml
In addition to configuration for default values, the configuration file can also be used to create specific configs for users.
[defaults] color-scheme = "v2" # Default color scheme [[users]] id = "me@example.com" # The users ID in plain text alias = "42" # The alias to be used, e.g. for mapping users to other IDs color-scheme = "gh" # The color scheme to be used for this user pattern = "github" # The pattern to be used for this user [[users]] ...
User specific settings in config file will override any default settings or request params.
If config file is not present, the application will ignore it. Using environment variables will override default settings.