uberspace_vpasswd
is a very simple Flask
application that allows a user to change the password of her
Uberspace email account via a web form.
This avoids the necessity of shell access to change the password directly.
The server side validates the provided password against the configured IMAP
server and sets the new password through the vpasswd
binary.
-
SSH into your account
-
Checkout the project
$ cd /var/www/virtual/$USER/ $ git clone https://github.com/0x64746b/uberspace_vpasswd.git $ cd uberspace_vpasswd
-
Adjust the
config.py
- Configure the domain of the email accounts
- Configure the IMAP server
- Configure your Uberspace user name
- Generate 2 strong secrets to derive session keys and CSRF nonces from
-
Create a
fcgi
file-
Copy the provided
vpasswd.fcgi.template
$ cp vpasswd.fcgi.template ../fcgi-bin/vpasswd.fcgi $ cd ../fcgi-bin/
-
Adjust the
fcgi
file- Configure the path to your
python
binary - Configure the path to the project checkout
- Configure the path to your
-
The web form is now reachable under http://<YOUR DOMAIN>/fcgi-bin/vpasswd.fcgi/.
Mind the trailing /
, which is the path passed to the web app.
See the Uberspace documentation for how to beautify that URL. Just remember to put the redirect rule before any generic catch alls that might already exist ;)