Email verification web server for Atheme IRC services
curite allows users to verify their email addresses by clicking a link in the verification email.
It accepts HTTP requests over a Unix socket (which requires a reverse proxy to sit between it and the internet)
and processes them using Atheme's XMLRPC interface.
The included configuration and Tera templates are used for Libera.Chat, but they can be adapted for any IRC network using Atheme services.
-
listen: The path to the Unix socket thatcuritewill listen on. -
xmlrpc: The URL of Atheme's XMLRPC endpoint. -
templates: A glob indicating where to find templates for the verification page. -
verify: URLs related to verification. Requires the following values:success: The URL to redirect to upon successful verification.failure: The URL to redirect to upon failed verification.target: Provided to templates as the link toPOSTto in order to verify one's account.curitecurrently requires this link to end with/verify/{{account}}/{{token}}.
-
validation: Regexes to validate fragments of the validation URL. Requires the following values:account: A regex to validate account names.token: A regex to validate the verification token.
The templates can be reloaded by sending SIGHUP to a running instance of curite.
The following variables are provided to templates:
{{account}}: The account name being verified.{{token}}: The verification token.{{target}}: The link toPOSTto in order to verify one's account, as specified in the config.
curite does not currently support any form of human verification.
As a result, links to its pages should not be provided directly to the user over IRC.
It should be noted that Atheme's XMLRPC interface is extremely powerful and must not be directly exposed to the internet.
tera/builtins: Tera's built-in functions
are disabled by default under the assumption that they're unlikely to be needed.
Enable this feature flag to re-enable them.