There are various reasons to prefer web registration instead of “in-band” account registration over XMPP. For example the lack of CAPTCHA support in clients and servers.


mod_register_web has Prosody serve a web page where users can sign up for an account. It implements reCAPTCHA to prevent automated sign-ups (from bots, etc.).


The module is served on Prosody’s default HTTP ports at the path /register_web. More details on configuring HTTP modules in Prosody can be found in our HTTP documentation.

To configure the CAPTCHA you need to supply a ‘captcha_options’ option:

    captcha_options = {
      recaptcha_private_key = "12345";
      recaptcha_public_key = "78901";

The keys for reCAPTCHA are available in your reCAPTCHA account, visit reCAPTCHA for more info.

If no reCaptcha options are set, a simple built in captcha is used.


Copy the files in mod_register_web/templates/ to a new directory. Edit them, and set register_web_template = "/path/to/your/custom-templates" in your config file.


0.10 Works
0.9 Works
0.8 Doesn’t work


Different CAPTCHA implementation support

Collection of additional data, such as email address

The module kept simple!