Perl CGI web interface for Prosody XMPP account registration with basic CAPTCHA and automated Prosody user creation based in prosodyctl.
| cgi-bin | ||
| img | ||
| config.pl | ||
| index.html | ||
| README.md | ||
| register.html | ||
| styles.css | ||
XMPP Web Registration
A simple web-based registration system for a Prosody XMPP server. It allows users to create XMPP accounts via a web form with:
- Username & domain selection
- Password & confirmation
- CAPTCHA verification to prevent bots
Backend implemented in Perl using:
CGIfor handling web requestsAuthen::Captchafor CAPTCHA generation & validationExpectto automateprosodyctl adduser
Includes front-end HTML/CSS pages for registration and error handling.
Requirements
- Prosody XMPP server
- Perl modules:
CGI,Authen::Captcha,Expect doasfor privilege escalation (orsudo)
doas configuration
Add the following line to doas.conf to allow the web server user to create XMPP
accounts without a password:
permit nopass www as root cmd /usr/local/bin/prosodyctl
Usage
- Configure
config.plwith valid domains. - Serve the HTML/CSS files and CGI scripts via a web server.
- Users can register XMPP accounts securely through the web interface.
